Sorry, the pg_stat_activity sql was executed from a session connecting to a wrong postgresql. It DOES show in the view, and the wait event is SyncRep.
postgres=# select * from pg_stat_activity where application_name='psql' and datname='example'; -[ RECORD 1 ]----+-------------------------------------- .... wait_event_type | IPC wait_event | SyncRep state | active .... On Tue, Jan 31, 2023 at 3:35 PM qihua wu <staywith...@gmail.com> wrote: > 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) >