We are using sync replication, if a session runs an insert, and then commit, the client is actually waiting for commit to complete, but looks like this wait doesn't show in pg_stat_activity.
In one session I inserted a row (auto commit), it hangs there. example=# insert into test_timteout select '1'; ^CCancel request sent WARNING: canceling wait for synchronous replication due to user request DETAIL: The transaction has already committed locally, but might not have been replicated to the standby. INSERT 0 1 example=# select pg_backend_pid(); pg_backend_pid ---------------- 19325 (1 row) During the hung period. postgres=# select * from pg_stat_activity where pid=19325; (0 rows) postgres=# If there is no event for such commit, anyway to find out such session which pending on commit(sync replication)