Ir para o conteúdo
ou

Software livre Brasil

 Voltar a SAVEPOINT
Tela cheia

Gerando o DDL de todas as views de um esquema no PostgreSQL

9 de Novembro de 2015, 14:23 , por Savepoint - 0sem comentários ainda | Ninguém está seguindo este artigo ainda.
Visualizado 4 vezes

Este artigo foi escrito por telles

Atendendo a pedidos, segue um formato fácil para gerar um DDL de todas as views de um esquema específico no PostgreSQL. Na verdade está tudo pronto em pg_views, mas desta forma fica tudo num único arquivo bem formatado:

\a
\t
\o views_schema_xyz.sql
-- Gera DDL
SELECT 
        '-- DDL da view ' || schemaname || '.' || viewname || chr(10) ||
            'CREATE VIEW ' || schemaname || '.' || viewname || ' AS ' || chr(10) || 
                definition || chr(10) || 
                'ALTER VIEW ' || schemaname || '.' || viewname || ' OWNER TO ' || viewowner || ';' ||
             chr(10) 
    FROM pg_views
    WHERE schemaname = 'nome_do_esquema'
    ORDER BY schemaname, viewname;

-- Gera GRANTs
SELECT '--GRANTs';
SELECT 
        'GRANT ' || string_agg(privilege_type,', ') || ' ON ' ||
         table_schema || '.' || table_name || ' TO ' || grantee || ';'
FROM 
    information_schema.role_table_grants 
    JOIN pg_views ON 
        table_schema = schemaname AND
        table_name   = viewname
where table_schema = 'nome_do_esquema'
GROUP BY table_name, grantee;
\o
\a
\t
\q 
cat views_schema_xyz.sql

 

O artigo Gerando o DDL de todas as views de um esquema no PostgreSQL apareceu primeiro em Savepoint.


Fonte: http://savepoint.blog.br/gerando-o-ddl-de-todas-as-views-de-um-esquema-no-postgresql/

0sem comentários ainda

Enviar um comentário

Os campos são obrigatórios.

Se você é um usuário registrado, pode se identificar e ser reconhecido automaticamente.