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

Responder a