2012/7/19 Marcos Aurelio Nobre <[email protected]> > Boa noite pessoALL. > > Estou com a seguinte necessidade: eu preciso descobrir quais são as > constraints de foreign-key > que estão fazendo referencia à tabelaX(colunaPK) ? > > Meu banco de dados contém vários schemas e cada um, muitas tabelas. Então, > por meio de > pgadmin, está meio desumano "entrar" em cada schema e observar cada tabela > verificando > qual delas contém uma foreign-key para uma certa tabela: > schemaX.tabelaX(colunaPk). >
Bom, o psql já traz isso, o pgAdmin não?? > > Daí, penso que consultar o catálogo ou algumas sysTables para "querar" > essa informação, é > algo mais racional / viável. > > Alguém sabe que "querie" eu poderia aplicar no banco para obter essa > informação ? > > Isso te traz as tabelas e chaves estrangeiras: SELECT conname, conrelid::pg_catalog.regclass, pg_catalog.pg_get_constraintdef(c.oid, true) as condef FROM pg_catalog.pg_constraint c JOIN pg_catalog.pg_class r ON r.oid = c.confrelid JOIN pg_catalog.pg_namespace n ON n.oid = r.relnamespace WHERE r.relname = '*<nome tabela>*' AND n.nspname = '*<nome schema>*' AND c.contype = 'f' ORDER BY 1 Atenciosamente, -- Matheus de Oliveira
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
