mirror of
https://github.com/postgres/postgres.git
synced 2025-10-24 01:29:19 +03:00
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
This commit is contained in:
@@ -71,7 +71,7 @@ typedef struct LogicalRepWorker
|
||||
* PID of leader apply worker if this slot is used for a parallel apply
|
||||
* worker, InvalidPid otherwise.
|
||||
*/
|
||||
pid_t apply_leader_pid;
|
||||
pid_t leader_pid;
|
||||
|
||||
/* Indicates whether apply can be performed in parallel. */
|
||||
bool parallel_apply;
|
||||
@@ -303,7 +303,7 @@ extern void pa_decr_and_wait_stream_block(void);
|
||||
extern void pa_xact_finish(ParallelApplyWorkerInfo *winfo,
|
||||
XLogRecPtr remote_lsn);
|
||||
|
||||
#define isParallelApplyWorker(worker) ((worker)->apply_leader_pid != InvalidPid)
|
||||
#define isParallelApplyWorker(worker) ((worker)->leader_pid != InvalidPid)
|
||||
|
||||
static inline bool
|
||||
am_tablesync_worker(void)
|
||||
|
||||
Reference in New Issue
Block a user