Re: exposing pg_controldata and pg_config as functions - Mailing list pgsql-hackers

From Robert Haas
Subject Re: exposing pg_controldata and pg_config as functions
Date
Msg-id CA+TgmoYH0Fxn062+cOe=+T9cPjc5-t1b-wxTBtSHuYmJm_wyPw@mail.gmail.com
Whole thread Raw
In response to Re: exposing pg_controldata and pg_config as functions  (Peter Eisentraut <peter_e@gmx.net>)
Responses Re: exposing pg_controldata and pg_config as functions
List pgsql-hackers
On Mon, Aug 31, 2015 at 9:47 PM, Peter Eisentraut <peter_e@gmx.net> wrote:
> On 8/25/15 11:32 PM, Joe Conway wrote:
>> 1.) pg_controldata() function and pg_controldata view added
>
> I don't think dumping out whatever pg_controldata happens to print as a
> bunch of text fields is very sophisticated.  We have functionality to
> compute with WAL positions, for example, and they won't be of much use
> if this is going to be all text.
>
> Also, the GUC settings tracked in pg_control can already be viewed using
> normal mechanisms, so we don't need a second way to see them.
>
> The fact that some of this is stored in pg_control and some is not is
> really an implementation detail.  We should be thinking of ways to
> expose specific useful information in useful ways, not just dump out
> everything we can find.  Ultimately, I think we would like to move away
> from people parsing textual pg_controldata output, but this proposal is
> not moving very far in that direction.

The nice thing about dumping the information as text is that you can
return every value in the same universal format: text.  There's a lot
to like about that.

But I'm not sure I like the idea of adding a server dependency on the
ability to exec pg_controldata.  That seems like it could be
unreliable at best, and a security vulnerability at worst.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company



pgsql-hackers by date:

Previous
From: Vladimir Borodin
Date:
Subject: Re: Improving replay of XLOG_BTREE_VACUUM records
Next
From: Tom Lane
Date:
Subject: Re: exposing pg_controldata and pg_config as functions