Client pgcli

Note

Guide pour utiliser le client pgcli avec un tunnel ssh

Installer pgcli

À partir de pgcli.com

Utiliser pgcli

TipOuvrir un tunnel ssh

Vous utiliserez pgcli 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.

$ pgcli -p 5436 -U id_ent -W -h localhost -d bd_2023-24
Password for id_ent: 
Server: PostgreSQL 13.8
Version: 4.0.1
Home: http://pgcli.com
bd_2023-24> 

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 pgcli.

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

bd_2023-24> SET search_path TO world ;
SET
Time: 0.002s

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 |
+--------+-----------------+-------+-----------+
SELECT 3
Time: 0.013s

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 DEFERRABLE
Referenced by:
    TABLE "country" CONSTRAINT "country_capital_fkey" FOREIGN KEY (capital) REFERENCES city(id)

Time: 0.025s

Informations de connexion

bd_2023-24> \conninfo
You are connected to database "bd_2023-24" as user "id_end" on host "localhost" at port "5436".
Time: 0.000s

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 pgcli :

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

/usr/bin/code est le chemin du logiciel vs code s’il est installé. C’est le plus convivial. Vous choisissez alors la ligne qui lui correspond.

NoteJetez un oeil sur les named queries

Documentation

Documentation pgcli