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