On Tue, Sep 17, 2013 at 10:59 AM, Andres Freund <and...@2ndquadrant.com> wrote: > On 2013-09-17 10:57:46 -0400, Robert Haas wrote: >> On Mon, Sep 16, 2013 at 1:25 AM, Satoshi Nagayasu <sn...@uptime.jp> wrote: >> > How about adding new system view with new function which returns >> > a single pg_controldata value in text type, and using a cast for >> > each column in the view definition? >> > >> > CREATE VIEW pg_catalog.pg_controldata AS >> > SELECT pg_controldata('control_version')::integer AS control_version, >> > pg_controldata('catalog_version')::integer AS catalog_version, >> > pg_controldata('system_identifier')::bigint AS system_identifier, >> > ... >> > pg_controldata('next_xlog_file')::char(25) AS next_xlog_file, >> > ... >> > pg_controldata('encoding')::text AS encoding; >> > >> > Given that the view can work like a SRF, and it allows us to retrieve >> > all the values of pg_controldata with appropriate types in single >> > record from the view: >> >> I like this idea. I think having an easy way to get the values with >> the right types will be a plus. But adding a separate function for >> each field seems excessive, so I think this is a good compromise. > > Why not add a single function returning a composite type then? That'd at > least have a chance of returning consistent values for the individual > values that change during runtime. It would also produce proper errors > when you load a view using columns that don't exist anymore instead of > just at runtime.
Hmm. Yeah, that might be better. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers