Re: How does psql actually implement the \d commands - Mailing list pgsql-general

From Albe Laurenz
Subject Re: How does psql actually implement the \d commands
Date
Msg-id D960CB61B694CF459DCFB4B0128514C201FA5AC0@exadv11.host.magwien.gv.at
Whole thread Raw
In response to How does psql actually implement the \d commands  (Andrew Falanga <af300wsm@gmail.com>)
List pgsql-general
Andrew Falanga wrote:
>
> I know about the -E option to psql and did that to get the following,
> which is what psql does for a \d <tablename>:
>
> ********* QUERY **********
> SELECT c.oid,
>   n.nspname,
>   c.relname
> FROM pg_catalog.pg_class c
>      LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
> WHERE pg_catalog.pg_table_is_visible(c.oid)
>       AND c.relname ~ '^(personaldata)$'
> ORDER BY 2, 3;
> **************************
>
> ********* QUERY **********
> SELECT relhasindex, relkind, relchecks, reltriggers, relhasrules
> FROM pg_catalog.pg_class WHERE oid = '17408'
> **************************
>
> ********* QUERY **********
> SELECT a.attname,
>   pg_catalog.format_type(a.atttypid, a.atttypmod),
>   (SELECT substring(d.adsrc for 128) FROM pg_catalog.pg_attrdef d
>    WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND
> a.atthasdef),
>   a.attnotnull, a.attnum
> FROM pg_catalog.pg_attribute a
> WHERE a.attrelid = '17408' AND a.attnum > 0 AND NOT a.attisdropped
> ORDER BY a.attnum
> **************************
>
> ********* QUERY **********
> SELECT c.relname FROM pg_catalog.pg_class c, pg_catalog.pg_inherits i
> WHERE c.oid=i.inhparent AND i.inhrelid = '17408' ORDER BY inhseqno ASC
> **************************
>
> Now, I tried to execute these queries one at a time and they failed,
> somewhat miserably.  In what order does PostgreSQL actually execute
> them?  Are they implemented as sub-queries?  If so, in what order are
> they executed?

They do not fail here, and they should not fail.
They should be executed as above, in this order.

What are the miserable error messages you get?

Yours,
Laurenz Albe

pgsql-general by date:

Previous
From: "Markus Wollny"
Date:
Subject: Re: tsvector_update_trigger throws error "column is not of tsvector type"
Next
From: "Andrus"
Date:
Subject: Re: select statement fails