Le client textuel « psql »
Impossible d'accéder à la ressource audio ou vidéo à l'adresse :
La ressource n'est plus disponible ou vous n'êtes pas autorisé à y accéder. Veuillez vérifier votre accès puis recharger la vidéo.
Objectif
Savoir dialoguer avec PostgreSQL via un terminal.
Mise en situation
Une fois PostgreSQL installé sur votre système, il y a deux manières de l'utiliser.
La première est d'écrire du code qui communique directement avec PostgreSQL, et c'est ce que vous ferez si vous développez une application web.
La seconde est de dialoguer avec PostgreSQL à l'aide d'un terminal et de commandes SQL, comme vous le feriez avec un outil comme DBFiddle.
Pour ce faire, on utilisera le shell PosgtreSQL, ou psql
.
Définition : psql
psql
est le client textuel de PostgreSQL. C'est une interface en ligne de commande ou CLI (pour command line interface).
Il permet une utilisation interactive de PostgreSQL.
Méthode : Connexion à un serveur
Le plus souvent, on interagit avec un serveur PostgreSQL distant. Pour initier la connexion avec psql, on utilise la commande suivante :
psql -h adresse.serveur -U user -d mydb
Cette commande opère la connexion avec la machine d'adresse adresse.serveur
avec un utilisateur PostgreSQL nommé user
à la base de données mydb
.
Pour que cette commande fonctionne, il faut que :
Le serveur PostgreSQL s’exécute sur la machine d'adresse
adresse.serveur
(sur le port standard5432
) ;L'utilisateur
user
existe sur PostgreSQL et avoir un mot de passe défini ;Une base de données
mydb
existe sur PostgreSQL et que l'utilisateuruser
y ait accès ;Le mot de passe de l'utilisateur
user
soit renseigné.
Lorsque l'on est connecté au serveur on obtient le prompt de la forme :
psql (9.5.21)
Type "help" for help.
user=>
À partir de là, on peut saisir des requêtes SQL mais aussi des commandes psql.
On sort de psql
avec :
user=> \q
Syntaxe : Écrire une instruction SQL
Une requête SQL peut être directement exécutée. On veillera à ne pas oublier le point virgule «
qui indique la fin de celle-ci.;
»
user=> SELECT * FROM matable ;
Syntaxe : Écrire une instruction SQL sur plusieurs lignes
Une instruction SQL peut s'écrire sur une ou plusieurs lignes, le
n'a pas d'incidence sur la requête, c'est le « retour chariot »
qui marque la fin de l'instruction SQL et provoque son exécution.« ; »
user=> SELECT *
user-> FROM matable
user-> ;
On notera dans psql
la différence entre les caractères «
et =>
»«
selon que l'on a ou pas effectué un retour chariot.->
»
Fondamental : Commandes de base : aide
\?
: Liste des commandes psql
\h
: Liste des instructions SQL
\h CREATE TABLE
: Description de l'instruction SQL CREATE TABLE
Fondamental : Commandes de base : catalogue
\d
: Liste des relations (catalogue de données)
\d maTable
: Description de la relation maTable
Complément : Documentation de psql
Pour obtenir toutes les options sur psql
, on pourra se référer à la documentation de ce client ici :
Complément : pgAdmin 4
Le client pgAdmin4 est un client graphique disponible sous Linux et sous Windows.
pgAdmin4 offre une interface graphique permettant d'effectuer les mêmes opérations qu'avec le client psql
et offrant une navigation simplifiée et un monitoring facilité.
Impossible d'accéder à la ressource audio ou vidéo à l'adresse :
La ressource n'est plus disponible ou vous n'êtes pas autorisé à y accéder. Veuillez vérifier votre accès puis recharger la vidéo.