See FAQ. It is in psql.c.
> Hello,
>
> I want to be able to build up information about the different tables held
> in a database for a small diagnostic tool that I'm writing.
>
> I need to see the name of each column in the table, the column data type
> and size, and if nulls are allowed - essentially what is produced by the
> '\d <tablename>' command.
>
> Does anyone know the SQL query to use on the system tables to produce that
> result? I've started to go through them now, and was expecting to find
> something along the lines of 'pg_columns', but no such luck. :(
>
> Regards,
>
> Mark.
> --
> Mark Jewiss
> Knowledge Matters Limited
> http://www.knowledge.com
>
>
> ************
>
>
--
Bruce Momjian | http://www.op.net/~candle
maillist@candle.pha.pa.us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026