Re: relation between tables - Mailing list pgsql-novice

From Michael Fuhr
Subject Re: relation between tables
Date
Msg-id 20050329005018.GA17577@winnie.fuhr.org
Whole thread Raw
In response to relation between tables  (Mauricio Siqueira de Oliveira <mauricio.oliveiraa@uol.com.br>)
Responses Re: relation between tables
List pgsql-novice
On Mon, Mar 28, 2005 at 08:30:54PM -0300, Mauricio Siqueira de Oliveira wrote:
>
> Is there any command to display relations between tables? Like, for
> instance, I would like to know what column in what table is linked with
> a particular column in other table.

In psql you can use "\d tablename" to see a table's definition,
including foreign key constraints.  If you run "psql -E" or execute
"\set ECHO_HIDDEN" then you can see the SQL queries that psql runs
to get that information, and from those queries you can figure out
how to write your own queries.  You'll probably want to be familiar
with the "System Catalogs" chapter of the documentation and the
"System Information Functions" or "Miscellaneous Functions" section
of the "Functions and Operators" chapter.

Here's an example that might show what you're looking for:

SELECT conrelid::regclass AS relname,
       conname,
       pg_get_constraintdef(oid) AS condef
FROM pg_constraint
WHERE contype = 'f'
ORDER BY conrelid, conname;

--
Michael Fuhr
http://www.fuhr.org/~mfuhr/

pgsql-novice by date:

Previous
From: Mauricio Siqueira de Oliveira
Date:
Subject: relation between tables
Next
From: Todd Lewis
Date:
Subject: Re: relation between tables