From: | Achilleus Mantzios <achill(at)matrix(dot)gatewaynet(dot)com> |
---|---|
To: | "rcolmegna(at)tiscali(dot)it" <rcolmegna(at)tiscali(dot)it> |
Cc: | pgsql-sql(at)postgresql(dot)org |
Subject: | Re: R: Re: R: R: Re: schema inspection |
Date: | 2006-03-17 10:21:34 |
Message-ID: | Pine.LNX.4.44.0603171208490.27392-100000@matrix.gatewaynet.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
O rcolmegna(at)tiscali(dot)it έγραψε στις Mar 17, 2006 :
> >
> >SELECT c1.relname,c2.relname from pg_constraint cons,pg_class c1,
> pg_class
> >c2 where cons.conrelid=c1.oid and cons.confrelid = c2.oid;
> >
> >for column(s) names you will have to do extra homework.
>
> Thanks! I have obtained my query! Here is:
>
> SELECT
> (SELECT relname FROM pg_catalog.pg_class WHERE oid=conrelid) AS
> fromTbl,
> (SELECT relname FROM pg_catalog.pg_class WHERE oid=confrelid) AS
> toTbl,
> (SELECT attname FROM pg_catalog.pg_attribute WHERE attrelid=conrelid
> AND conkey[1]=attnum) AS viaCol
> FROM pg_catalog.pg_constraint AS rel WHERE contype='f';
Well thats it if you use only *single column* Foreign keys.
In the general case the above will need extra work.
Of course you will also have to ensure that the constraint is indeed
a FK constraint, that the column is not droped, etc....
which leads to the answer that enabling statement logging,
and then \d and watching the log is a very good friend too.
>
> TIA
> Roberto Colmegna
>
>
>
>
> Tiscali ADSL 4 Mega Flat
> Naviga senza limiti con l'unica Adsl a 4 Mega di velocitΓ a soli 19,95 β¬ al mese!
> Attivala subito e hai GRATIS 2 MESI e l'ATTIVAZIONE.
> http://abbonati.tiscali.it/banner/middlepagetracking.html?c=webmailadsl&r=http://abbonati.tiscali.it/adsl/sa/4flat_tc/&a=webmail&z=webmail&t=14
>
--
-Achilleus
From | Date | Subject | |
---|---|---|---|
Next Message | Jure Kodzoman | 2006-03-17 13:07:38 | Checking if date is inside date range |
Previous Message | Achilleus Mantzios | 2006-03-17 09:48:27 | Re: R: R: Re: schema inspection |