Muito obrigado a todos pelas respostas.

Att,
Allan de Sá

From: Matheus de Oliveira 
Sent: Thursday, February 13, 2014 9:17 AM
To: Comunidade PostgreSQL Brasileira 
Subject: Re: [pgbr-geral] Listar todas as tabelas


2014-02-12 19:16 GMT-02:00 ALLAN YAHOO <[email protected]>:

  Boa noite pessoal,

  Uma pergunta relativamente simples para vocês, mas complexa para mim. Como 
faço para listar todas as tabelas que tenho dentro do schema public ?


Quinzilhões de maneiras. A que eu considero mais portável (e que segue melhor o 
padrão SQL) seria usando o information_schema:


    SELECT * FROM information_schema.tables
    WHERE table_type = 'BASE TABLE'
    AND table_schema = 'public';


 
Se quiser ir mais na origem (legal para estudo) e pegar das tabelas de catálogo 
que realmente contém essa informação, basta usar a pg_class e pg_namespace:

    SELECT n.nspname, r.relname
    FROM pg_catalog.pg_class r
        INNER JOIN pg_catalog.pg_namespace n ON r.relnamespace = n.oid
    WHERE r.relkind = 'r' AND n.nspname = 'public';


Há outras formas, como a view pg_catalog.pg_tables, que faz uma query parecida 
com a acima, incluindo também o tablespace e owner da tabela.

Atenciosamente,
-- 

Matheus de Oliveira
Analista de Banco de Dados
Dextra Sistemas - MPS.Br nível F!
www.dextra.com.br/postgres




--------------------------------------------------------------------------------
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a