[Pgsql-ayuda] Referencias entre tablas

Alvaro Herrera alvherre@dcc.uchile.cl
Wed, 4 Feb 2004 09:12:16 -0300


On Tue, Feb 03, 2004 at 11:02:51PM -0800, Cuevas Luis wrote:
> Hola amigos/as, aqu? tengo un tema para ver si tienen
> alguna idea.
> Quiero saber de forma automatica (por medio de una
> consulta) cuales son las dependencias de una tabla o
> de que otras tablas depende una tabla en concreto.

Efectivamente es pg_depend.  Observa que classid es el OID de la tabla
en la que se registra el objeto dependiente, y refclassid es el OID de
la tabla en la que se registra el objeto dependido (por ej. si hablamos
de tablas, será el OID de pg_class que creo que es 1259).

Además, objid y refobjid son las llaves primarias de esos objetos (la
columna OID).  Además, objsubid y refobjsubid son "sub-ids", creo que se
usan para indicar números de columna (attnum en pg_attribute)

Puede haber algo impreciso, pero la cosa va por ese lado.

-- 
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
"La experiencia nos dice que el hombre peló millones de veces las patatas,
pero era forzoso admitir la posibilidad de que en un caso entre millones,
las patatas pelarían al hombre" (Ijon Tichy)