Comment puis-je lister toutes les bases de données et tables en utilisant psql ?

J'essaie d'apprendre à administrer PostgreSQL et j'ai commencé à apprendre à utiliser l'outil de ligne de commande psql.

Lorsque je me connecte avec psql --username=postgres, comment puis-je lister toutes les bases de données et les tables ?

J'ai essayé \d, d et dS+ mais rien n'est listé. J'ai créé deux bases de données et quelques tables avec pgAdmin III, donc je sais qu'elles devraient être listées.

Solution

Veuillez noter les commandes suivantes :

  • \list ou \l : liste toutes les bases de données
  • \dt : liste toutes les tables de la base de données courante

Vous ne verrez jamais les tables des autres bases de données, ces tables ne sont pas visibles. Vous devez vous connecter à la bonne base de données pour voir ses tables (et autres objets).

Pour changer de base de données :

\connect database_name ou \c database_name.

Voir le manuel sur [psql][1].

[1] : http://www.postgresql.org/docs/current/interactive/app-psql.html

Commentaires (8)

Cette liste énumère les bases de données :

SELECT datname FROM pg_database
WHERE datistemplate = false;

Liste des tables de la base de données actuelle

SELECT table_schema,table_name
FROM information_schema.tables
ORDER BY table_schema,table_name;
Commentaires (6)

\lest également un raccourci pour \list. Il existe un grand nombre de commandes de type slash, que vous pouvez lister dans psql en utilisant \?.

Commentaires (0)