pgsql: Make walsenders show their replication commands in pg_stat_activ

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Make walsenders show their replication commands in pg_stat_activ
Date: 2020-09-14 16:35:08
Message-ID: E1kHrRc-00054R-Nw@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Make walsenders show their replication commands in pg_stat_activity.

A walsender process that has executed a SQL command left the text of
that command in pg_stat_activity.query indefinitely, which is quite
confusing if it's in RUNNING state but not doing that query. An easy
and useful fix is to treat replication commands as if they were SQL
queries, and show them in pg_stat_activity according to the same rules
as for regular queries. While we're at it, it seems also sensible to
set debug_query_string, allowing error logging and debugging to see
the replication command.

While here, clean up assorted silliness in exec_replication_command:

* The SQLCmd path failed to restore CurrentMemoryContext to the caller's
value, and failed to delete the temp context created in this routine.
It's only through great good fortune that these oversights did not
result in long-term memory leaks or other problems. It seems cleaner
to code SQLCmd as a separate early-exit path, so do it like that.

* Remove useless duplicate call of SnapBuildClearExportedSnapshot().

* replication_scanner_finish() was never called.

None of those things are significant enough to merit a backpatch,
so this is for HEAD only.

Discussion: https://postgr.es/m/880181.1600026471@sss.pgh.pa.us

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/f560209c6e99e000f3f6c972f34f1d9dc3857f25

Modified Files
--------------
src/backend/replication/walsender.c | 62 ++++++++++++++++++++-----------------
1 file changed, 34 insertions(+), 28 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Jonathan S. Katz 2020-09-14 16:57:48 Re: pgsql: Doc: fill in "major enhancements" list in v13 release notes.
Previous Message Andrew Dunstan 2020-09-14 15:54:30 Re: pgsql: Doc: fill in "major enhancements" list in v13 release notes.