mirror of
https://github.com/postgres/postgres.git
synced 2025-10-29 22:49:41 +03:00
Enhance pg_stat_wal_receiver view to display host and port of sender server.
Previously there was no way in the standby side to find out the host and port of the sender server that the walreceiver was currently connected to when multiple hosts and ports were specified in primary_conninfo. For that purpose, this patch adds sender_host and sender_port columns into pg_stat_wal_receiver view. They report the host and port that the active replication connection currently uses. Bump catalog version. Author: Haribabu Kommi Reviewed-by: Michael Paquier and me Discussion: https://postgr.es/m/CAJrrPGcV_aq8=cdqkFhVDJKEnDQ70yRTTdY9RODzMnXNrCz2Ow@mail.gmail.com
This commit is contained in:
@@ -53,6 +53,6 @@
|
||||
*/
|
||||
|
||||
/* yyyymmddN */
|
||||
#define CATALOG_VERSION_NO 201803291
|
||||
#define CATALOG_VERSION_NO 201803311
|
||||
|
||||
#endif
|
||||
|
||||
@@ -2919,7 +2919,7 @@ DATA(insert OID = 3318 ( pg_stat_get_progress_info PGNSP PGUID 12 1 100 0 0
|
||||
DESCR("statistics: information about progress of backends running maintenance command");
|
||||
DATA(insert OID = 3099 ( pg_stat_get_wal_senders PGNSP PGUID 12 1 10 0 0 f f f f t s r 0 0 2249 "" "{23,25,3220,3220,3220,3220,1186,1186,1186,23,25}" "{o,o,o,o,o,o,o,o,o,o,o}" "{pid,state,sent_lsn,write_lsn,flush_lsn,replay_lsn,write_lag,flush_lag,replay_lag,sync_priority,sync_state}" _null_ _null_ pg_stat_get_wal_senders _null_ _null_ _null_ ));
|
||||
DESCR("statistics: information about currently active replication");
|
||||
DATA(insert OID = 3317 ( pg_stat_get_wal_receiver PGNSP PGUID 12 1 0 0 0 f f f f f s r 0 0 2249 "" "{23,25,3220,23,3220,23,1184,1184,3220,1184,25,25}" "{o,o,o,o,o,o,o,o,o,o,o,o}" "{pid,status,receive_start_lsn,receive_start_tli,received_lsn,received_tli,last_msg_send_time,last_msg_receipt_time,latest_end_lsn,latest_end_time,slot_name,conninfo}" _null_ _null_ pg_stat_get_wal_receiver _null_ _null_ _null_ ));
|
||||
DATA(insert OID = 3317 ( pg_stat_get_wal_receiver PGNSP PGUID 12 1 0 0 0 f f f f f s r 0 0 2249 "" "{23,25,3220,23,3220,23,1184,1184,3220,1184,25,25,23,25}" "{o,o,o,o,o,o,o,o,o,o,o,o,o,o}" "{pid,status,receive_start_lsn,receive_start_tli,received_lsn,received_tli,last_msg_send_time,last_msg_receipt_time,latest_end_lsn,latest_end_time,slot_name,sender_host,sender_port,conninfo}" _null_ _null_ pg_stat_get_wal_receiver _null_ _null_ _null_ ));
|
||||
DESCR("statistics: information about WAL receiver");
|
||||
DATA(insert OID = 6118 ( pg_stat_get_subscription PGNSP PGUID 12 1 0 0 0 f f f f f s r 1 0 2249 "26" "{26,26,26,23,3220,1184,1184,3220,1184}" "{i,o,o,o,o,o,o,o,o}" "{subid,subid,relid,pid,received_lsn,last_msg_send_time,last_msg_receipt_time,latest_end_lsn,latest_end_time}" _null_ _null_ pg_stat_get_subscription _null_ _null_ _null_ ));
|
||||
DESCR("statistics: information about subscription");
|
||||
|
||||
@@ -108,6 +108,13 @@ typedef struct
|
||||
*/
|
||||
char conninfo[MAXCONNINFO];
|
||||
|
||||
/*
|
||||
* Host name (this can be a host name, an IP address, or a directory
|
||||
* path) and port number of the active replication connection.
|
||||
*/
|
||||
char sender_host[NI_MAXHOST];
|
||||
int sender_port;
|
||||
|
||||
/*
|
||||
* replication slot name; is also used for walreceiver to connect with the
|
||||
* primary
|
||||
@@ -197,6 +204,9 @@ typedef WalReceiverConn *(*walrcv_connect_fn) (const char *conninfo, bool logica
|
||||
char **err);
|
||||
typedef void (*walrcv_check_conninfo_fn) (const char *conninfo);
|
||||
typedef char *(*walrcv_get_conninfo_fn) (WalReceiverConn *conn);
|
||||
typedef void (*walrcv_get_senderinfo_fn) (WalReceiverConn *conn,
|
||||
char **sender_host,
|
||||
int *sender_port);
|
||||
typedef char *(*walrcv_identify_system_fn) (WalReceiverConn *conn,
|
||||
TimeLineID *primary_tli,
|
||||
int *server_version);
|
||||
@@ -227,6 +237,7 @@ typedef struct WalReceiverFunctionsType
|
||||
walrcv_connect_fn walrcv_connect;
|
||||
walrcv_check_conninfo_fn walrcv_check_conninfo;
|
||||
walrcv_get_conninfo_fn walrcv_get_conninfo;
|
||||
walrcv_get_senderinfo_fn walrcv_get_senderinfo;
|
||||
walrcv_identify_system_fn walrcv_identify_system;
|
||||
walrcv_readtimelinehistoryfile_fn walrcv_readtimelinehistoryfile;
|
||||
walrcv_startstreaming_fn walrcv_startstreaming;
|
||||
@@ -246,6 +257,8 @@ extern PGDLLIMPORT WalReceiverFunctionsType *WalReceiverFunctions;
|
||||
WalReceiverFunctions->walrcv_check_conninfo(conninfo)
|
||||
#define walrcv_get_conninfo(conn) \
|
||||
WalReceiverFunctions->walrcv_get_conninfo(conn)
|
||||
#define walrcv_get_senderinfo(conn, sender_host, sender_port) \
|
||||
WalReceiverFunctions->walrcv_get_senderinfo(conn, sender_host, sender_port)
|
||||
#define walrcv_identify_system(conn, primary_tli, server_version) \
|
||||
WalReceiverFunctions->walrcv_identify_system(conn, primary_tli, server_version)
|
||||
#define walrcv_readtimelinehistoryfile(conn, tli, filename, content, size) \
|
||||
|
||||
Reference in New Issue
Block a user