Como faço para listar todas as bases de dados e tabelas usando psql?

Estou tentando aprender a administração do PostgreSQL e comecei a aprender como utilizar a ferramenta de linha de comando psql.

Quando entro com psql --username=postgres, como faço para listar todas as bases de dados e tabelas?

Eu tentei `d, d e dS+ mas nada está listado. Eu criei duas bases de dados e algumas tabelas com o pgAdmin III, então eu sei que elas devem ser listadas.

Solução

Por favor, observe os seguintes comandos:

  • Lista" ou "l": lista todas as bases de dados
  • `dt: lista todas as tabelas da base de dados atual

Você nunca verá tabelas em outras bases de dados, estas tabelas não são visíveis. Você tem que se conectar ao banco de dados correto para ver suas tabelas (e outros objetos).

Para trocar as bases de dados:

"ligar nome_da_base de dados" ou "c nome_da_base de dados".

Veja o manual sobre psql.

Comentários (8)

Isto lista as bases de dados:

SELECT datname FROM pg_database
WHERE datistemplate = false;

Isto lista tabelas na base de dados atual

SELECT table_schema,table_name
FROM information_schema.tables
ORDER BY table_schema,table_name;
Comentários (6)

"l" também é a abreviatura de "lista". Existem alguns comandos de barra, que você pode listar no psql utilizando `\i?``.

Comentários (0)