J'essaie d'apprendre l'administration de PostgreSQL et je commence à apprendre à utiliser l' psql
outil de ligne de commande.
Quand je me connecte avec psql --username=postgres
, comment lister toutes les bases de données et les tables?
Je l' ai essayé \d
, d
et dS+
mais rien est répertorié. J'ai créé deux bases de données et quelques tables avec pgAdmin III, je sais donc qu'elles devraient être répertoriées.
postgresql
tools
psql
command-line
Jonas
la source
la source
psql -l
psql --username=postgres -l
.Réponses:
Veuillez noter les commandes suivantes:
\list
ou\l
: lister toutes les bases de données\dt
: liste toutes les tables de la base de données couranteVous ne verrez jamais de tables dans d'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 .
la source
\c db_name
pour vous connecter à une certaine base de données.\dt
ne semble pas lister toutes les tables de la base de données actuelle (elle semble exclure celles qui ne se trouvent pas dans la versionsearch_path
9.2 au moins)\dt *.
listera toutes les tables dans tous les schémas, sans avoir à modifier votre chemin de recherche.psql -U username -l
mais cela ne fonctionne pas avec la version slash.Ceci liste les bases de données:
Ceci liste les tables dans la base de données courante
la source
WHERE table_schema = 'public'
parce que je veux supprimer uniquement les tables personnalisées.Dans Postgresql, ces commandes de terminal listent les bases de données disponibles
Ou la commande a déclaré plus simplement:
Ces commandes impriment ceci sur le terminal:
Ce sont les bases de données disponibles.
Dans PSQL, ces commandes listent les tables disponibles
Vous devez spécifier une base de données avant de pouvoir répertorier les tables de cette base.
Cela vous amène à un terminal psql:
Utilisez la commande qui
\d
signifie montrer toutes les tables, vues et séquencesCela imprime:
Ensuite, pour quitter le terminal psql, tapez
\q
et appuyez sur entrée. OuCtrl-D
fait la même chose. Ce sont les tables de cette base de données.la source
\d[S+] list tables, views, and sequences
\l
est aussi un raccourci pour\list
. Il existe plusieurs commandes slash que vous pouvez lister dans psql en utilisant\?
.la source
Pour obtenir plus d'informations sur la base de données et la liste de tables, vous pouvez effectuer les opérations suivantes:
\l+
pour lister des bases de donnéeset
\d+
pour lister toutes les tables du schéma search_path actuel de la base de données courante.la source
À partir de pg_Admin, vous pouvez simplement exécuter les opérations suivantes sur votre base de données actuelle. Toutes les tables du schéma spécifié seront alors récupérées:
Cela vous donnera une liste de toutes les tables permanentes (généralement les tables que vous recherchez). Vous pouvez obtenir uniquement les noms de table si vous modifiez le
*
caractère générique uniquementtable_name
. Le publictable_schema
est le schéma par défaut pour la plupart des bases de données, sauf si votre administrateur a configuré un nouveau schéma.la source
Il est possible que vous ayez inséré les tables dans un schéma qui ne se trouve pas dans le chemin de recherche ou dans celui par défaut, c'est-à-dire public. Les tables ne s'afficheront donc pas avec \ dt. Si vous utilisez un schéma appelé, disons, données, vous pouvez résoudre ce problème en exécutant:
alter database <databasename> set search_path=data, public;
Quittez et entrez à nouveau psql et \ dt vous montrera également les tables dans les données du schéma.
la source
set search_path=data, public;
ferait l'affaire aussi :)