Re: Enhance pg_stat_wal_receiver view to display connected host - Mailing list pgsql-hackers

From Haribabu Kommi
Subject Re: Enhance pg_stat_wal_receiver view to display connected host
Date
Msg-id CAJrrPGe=e3CfUshx1r0PXe+HwkpUsgG5M=REGxfym+Zds8am8Q@mail.gmail.com
Whole thread Raw
In response to Re: Enhance pg_stat_wal_receiver view to display connected host  (Alvaro Herrera <alvherre@alvh.no-ip.org>)
Responses Re: Enhance pg_stat_wal_receiver view to display connected host
List pgsql-hackers


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
Attachment

pgsql-hackers by date:

Previous
From: Thomas Munro
Date:
Subject: Re: Condition variable live lock
Next
From: Thomas Munro
Date:
Subject: Re: heads up: Fix for intel hardware bug will lead to performance regressions