Pré-requisitos
- PostgreSQL instalado no seu sistema.
- Acesso à ferramenta de linha de comando psql.
- Conhecimento básico de SQL e PostgreSQL.
Conectando ao banco de dados
Primeiro, você precisa se conectar ao seu banco de dados PostgreSQL. Para isso, execute o comando psql seguido do nome do seu banco de dados:
psql -d your_database_name
Se o seu servidor PostgreSQL exigir usuário e senha, você pode incluir o nome de usuário assim:
psql -U your_username -d your_database_name
Depois de digitar sua senha, você deverá estar conectado ao seu banco de dados.
Usando o comando \dt
A forma mais rápida de listar todas as tabelas do banco de dados atual é usar o comando \dt:
\dt
Saída esperada:
List of relations
Schema | Name | Type | Owner
--------+---------------------+-------+---------
public | my_first_table | table | postgres
public | my_second_table | table | postgres
public | another_table | table | postgres
(3 rows)
Se quiser ver mais informações sobre suas tabelas, você também pode usar:
\dt+
Este comando mostra todas as tabelas do schema public. Se quiser listar as tabelas de todos os schemas, use:
\dt *.*
Consultando o Information Schema
Outra abordagem é consultar diretamente a view information_schema.tables. Isso é especialmente útil se você quiser mais controle sobre a saída:
SELECT table_schema, table_name
FROM information_schema.tables
WHERE table_type = 'BASE TABLE' AND table_schema NOT IN ('pg_catalog', 'information_schema');
Saída esperada:
table_schema | table_name
--------------+------------------
public | my_first_table
public | my_second_table
public | another_table
(3 rows)
Esta consulta lista todas as tabelas de todos os schemas, exceto os schemas do sistema.
Usando a view pg_tables
Você também pode listar tabelas usando o catálogo do sistema pg_tables:
SELECT schemaname, tablename
FROM pg_tables
WHERE schemaname != 'pg_catalog' AND schemaname != 'information_schema';
Saída esperada:
schemaname | tablename
------------+-----------------
public | my_first_table
public | my_second_table
public | another_table
(3 rows)
Este método é muito parecido com consultar a information_schema.tables, mas referencia diretamente o catálogo interno do PostgreSQL.
Filtrando tabelas por schema
Se quiser listar as tabelas de um schema específico, você pode modificar as consultas anteriores para filtrar pela coluna table_schema ou schemaname:
SELECT table_name
FROM information_schema.tables
WHERE table_schema = 'your_schema_name' AND table_type = 'BASE TABLE';
Ou usando pg_tables:
SELECT tablename
FROM pg_tables
WHERE schemaname = 'your_schema_name';
Conclusão
Listar tabelas no PostgreSQL usando o psql é simples, com vários métodos disponíveis conforme a sua necessidade. O comando \dt é o mais rápido, enquanto consultar o information_schema ou o pg_tables oferece mais controle e flexibilidade. Use os métodos que melhor se adaptam ao seu fluxo de trabalho.
Outros artigos que você pode gostar:
Beekeeper Studio é um cliente de banco de dados gratuito e open source
A melhor ferramenta de consultas e edição de SQL que já usei. Tem tudo o que preciso para gerenciar meu banco de dados. - ⭐⭐⭐⭐⭐ Mit
O Beekeeper Studio é rápido, intuitivo e fácil de usar. Ele suporta vários bancos de dados e funciona muito bem no Windows, Mac e Linux.
O que os usuários dizem sobre o Beekeeper Studio
"O Beekeeper Studio substituiu completamente meu antigo fluxo de trabalho com SQL. É rápido, intuitivo e torna o trabalho com banco de dados agradável de novo."
"Já testei várias GUIs de banco de dados, mas o Beekeeper encontra o equilíbrio perfeito entre recursos e simplicidade. Simplesmente funciona."