Display the leader apply worker's PID for parallel apply workers.
authorAmit Kapila <akapila@postgresql.org>
Wed, 18 Jan 2023 03:33:12 +0000 (09:03 +0530)
committerAmit Kapila <akapila@postgresql.org>
Wed, 18 Jan 2023 03:33:12 +0000 (09:03 +0530)
commitd540a02a724b9643205abce8c5644a0f0908f6e3
treebb5103b31bfcbfb162bb1544c3e4766d66d13780
parent14bdb3f13de16523609d838b725540af5e23ddd3
Display the leader apply worker's PID for parallel apply workers.

Add leader_pid to pg_stat_subscription. leader_pid is the process ID of
the leader apply worker if this process is a parallel apply worker. If
this field is NULL, it indicates that the process is a leader apply
worker or a synchronization worker. The new column makes it easier to
distinguish parallel apply workers from other kinds of workers and helps
to identify the leader for the parallel workers corresponding to a
particular subscription.

Additionally, update the leader_pid column in pg_stat_activity as well to
display the PID of the leader apply worker for parallel apply workers.

Author: Hou Zhijie
Reviewed-by: Peter Smith, Sawada Masahiko, Amit Kapila, Shveta Mallik
Discussion: https://postgr.es/m/CAA4eK1+wyN6zpaHUkCLorEWNx75MG0xhMwcFhvjqm2KURZEAGw@mail.gmail.com
doc/src/sgml/logical-replication.sgml
doc/src/sgml/monitoring.sgml
src/backend/catalog/system_views.sql
src/backend/replication/logical/applyparallelworker.c
src/backend/replication/logical/launcher.c
src/backend/utils/adt/pgstatfuncs.c
src/include/catalog/catversion.h
src/include/catalog/pg_proc.dat
src/include/replication/logicallauncher.h
src/include/replication/worker_internal.h
src/test/regress/expected/rules.out