Respostas:
Você deve ser capaz de executar apenas select * from information_schema.tables
para obter uma lista de todas as tabelas que estão sendo gerenciadas pelo Postgres para um banco de dados específico.
Você também pode adicionar a where table_schema = 'information_schema'
para ver apenas as tabelas no esquema de informações.
Para listar suas tabelas, use:
SELECT table_name FROM information_schema.tables WHERE table_schema='public'
Ele listará apenas as tabelas que você criar.
\dt information_schema.
do psql, deve ficar bem.
O COMANDO "\ z" também é uma boa maneira de listar tabelas quando estiver dentro da sessão psql interativa.
por exemplo.
# psql -d mcdb -U admin -p 5555
mcdb=# /z
Access privileges for database "mcdb"
Schema | Name | Type | Access privileges
--------+--------------------------------+----------+---------------------------------------
public | activities | table |
public | activities_id_seq | sequence |
public | activities_users_mapping | table |
[..]
public | v_schedules_2 | view | {admin=arwdxt/admin,viewuser=r/admin}
public | v_systems | view |
public | vapp_backups | table |
public | vm_client | table |
public | vm_datastore | table |
public | vmentity_hle_map | table |
(148 rows)
Para esquema privado 'xxx'
no postgresql:
SELECT table_name FROM information_schema.tables
WHERE table_schema = 'xxx' AND table_type = 'BASE TABLE'
Sem table_type = 'BASE TABLE'
, você listará tabelas e visualizações
1. obtenha todas as tabelas e visualizações de information_schema.tables, inclua as de information_schema e pg_catalog.
select * from information_schema.tables
2.get tabelas e visualizações pertencem a determinado esquema
select * from information_schema.tables
where table_schema not in ('information_schema', 'pg_catalog')
3.get apenas tabelas (quase \ dt)
select * from information_schema.tables
where table_schema not in ('information_schema', 'pg_catalog') and
table_type = 'BASE TABLE'
where table_schema not in ('information_schema', 'pg_catalog')
?
Se você deseja uma consulta rápida e suja de uma linha:
select * from information_schema.tables
Você pode executá-lo diretamente na ferramenta Query sem precisar abrir o psql.
(Outras postagens sugerem consultas information_schema mais específicas e agradáveis, mas como um novato, estou descobrindo que essa consulta de uma linha me ajuda a entender a tabela)