Réponses:
Vous devriez pouvoir simplement exécuter select * from information_schema.tables
pour obtenir une liste de chaque table gérée par Postgres pour une base de données particulière.
Vous pouvez également ajouter un where table_schema = 'information_schema'
pour afficher uniquement les tables du schéma d'informations.
Pour lister vos tables, utilisez:
SELECT table_name FROM information_schema.tables WHERE table_schema='public'
Il répertorie uniquement les tables que vous créez.
\dt information_schema.
depuis psql, ça devrait aller.
La COMMANDE "\ z" est également un bon moyen de lister les tables à l'intérieur de la session psql interactive.
par exemple.
# 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)
Pour un schéma privé 'xxx'
dans postgresql:
SELECT table_name FROM information_schema.tables
WHERE table_schema = 'xxx' AND table_type = 'BASE TABLE'
Sans table_type = 'BASE TABLE'
, vous listerez les tableaux et les vues
1. récupérez toutes les tables et vues de information_schema.tables, incluez celles de information_schema et pg_catalog.
select * from information_schema.tables
Les tables et les vues 2.get appartiennent à certains schémas
select * from information_schema.tables
where table_schema not in ('information_schema', 'pg_catalog')
3.get uniquement les tables (presque \ 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')
sert exactement ?
Si vous voulez une requête simple et rapide:
select * from information_schema.tables
Vous pouvez l'exécuter directement dans l'éditeur de requêtes sans avoir à ouvrir psql.
(D'autres articles suggèrent de belles requêtes d'informations plus spécifiques, mais en tant que nouveau, je trouve que cette requête à une ligne m'aide à maîtriser le tableau)