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

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

 

Compartilhe

Você pode gostar

pg_hba.conf

Introdução O arquivo pg_hba.conf (PostgreSQL Host-Based Authentication) é uma peça fundamental na configuração de segurança de qualquer instância PostgreSQL. Ele define as regras de autenticação

Tuning de SO (no Linux)

Introdução Tuning refere-se ao processo de ajustar e otimizar o desempenho de um sistema, software ou aplicação. A otimização do sistema operacional é uma etapa

Tipos de cargas dos bancos de dados

Introdução Cargas de dados referem-se aos diferentes tipos de operações e transações que um banco de dados deve processar. Essas cargas variam conforme o tipo

plugins premium WordPress