Re: primary_conninfo missing from pg_stat_wal_receiver
Alvaro Herrera <alvherre@2ndquadrant.com>
From: Alvaro Herrera <alvherre@2ndquadrant.com>
To: Fujii Masao <masao.fujii@gmail.com>
Cc: Michael Paquier <michael.paquier@gmail.com>, Stephen Frost <sfrost@snowman.net>, Tom Lane <tgl@sss.pgh.pa.us>, Tatsuo Ishii <ishii@postgresql.org>, Vik Fearing <vik@2ndquadrant.fr>, PostgreSQL mailing lists <pgsql-hackers@postgresql.org>
Date: 2016-06-29T18:17:50Z
Lists: pgsql-hackers
Attachments
- wal-receiver-conninfo-v5.patch (text/x-diff) patch v5
Fujii Masao wrote: > On Thu, Jun 30, 2016 at 2:50 AM, Alvaro Herrera > <alvherre@2ndquadrant.com> wrote: > > Fujii Masao wrote: > >> On Wed, Jun 29, 2016 at 12:23 PM, Alvaro Herrera > >> <alvherre@2ndquadrant.com> wrote: > >> > Michael Paquier wrote: > >> >> On Wed, Jun 29, 2016 at 6:42 AM, Alvaro Herrera > >> >> <alvherre@2ndquadrant.com> wrote: > >> > > >> >> > I have already edited the patch following some of these ideas. Will > >> >> > post a new version later. > >> >> > >> >> Cool, thanks. > >> > > >> > Here it is. I found it was annoying to maintain the function return > >> > tupdesc in two places (pg_proc.h and the function code itself), so I > >> > changed that too. > >> > >> ISTM that pg_stat_wal_receiver can return the security-sensitive fields > >> if it's viewed before walreceiver overwrites the conninfo in the shared memory > >> with the obfuscated one. > > > > Hmm, ouch. Maybe we can set a flag once the conninfo has been > > obfuscated, and put the function to sleep until the flag is set. > > Or what about making walreceiver instead of startup process read > primary_conninfo from the file? Yeah, that sounds smart. I'm not sure it's a good fit for 9.6; what I propose can be implemented in 10 lines, attached (wherein I also adopted Michael's suggestion to get rid of the extra whitespace) I propose to push this patch, closing the open item, and you can rework on top -- I suppose you would completely remove the original conninfo from shared memory and instead only copy the obfuscated version there (and probably also remove the ready_to_display flag). I think we'd need to see the patch before deciding whether we want it in 9.6 or not, keeping in mind that having the conninfo in shared memory is a pre-existing problem, unrelated to the pgstats view new in 9.6. -- Álvaro Herrera http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Commits
-
Add conninfo to pg_stat_wal_receiver
- 9ed551e0a4fd 9.6.0 landed
-
Only show pg_stat_replication details to superusers
- f88a638199d8 9.1.0 cited