Em 27 de junho de 2017 09:14, Celso - Gmail <clorenzett...@gmail.com>
escreveu:
>
> Bom dia senhores,
>
> Estou tentando descobrir na pg_depend as dependências entre os objetos do
banco de dados.
> O objetivo é exportar eles na ordem correta que devem ser
criados/atualizados em outro banco de dados.
> Imagino que em algum lugar deva existir essa informação, visto que o
pg_dump/pg_restore faz isso.
>
> Ou exista outro caminho para chegar neste objetivo.
>
> Abaixo criei 3 objetos simples para exemplicar e facilitar que puder
ajudar.
>
> CREATE OR REPLACE VIEW vw_teste AS SELECT 1 AS emp_empresa;
> CREATE OR REPLACE VIEW vw_teste_2 AS SELECT emp_empresa FROM vw_teste;
>
> CREATE OR REPLACE FUNCTION fc_empresa() RETURNS INTEGER AS
> $BODY$
>    SELECT emp_empresa FROM vw_teste;
> $BODY$
> LANGUAGE sql;
>
> O SQL abaixo retorna apenas o Schema como dependência e “deveria”
retornar a vw_teste também.
>
> SELECT * FROM pg_depend where objid in (select oid from pg_class where
relname = 'vw_teste_2');
>

Essa informação de "dependência" entre os objetos é armazenada na tabela
"pg_depend" [1]  do catálogo. No wiki [2] tem uns exemplos de como usar ela
para mostrar dependências entre objetos.

Att,

[1] https://www.postgresql.org/docs/current/static/catalog-pg-depend.html
[2] https://wiki.postgresql.org/wiki/Pg_depend_display

--
   Fabrízio de Royes Mello         Timbira - http://www.timbira.com.br/
   PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a