Aperçu
psql est un outil puissant pour interagir avec les bases de données PostgreSQL. Il fournit non seulement des commandes SQL, mais aussi diverses méta-commandes (commandes commençant par une barre oblique inverse) qui simplifient les tâches d'administration de la base de données.
Fonctionnalités principales
- Exécution de requêtes SQL
- Gestion des bases de données et des tables
- Configuration des utilisateurs et des permissions
- Exécution de fichiers de scripts
- Fournit un environnement de shell interactif
Options principales
Voici les principales options disponibles en ligne de commande pour psql.
Options de connexion
Options d'exécution de commande
Commande générée :
Essayez de combiner les commandes.
Description:
`psql` Exécute la commande.
Essayez d'exécuter virtuellement les commandes avec l'IA en combinant les options ci-dessus.
Exemples d'utilisation
Voici divers exemples d'utilisation de la commande psql.
Connexion à la base de données par défaut
psql
Se connecte à la base de données par défaut avec l'utilisateur par défaut (l'utilisateur système actuel).
Connexion à une base de données et un utilisateur spécifiques
psql -U myuser -d mydb -W
Se connecte à la base de données 'mydb' en tant qu'utilisateur 'myuser'. Une invite pour saisir le mot de passe apparaîtra.
Connexion à un serveur distant
psql -h db.example.com -p 5432 -U postgres
Se connecte au port 5432 de l'hôte distant (db.example.com) en tant qu'utilisateur postgres.
Exécution d'une seule commande SQL
psql -U postgres -d postgres -c "SELECT version();"
Exécute une commande SQL pour interroger la version de la base de données et quitte psql.
Exécution d'un fichier de script SQL
psql -U postgres -d mydb -f script.sql
Exécute les commandes SQL contenues dans le fichier script.sql.
Affichage de la liste des bases de données
psql -l
Affiche la liste de toutes les bases de données sur le serveur PostgreSQL actuel.
Installation
psql est fourni dans le cadre du package client PostgreSQL. La plupart des distributions Linux permettent d'installer uniquement les outils clients sans installer le serveur PostgreSQL.
Debian/Ubuntu
sudo apt update
sudo apt install postgresql-client
Installe les outils clients PostgreSQL à l'aide du gestionnaire de paquets apt.
RHEL/CentOS/Fedora
sudo dnf install postgresql
Installe les outils clients PostgreSQL à l'aide du gestionnaire de paquets yum ou dnf.
Conseils et précautions
Voici quelques conseils et précautions pour utiliser psql plus efficacement.
Méta-commandes psql principales
Vous pouvez effectuer diverses opérations en utilisant des commandes commençant par une barre oblique inverse (\) dans le shell psql.
- \l : Affiche la liste de toutes les bases de données
- \dt : Affiche la liste des tables de la base de données actuelle
- \du : Affiche la liste de tous les utilisateurs (rôles)
- \d <table> : Affiche les informations de schéma d'une table spécifique
- \q : Quitte psql
- \? : Affiche l'aide pour toutes les méta-commandes
Utilisation des variables d'environnement
Vous pouvez simplifier les commandes psql en définissant les informations de connexion fréquemment utilisées dans des variables d'environnement.
- PGHOST: Nom d'hôte ou adresse IP
- PGPORT: Numéro de port
- PGUSER: Nom d'utilisateur
- PGDATABASE: Nom de la base de données
- PGPASSWORD: Mot de passe (non recommandé pour des raisons de sécurité, l'utilisation du fichier .pgpass est conseillée)
Fichier .pgpass
Pour stocker les mots de passe en toute sécurité sans les exposer dans la ligne de commande ou les variables d'environnement, il est recommandé d'utiliser le fichier ~/.pgpass. Ce fichier stocke les mots de passe pour des hôtes, ports, bases de données et noms d'utilisateurs spécifiques, permettant à psql de s'authentifier automatiquement.