Re: patch: Allow \dd to show constraint comments

Robert Haas <robertmhaas@gmail.com>

From: Robert Haas <robertmhaas@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Alvaro Herrera <alvherre@commandprompt.com>, Josh Kupershmidt <schmiddy@gmail.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2011-06-06T18:10:06Z
Lists: pgsql-hackers
On Mon, Jun 6, 2011 at 2:06 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Robert Haas <robertmhaas@gmail.com> writes:
>> On Mon, Jun 6, 2011 at 1:03 PM, Alvaro Herrera
>> <alvherre@commandprompt.com> wrote:
>>> Hmm, if we're going to have pg_comments as a syntactic sugar kind of
>>> thing, it should output things in format immediately useful to the user,
>>> i.e. relation/column/etc names and not OIDs.  The OIDs would force you
>>> to do lots of joins just to make it readable.
>
>> Well, that's basically what this is doing.  See the objname/objtype
>> columns.  It's intended that the output of this view should match the
>> format that COMMENT takes as input.  But propagating the OIDs through
>> is sensible as well, because sometimes people may want to do other
>> joins, filtering, etc.
>
> Is it also propagating the catalog OID through?  Because joining on OID
> alone is not to be trusted.

Yep.

> I tend to agree with Alvaro's viewpoint here: anybody who wants to deal
> directly in OIDs is better off joining directly to pg_description, and
> not going through the rather large overhead that this view is going to
> impose.  So we should just make this a purely user-friendly view and be
> done with it, not try to create an amalgam that serves neither purpose
> well.

Possibly.  On the other hand we have things like pg_tables floating
around that are basically useless because you can't get the OID
easily.  The information_schema suffers from this problem as well.  I
get what you're saying, but I think we should think two or three times
very carefully before throwing away the OID in a situation where it
can easily be provided.

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