From: | Javier Chávez B(dot) <jchavezb(at)gmail(dot)com> |
---|---|
To: | Julio Cesar Rodriguez Dominguez <jurasec(at)gmail(dot)com> |
Cc: | Ronald <ronaldriveros(at)gmail(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Script para saber claves foraneas sobre una tabla |
Date: | 2009-07-09 17:07:37 |
Message-ID: | ded64bba0907091007g7e8c3bc4uff5e436169e8334c@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
2009/7/9 Julio Cesar Rodriguez Dominguez <jurasec(at)gmail(dot)com>
> El 9 de julio de 2009 11:23, Javier Chávez B.<jchavezb(at)gmail(dot)com>
> escribió:
> >
> >
> > 2009/7/9 Ronald <ronaldriveros(at)gmail(dot)com>
> >>
> >> Necesitas obtener las DDL supongo, desde una aplicacion cliente hecha
> por
> >> ti o tan desde un ide de bd?
> >>
> >> El 9 de julio de 2009 11:57, Javier Chávez B. <jchavezb(at)gmail(dot)com>
> >> escribió:
> >>>
> >>> Estimados :
> >>>
> >>> Existe alguna manera de saber mediante un script sobre las tablas de
> >>> sistema que tablas hacen referencia a una tabla, o sea saber donde el
> >>> identificador de una tabla en particular esta siendo utilizada como
> llave
> >>> foranea por otras...
> >>>
> >>> Agradezco cualquier orientacion ..
> >>>
> >>> Slds.
> >>> J.
> >
> > O sea la idea es un select sobre las tablas de sitema donde le pase por
> > parametro un tabla / campo y me retorne que tablas le hacen referencia ,
> me
> > entiendes? no necesito el DDL necesito saber quienes "estan apuntando
> a.. "
> > ya que necesito actualizar unas claves primarias por lo tanto tengo que
> > partir por saber que integridades debo cumplir, me queda el camino largo
> y
> > apestoso de abrir las tablas una por una en PGAdmin y ver las referencias
> > pero creo que debe haber una manera mas automatica de hacerlo .. el tema
> es
> > que no he dado con ello aun ...
> > Slds.
>
> Alvaro ya dio la solución, veamos si te sirve de todos modos:
>
> SELECT (SELECT relname FROM pg_catalog.pg_class c LEFT JOIN
> pg_catalog.pg_namespace n ON n.oid = c.relnamespace WHERE
> c.oid=r.conrelid) as nombre,conname,
> pg_catalog.pg_get_constraintdef(oid, true) as condef from
> pg_catalog.pg_constraint r WHERE r.conrelid in
> ( SELECT c.oid FROM pg_catalog.pg_class c LEFT JOIN
> pg_catalog.pg_namespace n ON n.oid = c.relnamespace WHERE c.relname !~
> 'pg_' and c.relkind = 'r' AND pg_catalog.pg_table_is_visible(c.oid))
> AND r.contype = 'f' ;
>
Una vez mas GRACIAS TOTALES!!! :0)
Alvaro: Aun no uso PG 8.4 :0( pero buen dato, pasa a la wiki de la empresa
:0)
--
Cumprimentos
jchavez
linux User #397972 on http://counter.li.org/
Luis Bunuel <http://www.brainyquote.com/quotes/authors/l/luis_bunuel.html>
- "Age is something that doesn't matter, unless you are a cheese."
From | Date | Subject | |
---|---|---|---|
Next Message | suso | 2009-07-09 17:09:55 | Re: error con pg_restore |
Previous Message | Alvaro Herrera | 2009-07-09 17:05:12 | Re: error con pg_restore |