Data Monitoring / PostgreSQL Monitoring
PostgreSQL: Active session triage
A PostgreSQL application slows while the database remains reachable. Inspect pg_stat_activity with state, wait event, query start and application identity.
Environment and inputs: PostgreSQL 18 documentation baseline; views, extensions and permissions vary across versions and managed services.
Failure scenario
A PostgreSQL application slows while the database remains reachable. Confirm the cause before choosing a fix.
Evidence to collect
Inspect pg_stat_activity with state, wait event, query start and application identity. Record the time, affected scope and a healthy comparison interval.
Worked diagnostic example
Read-only PostgreSQL activity snapshot; query visibility depends on role permissions.
SELECT pid, application_name, state, wait_event_type, wait_event,
query_start, xact_start
FROM pg_stat_activity
WHERE datname = current_database()
AND pid <> pg_backend_pid();
Fix the confirmed cause
Separate active computation, waiting and idle sessions before selecting a corrective action. Write the expected result first. Change one relevant setting at a time.
Check the result and hand over
Repeat the check for active session triage using the same scope and a representative interval. Check that the symptom is resolved, expected records are present and downstream results are correct. If coverage, correctness or latency worsens, restore the recorded configuration through the agreed rollback process.
Scope and precautions
Prefer read-only access and limit queries to the relevant period or dataset. This example has not been tested on your systems. Test changes in an approved environment. Keep credentials and sensitive data out of shared evidence.