Quel est l'équivalent show tables
(de MySQL) dans PostgreSQL?
postgresql
fil volant
la source
la source
Réponses:
Depuis l'
psql
interface de ligne de commande,Choisissez d'abord votre base de données
Ensuite, cela montre toutes les tables du schéma actuel:
Par programmation (ou depuis l'
psql
interface aussi, bien sûr):Les tables système vivent dans la
pg_catalog
base de données.la source
\l
est l'équivalent deshow databases
dans MySQL.dt
≃show tables
etl
≃show databases
\dt
est très utile. Celui-pg_catalog.pg_tables
ci l'est beaucoup moins, car il semble regrouper les tables internes avec celles créées par l'utilisateur pour la base de données à laquelle vous vous connectez.psql my_db_name
doit être exécuté\dt
pour fonctionner. Lorsque j'ai courupsql
sans nom de base de données, j'ai reçu un message "Aucune relation trouvée"SELECT * FROM pg_catalog.pg_tables WHERE schemaname != 'pg_catalog' AND schemaname != 'information_schema'
\c <DATABASE_NAME>
choisir votre base de données.Connectez-vous en tant que superutilisateur:
Vous pouvez lister toutes les bases de données et tous les utilisateurs par
\l
commande, (lister les autres commandes par\?
).Maintenant, si vous voulez voir d'autres bases de données, vous pouvez changer d'utilisateur / base de données par
\c
commande comme\c template1
,\c postgres postgres
et utiliser\d
,\dt
ou\dS
voir tables / vues / etc.la source
(Pour être complet)
Vous pouvez également interroger le schéma d'informations (standard SQL) :
la source
Vous pouvez utiliser le terminal interactif Psql de PostgreSQL pour afficher des tableaux dans PostgreSQL.
1. Démarrez Psql
Habituellement, vous pouvez exécuter la commande suivante pour entrer dans psql:
Par exemple,
psql template1 postgres
Une situation que vous pourriez avoir est: supposez que vous vous connectez en tant que root et que vous ne vous souvenez pas du nom de la base de données. Vous pouvez simplement entrer d'abord dans Psql en exécutant:
Dans certains systèmes, la commande sudo n'est pas disponible, vous pouvez plutôt exécuter l'une des commandes ci-dessous:
2. Montrer les tableaux
Maintenant, dans Psql, vous pouvez exécuter des commandes telles que:
\?
liste toutes les commandes\l
liste des bases de données\conninfo
afficher des informations sur la connexion actuelle\c [DBNAME]
se connecter à une nouvelle base de données, par exemple,\c template1
\dt
lister les tables du schéma public\dt <schema-name>.*
lister les tableaux de certains schémas, par exemple,\dt public.*
\dt *.*
liste des tableaux de tous les schémasSELECT * FROM my_table;
(Remarque: une instruction doit se terminer par un point-virgule;
)\q
quitter psqlla source
Première connexion en tant qu'utilisateur postgres:
sudo su - postgres
se connecter à la base de données requise:
psql -d databaseName
\dt
retournerait la liste de toutes les tables de la base de données à laquelle vous êtes connecté.la source
L'exécution de psql avec l'indicateur -E fera écho à la requête utilisée en interne pour implémenter \ dt et similaire:
la source
Connectez-vous en tant que superutilisateur pour pouvoir vérifier toutes les bases de données et leurs schémas: -
Ensuite, nous pouvons accéder au shell postgresql en utilisant la commande suivante: -
Vous pouvez maintenant vérifier toute la liste des bases de données en utilisant la commande suivante: -
Si vous souhaitez également vérifier la taille des bases de données, utilisez: -
Appuyez
q
pour revenir.Une fois que vous avez trouvé votre base de données, vous pouvez maintenant vous connecter à cette base de données à l'aide de la commande suivante: -
Une fois connecté, vous pouvez vérifier les tables ou le schéma de la base de données en: -
Maintenant, pour revenir à l'utilisation du shell: -
Maintenant, pour voir les détails d'une certaine table, utilisez: -
Pour revenir à la presse postgresql_shell
\q
.Et pour revenir au terminal, appuyez sur
exit
.la source
Si vous voulez seulement voir la liste des tableaux que vous avez créés, vous pouvez seulement dire:
\dt
Mais nous avons également
PATTERN
ce qui vous aidera à personnaliser les tableaux à afficher. Pour afficher tous lespg_catalog
schémas, y compris , vous pouvez ajouter*
.\dt *
Si tu fais:
\?
la source
utiliser seulement voir une table
si vous voulez voir les tables de schéma
si vous voulez voir des tables de schéma spécifiques
la source
+
avecS
. Ce dernier (la lettre) montre des tables de schéma. Le+
montre simplement des informations supplémentaires.Connectez-vous d'abord à la base de données à l'aide de la commande suivante
Et vous verrez ce message -
You are now connected to database database_name
. Et ils exécutent la commande suivanteDans nom_base_de_données et nom_table, mettez à jour simplement avec votre nom de base de données et de table
la source
Si vous utilisez pgAdmin4 dans PostgreSQL, vous pouvez l'utiliser pour afficher les tables de votre base de données:
la source
Notez que
\dt
seul listera les tables dans le public schéma de la base de données que vous utilisez. J'aime garder mes tables dans des schémas séparés, donc la réponse acceptée n'a pas fonctionné pour moi.Pour répertorier toutes les tables d' un schéma spécifique , je devais:
1) Connectez-vous à la base de données souhaitée:
2) Spécifiez le nom du schéma pour lequel je veux voir les tables après la
\dt
commande, comme ceci:Cela me montre les résultats qui m'intéressent:
la source
la source
\ dt (non * requis) - listera toutes les tables d'une base de données existante à laquelle vous êtes déjà connecté. A noter également:
\ d [nom_table] - affichera toutes les colonnes d'une table donnée, y compris les informations de type, les références et les contraintes de clé.
la source
Vous pouvez répertorier les tables de la base de données actuelle avec
\dt
.Fwiw,
\d tablename
affichera des détails sur la table donnée, quelque chose commeshow columns from tablename
dans MySQL, mais avec un peu plus d'informations.la source
Utilisation de psql : \ dt
Ou:
la source
Tout d'abord, vous devez vous connecter à votre base de données comme
ma base de données est ubuntu
utilisez cette commande pour vous connecter
Ce message montrera
Maintenant
Exécutez cette commande pour afficher toutes les tables qu'il contient
la source
La façon la plus simple de répertorier toutes les tables en ligne de commande est, à mon goût:
Pour une base de données donnée, ajoutez simplement le nom de la base de données:
Cela fonctionne sur Linux et Windows.
la source
comme oneliner rapide
ou si vous préférez une sortie json multi-liner beaucoup plus claire:
la source
\ dt répertorie les tables et "\ pset pager off" les affiche dans la même fenêtre, sans passer à une autre. J'adore cette fonctionnalité à mort dans dbshell.
la source
Pour afficher les tables étrangères dans psql, exécutez
\dE
la source
Tout d'abord, entrez la base de données dont vous avez besoin pour vous connecter
Ensuite, cela montre toutes les tables du schéma actuel:
la source
Vous pouvez d'abord vous connecter à votre base de données postgres en utilisant postgre.app sur mac ou en utilisant postico. Exécutez la commande suivante:
puis vous entrez votre mot de passe, cela devrait donner accès à votre base de données
la source