Client psql

Note

Guide pour utiliser le client psql avec un tunnel ssh

Installer psql

À partir de Télécharger le fichier d’installation.

Le fichier d’installation contient l’installation du serveur et d’un outil d’administration du serveur.

Vous n’avez besoin que du client en ligne de commande. Lors de l’installation, décochez tout sauf Command Line Tool.

Utiliser psql

TipOuvrir un tunnel ssh

Vous utiliserez psql pour interroger le serveur PostgreSQL via un tunnel ssh. Pour établir ce tunnel reportez-vous à la page Connexion au serveur

Connexion au serveur PostGreSQL

Utilisez votre tunnel SSH pour accéder au serveur PostGreSQL.

Dans une autre fenêtre terminal, lancez la commande suivante et saisissez à nouveau votre mot de passe.

$ psql -p 5436 -U id_ent -W -h localhost -d bd_2023-24
Password for id_ent: 

Vous êtes maintenant dans une session sur le serveur PostGreSQL. Vous êtes connecté au catalogue bd_2023-24.

Vous pouvez utiliser une grande partie des commandes magiques de psql.

Choisir un schéma par défaut (ici world)

bd_2023-24=# SET search_path TO world ;
SET

Lister les tables du schéma par défaut

bd_2023-24=# \d
+--------+-----------------+-------+-----------+
| Schema | Name            | Type  | Owner     |
|--------+-----------------+-------+-----------|
| world  | city            | table | boucheron |
| world  | country         | table | boucheron |
| world  | countrylanguage | table | boucheron |
+--------+-----------------+-------+-----------+
(3 rows)

Schéma d’une table

bd_2023-24=# \d city
 
+-------------+--------------+-----------+
| Column      | Type         | Modifiers |
|-------------+--------------+-----------|
| id          | integer      |  not null |
| name        | text         |  not null |
| countrycode | character(3) |  not null |
| district    | text         |  not null |
| population  | integer      |  not null |
+-------------+--------------+-----------+
Indexes:
    "city_pkey" PRIMARY KEY, btree (id)
Foreign-key constraints:
    "city_country_fk" FOREIGN KEY (countrycode) REFERENCES country(countrycode) ON UPDATE CASCADE ON DELETE SET NULL DEFE>
Referenced by:
    TABLE "country" CONSTRAINT "country_capital_fkey" FOREIGN KEY (capital) REFERENCES city(id)

Informations de connexion

bd_2023-24=# \conninfo
You are connected to database "bd_2023-24" as user "id_end" on host "localhost"  (address "127.0.0.1") at port "5436".

Editer, sauvegarder et exécuter des requêtes

Dans le répertoire Documents, vous créez un répertoire bdd puis un sous répertoire tp1.

Dans un éditeur de texte, vous saisissez votre requête :

SELECT *
FROM world.city ci
WHERE ci.countrycode='FRA' ;

sauvegardée dans le répertoire tp1 sous le nom requete1.sql.

Dans la session sur bd_2023-24, vous pouvez maintenant inclure et exécuter cette requête.

bd_2023-24> \i ~/Documents/bdd/tp1/requete1.sql
+------+----------------------+-------------+----------------------+------------+
| id   | name                 | countrycode | district             | population |
|------+----------------------+-------------+----------------------+------------|
| 2974 | Paris                | FRA         | Île-de-France        | 2125246    |
| 2975 | Marseille            | FRA         | Provence-Alpes-Côte  | 798430     |
| 2976 | Lyon                 | FRA         | Rhône-Alpes          | 445452     |
| 2977 | Toulouse             | FRA         | Midi-Pyrénées        | 390350     |
| 2978 | Nice                 | FRA         | Provence-Alpes-Côte  | 342738     |
...

Vous faîtes défiler l’affichage avec les touches flèches puis vous sortez du pager avec la commande q.

Note : vous pouvez lancer aussi l’édition d’une requête depuis psql :

bd_2023-24=# \e 

Select an editor.  To change later, run 'select-editor'.
  1. /bin/nano        <---- easiest
  2. /usr/bin/vim.basic
  3. /usr/bin/code
  4. /bin/ed
Choose 1-4 [1]: 3

Documentation

Documentation psql)