Estou tentando aprender a administração do PostgreSQL e comecei a aprender a usar a psql
ferramenta de linha de comando.
Quando faço login com psql --username=postgres
, como listo todos os bancos de dados e tabelas?
Já tentei \d
e d
não dS+
consta nada. Eu criei dois bancos de dados e algumas tabelas com o pgAdmin III, então eu sei que eles devem ser listados.
Observe os seguintes comandos:
\list
ou\l
: lista todos os bancos de dados\c <db name>
: conectar a um determinado banco de dados\dt
: lista todas as tabelas no banco de dados atual usando seusearch_path
\dt *.
: lista todas as tabelas no banco de dados atual, independentemente do seusearch_path
Você nunca verá tabelas em outros bancos de dados, essas tabelas não são visíveis. Você precisa se conectar ao banco de dados correto para ver suas tabelas (e outros objetos).
Para alternar bancos de dados:
\connect database_name
ou\c database_name
Veja o manual sobre psql .
Isso lista os bancos de dados:
Isso lista as tabelas no banco de dados atual
No Postgresql esses comandos do terminal listam os bancos de dados disponíveis
Ou o comando afirmou de forma mais simples:
Esses comandos imprimem isso no terminal:
Esses são os bancos de dados disponíveis.
Em PSQL estes comandos listam as tabelas disponíveis
Você precisa especificar um banco de dados antes de poder listar as tabelas nesse banco de dados.
Isso leva você a um terminal psql:
Use o comando
\d
que significa mostrar todas as tabelas, visualizações e sequênciasIsso imprime:
Em seguida, para sair do terminal psql, digite
\q
e pressione enter. OuCtrl-D
faz a mesma coisa. Estas são as tabelas nesse banco de dados.\l
também é uma abreviação para\list
. Existem alguns comandos de barra, que você pode listar no psql usando\?
.Para obter mais informações sobre o banco de dados e a lista de tabelas, você pode fazer:
\l+
listar bancos de dadose
\d+
para listar todas as tabelas no esquema search_path atual no banco de dados atual.De pg_Admin, você pode simplesmente executar o seguinte em seu banco de dados atual e obterá todas as tabelas para o esquema especificado:
Isso lhe dará uma lista de todas as tabelas permanentes (geralmente as tabelas que você está procurando). Você pode obter apenas os nomes das tabelas se alterar o
*
curinga para apenas otable_name
. O públicotable_schema
é o esquema padrão para a maioria dos bancos de dados, a menos que seu administrador tenha configurado um novo esquema.É possível que você tenha inserido as tabelas em um esquema que não está no seu caminho de pesquisa, ou o padrão, ou seja, público e assim as tabelas não aparecerão usando \dt. Se você usa um esquema chamado, digamos, data, você pode corrigir isso executando,
alter database <databasename> set search_path=data, public;
Saia e reinsira o psql e agora \dt mostrará as tabelas nos dados do esquema também.