accueil > Autres paquets externes > psql

psql : Terminal interactif PostgreSQL

psql est un client en ligne de commande qui permet de se connecter aux bases de données PostgreSQL, d'exécuter des requêtes SQL, de gérer les objets de base de données et de consulter les métadonnées. Il prend en charge à la fois le mode interactif et le mode d'exécution de scripts.

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.


Commandes de la même catégorie