Android

Comment répertorier les bases de données et les tables postgresql à l'aide de psql

Python #32 - base de données

Python #32 - base de données

Table des matières:

Anonim

Lors de l'administration des serveurs de bases de données PostgreSQL, l'une des tâches les plus courantes que vous effectuerez probablement consiste à répertorier les bases de données et leurs tables.

PostgreSQL est livré avec un outil interactif appelé psql qui vous permet de vous connecter au serveur et d'exécuter des requêtes sur celui-ci. Lorsque vous utilisez psql vous pouvez également profiter de ses méta-commandes. Ces commandes sont utiles pour les scripts et l'administration de la ligne de commande. Toutes les méta-commandes commencent par une barre oblique inverse sans guillemets et sont également appelées commandes de barre oblique inverse.

Ce didacticiel explique comment afficher des bases de données et des tables dans un serveur PostgreSQL à l'aide de psql .

Liste des bases de données

Vous pouvez vous connecter au serveur PostgreSQL en utilisant la commande psql comme n'importe quel utilisateur du système. Selon la configuration du serveur, l'utilisateur peut avoir besoin d'entrer son mot de passe pour se connecter au terminal psql. Pour accéder au terminal psql en tant qu'utilisateur auquel vous êtes actuellement connecté, tapez simplement psql .

Lorsque le package PostgreSQL est installé, un utilisateur administratif nommé «postgres» est créé. Par défaut, cet utilisateur peut se connecter au serveur PostgreSQL local sans mot de passe.

Pour accéder au terminal psql tant qu'utilisateur «postgres», exécutez:

sudo -u postgres psql La commande sudo vous permet d'exécuter des commandes en tant qu'autre utilisateur.

Depuis le terminal psql, exécutez la méta-commande \l ou \list pour répertorier toutes les bases de données:

\l

Le résultat comprendra le nombre de bases de données, le nom de chaque base de données, son propriétaire, les privilèges d'encodage et d'accès:

List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+----------+----------+---------+---------+----------------------- odoo | odoo | UTF8 | C | C.UTF-8 | postgres | postgres | UTF8 | C.UTF-8 | C.UTF-8 | template0 | postgres | UTF8 | C.UTF-8 | C.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | C.UTF-8 | C.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres (4 rows)

Le serveur PostgreSQL possède trois bases de données créées par défaut, template0, template1 et postgres. Les deux premiers sont des modèles utilisés lors de la création de nouvelles bases de données.

Pour obtenir une liste de toutes les bases de données sans accéder au shell psql, utilisez le commutateur -c comme indiqué ci-dessous:

sudo -u postgres psql -c "\l"

Une autre façon de répertorier les bases de données consiste à utiliser l'instruction SQL suivante:

SELECT datname FROM pg_database;

Contrairement à la méta-commande \l la requête ci-dessus n'affichera que les noms des bases de données:

datname ----------- postgres odoo template1 template0 (4 rows)

Liste des tableaux

Pour répertorier toutes les tables d'une base de données particulière, vous devez d'abord vous y connecter à l'aide de la méta-commande \c ou \connect . L'utilisateur auquel vous êtes connecté sur le terminal psql doit pouvoir se connecter à la base de données.

Par exemple, pour vous connecter à la base de données nommée «odoo», vous devez taper:

\c odoo

Une fois la base de données changée, utilisez la méta-commande \dt pour répertorier toutes les tables de base de données:

La sortie inclura le nombre de tables, le nom de chaque table et son schéma, type et propriétaire:

List of relations Schema | Name | Type | Owner --------+-----------------------------------------------------+-------+------- public | base_import_import | table | odoo public | base_import_mapping | table | odoo public | base_import_tests_models_char | table | odoo… public | web_editor_converter_test_sub | table | odoo public | web_tour_tour | table | odoo public | wizard_ir_model_menu_create | table | odoo (107 rows)

Si la base de données est vide, la sortie ressemblera à ceci:

No relations found.

Pour obtenir des informations sur les tailles des tables et leurs descriptions, utilisez \dt+ .

Conclusion

Vous avez appris à répertorier les bases de données et les tables PostgreSQL à l'aide de la commande psql .

N'hésitez pas à laisser un commentaire si vous avez des questions.

postgresql