From: | Bruce Momjian <bruce(at)momjian(dot)us> |
---|---|
To: | Robert Haas <robertmhaas(at)gmail(dot)com> |
Cc: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Andrew Dunstan <andrew(at)dunslane(dot)net>, David Johnston <polobo(at)yahoo(dot)com>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: psql \d+ and oid display |
Date: | 2014-04-09 15:42:32 |
Message-ID: | 20140409154232.GO8685@momjian.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Wed, Apr 9, 2014 at 09:27:11AM -0400, Robert Haas wrote:
> On Wed, Apr 9, 2014 at 1:02 AM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> > Robert Haas <robertmhaas(at)gmail(dot)com> writes:
> >> Well, that's sorta my concern. I mean, right now we've got people
> >> saying "what the heck is a replica identity?". But, if the logical
> >> decoding stuff becomes popular, as I hope it will, that's going to be
> >> an important thing for people to adjust, and the information needs to
> >> be present in a clear and easily-understood way. I haven't studied
> >> the current code in detail so maybe it's fine. I just want to make
> >> sure we're not giving it second-class treatment solely on the basis
> >> that it's new and people aren't using it yet.
> >
> > I think the proposal is "don't mention the property if it has the
> > default value". That's not second-class status, as long as people
> > who know what the property is understand that behavior. It's just
> > conserving screen space.
>
> One thing that concerns me is that replica identity has a different
> default for system tables (NOTHING) than for other tables (DEFAULT).
> So when we say we're not going to display the default value, are we
> going to display it when it's not NOTHING, when it's not DEFAULT, or
> when it's not the actual default for that particular kind of table?
We exclude pg_catalog from displaying Replica Identity due to this
inconsistency. I assume this was desired because you can't replicate
system tables. Is that true? The current test is:
if ((tableinfo.relkind == 'r' || tableinfo.relkind == 'm') &&
/*
* No need to display default values; we already display a
* REPLICA IDENTITY marker on indexes.
*/
tableinfo.relreplident != 'd' && tableinfo.relreplident != 'i' &&
strcmp(schemaname, "pg_catalog") != 0)
What might make more sense is this:
if ((tableinfo.relkind == 'r' || tableinfo.relkind == 'm') &&
/*
* No need to display default values; we already display a
* REPLICA IDENTITY marker on indexes.
*/
tableinfo.relreplident != 'i' &&
((strcmp(schemaname, "pg_catalog") != 0 && tableinfo.relreplident != 'd') ||
(strcmp(schemaname, "pg_catalog") == 0 && tableinfo.relreplident != 'n')))
--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com
+ Everyone has their own god. +
From | Date | Subject | |
---|---|---|---|
Next Message | Andres Freund | 2014-04-09 15:44:42 | Re: psql \d+ and oid display |
Previous Message | Robert Haas | 2014-04-09 15:36:46 | Re: Including replication slot data in base backups |