Re: Enhance pg_stat_wal_receiver view to display connected host
Haribabu Kommi <kommi.haribabu@gmail.com>
From: Haribabu Kommi <kommi.haribabu@gmail.com>
To: Alvaro Herrera <alvherre@alvh.no-ip.org>
Cc: Michael Paquier <michael.paquier@gmail.com>,
Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2018-01-08T04:32:10Z
Lists: pgsql-hackers
Attachments
- 0002-Effective-conninfo-column-addtion-to-pg_stat_wal_rec.patch (application/octet-stream) patch 0002
- 0001-Addition-of-new-libpq-API-PQeffectiveconninfo.patch (application/octet-stream) patch 0001
On Fri, Jan 5, 2018 at 11:15 PM, Alvaro Herrera <alvherre@alvh.no-ip.org> wrote: > Haribabu Kommi wrote: > > > or > > > > write two new functions PQconnhost() and PQconnhostaddr() to return the > > connected host and hostaddr and reuse the PQport() function. > > How about using an API similar to PQconninfo, where we return an array > of connection options used? Say, PQeffectiveConninfo(). This seems to > me to reduce ugliness in the API, and be more generally useful. > OK. Added the new API PQeffectiveConninfo() that returns all the connection options that are actively used. Currently the connection options host, hostaddr and port may change based on the active connection and rest of the options may be same. walrecvr could display as an array or just flatten to a string -- not > sure what's the better option there. Currently I went with a string model to display all the effective_conninfo options. I feel if we go with string approach, adding a new option that gets updated in future is simple. postgres=# select conninfo, effective_conninfo from pg_stat_wal_receiver; -[ RECORD 1 ]------+---------------------------------------------------- ------------------------------------------------------------ ------------------------------------------------------------ ------------------------------------------------- conninfo | user=kommih passfile=/home/kommih/.pgpass dbname=replication hostaddr=127.0.0.1,127.0.0.1 port=5434,5432 application_name=s2 fallback_application_name=walreceiver sslmode=disable sslcompression=1 target_session_attrs=any effective_conninfo | user=kommih passfile=/home/kommih/.pgpass dbname=replication hostaddr=127.0.0.1 port=5432 application_name=s2 fallback_application_name=walreceiver sslmode=disable sslcompression=1 target_session_attrs=any Majority of the options are same in both conninfo and effective_conninfo columns. Instead of "effective_conninfo" column, how about something like "remote_server" as string that displays only the host, hostaddr and port options that differs with each connection? Current set of patches are attached. Regards, Hari Babu Fujitsu Australia
Commits
-
Enhance pg_stat_wal_receiver view to display host and port of sender server.
- 9a895462d940 11.0 landed
-
Allow multiple hostaddrs to go with multiple hostnames.
- 7b02ba62e9ff 10.0 cited
-
libpq: Fix inadvertent change in PQhost() behavior.
- 11003eb55658 10.0 cited
-
libpq: Allow connection strings and URIs to specify multiple hosts.
- 274bb2b3857c 10.0 cited