Re: table column information - Mailing list pgsql-php

From Robert Treat
Subject Re: table column information
Date
Msg-id 200405181753.35869.xzilla@users.sourceforge.net
Whole thread Raw
In response to Re: table column information  ("Scot L. Harris" <webid@cfl.rr.com>)
Responses Re: table column information
List pgsql-php
On Monday 17 May 2004 17:31, Scot L. Harris wrote:
> On Mon, 2004-05-17 at 06:26, Andrew McMillan wrote:
> > On Sun, 2004-05-16 at 23:16 -0400, Scot L. Harris wrote:
> > > > You can also select the column names from the database metadata
> > > > directly:
> > > >
> > > > SELECT attname
> > > >   FROM pg_class c join pg_attribute a on c.oid = a.attrelid
> > > >   WHERE c.relname = '<your table name>'
> > > >     AND a.attnum >= 0;
> > > >
> > > > This approach won't get killed by the efficiency problems above.
> > > >
> > > > Cheers,
> > > >                     Andrew.
> >
> > When I want to figure out something like this I tend to use "psql -E" so
> > that all queries are echoed before being sent to the backend.  Then I do
> > something like "\d <table>" and see what SQL psql generates internally.
> >
> > Also, dig here for detailed information on the postgresql data
> > dictionary tables:
> >
> > http://www.postgresql.org/docs/7.4/interactive/catalogs.html
> >
> > the most useful ones are pg_class and pg_attribute usually (for obvious
> > reasons :-).  With 7.4 I also find myself looking at the
> > pg_stat_activity view from time to time as well.
> >
> > Cheers,
> >                     Andrew.
>
> Thanks to everyone that responded to my question.  I have my application
> working as I wanted.  I really appreciate all the help that was
> provided.

A little late to the party, but it seems worth mentioning that this
information is also available in the information_schema, which has the
benefits of being sql complient, stable across releases, and keeps you out of
the system catalogs.  for example:

cms74=# select column_name from information_schema.columns where table_name =
'current_downloads';
 column_name
-------------
 start_time
 entity_id
(2 rows)

for more on information schema check out
http://www.postgresql.org/docs/7.4/interactive/information-schema.html

Robert Treat
--
Build A Brighter Lamp :: Linux Apache {middleware} PostgreSQL

pgsql-php by date:

Previous
From: "Scot L. Harris"
Date:
Subject: Re: table column information
Next
From: "Scot L. Harris"
Date:
Subject: Re: table column information