Re: psql \d+ and oid display

Поиск
Список
Период
Сортировка
От Bruce Momjian
Тема Re: psql \d+ and oid display
Дата
Msg-id 20140408211909.GB8685@momjian.us
обсуждение исходный текст
Ответ на Re: psql \d+ and oid display  (Robert Haas <robertmhaas@gmail.com>)
Ответы Re: psql \d+ and oid display  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
On Tue, Apr  1, 2014 at 01:36:02PM -0400, Robert Haas wrote:
> Although I agree with the general principle, I'm skeptical in this
> case.  There are a bunch of table-level options, and I don't think
> it's very reasonable to expect that users are going to remember which
> ones are going to be displayed under which conditions, especially if
> we change it from release to release.  If somebody doesn't see the
> "has OIDs" line, are they going to conclude that the table doesn't
> have OIDs, or are they going to conclude that psql doesn't ever
> display that information and they need to query pg_class manually?
> I'm sure at least some people will guess wrong.
> 
> Now, admittedly, this is not the hill I want to die on.  The future of
> PostgreSQL doesn't rest on whatever ends up happening here.  But I
> think what's going on on this thread is a lot of tinkering with stuff
> that's not really broken.  I'm not saying "don't ever change psql
> output".  What I'm saying is that changing psql output that is
> absolutely fine the way it is does not represent meaningful progress.
> The "replica identity" and "has OIDs" lines are a negligible
> percentage of what \d+ spits out - in a test I just did, 2 out of 37
> lines on \d+ pg_class.  I can't accept that tinkering with that is
> reducing clutter in any meaningful way; it's just change for the sake
> of change.

I looked over the psql code and Robert is right that "Has OIDs" and
"Identity Replica" are the only two cases where we are printing status,
rather than unique strings like an index name.  The only example I could
find was where we print "Number of child tables" in \d when there are
child tables.  Of course, we print the child table names when they exist
in \d+, but we don't print "No child tables" with \d or \d+, which seems
logical.

If we ignore backward compatibility, then "Has OIDs" and "Identity
Replica" are similar.  One thing that strongly (for me) supports not
always printing them is that I expect more people will be confused by
the mention of OIDs or "Identity Replica" than will actually care about
these features.  For example, if we always printed "Child tables: 0",
more people would be confused than helped.

I don't think there is enough other cases for \d++ to make sense.

I am not sure where to go from here.  One idea would be tally the people
who have commented in this thread, but a more thorough approach would
be to have a vote.

--  Bruce Momjian  <bruce@momjian.us>        http://momjian.us EnterpriseDB
http://enterprisedb.com
 + Everyone has their own god. +



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Peter Geoghegan
Дата:
Сообщение: Re: Call for GIST/GIN/SP-GIST opclass documentation
Следующее
От: Tom Lane
Дата:
Сообщение: Re: psql \d+ and oid display