Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
postgresql [Le 05/03/2024, 11:27]
bcag2 [Guide de survie pour le client psql] lister les schémas
postgresql [Le 10/12/2024, 14:20] (Version actuelle)
bcag2 [encodage UTF-8] par défaut car par défaut sous Ubuntu (+ v9 n'est plus supporté!)
Ligne 1: Ligne 1:
-{{tag>​sgbd serveur réseau ​BROUILLON}}+{{tag>​sgbd serveur réseau ​programmation}}
  
 ---- ----
Ligne 121: Ligne 121:
 ^ \c nom_base nom_utilisateur | connecte à la base <​nom_base>​ avec le rôle <​nom_utilisateur>​| ^ \c nom_base nom_utilisateur | connecte à la base <​nom_base>​ avec le rôle <​nom_utilisateur>​|
 ^ \lt | liste les tables de la base courante| ^ \lt | liste les tables de la base courante|
-^ set search_path to <​mon_schéma>​; | intéressant à faire avant la commande ci-dessous !-)| +^ set search_path to mon_schema1,​ mon_schema2; | intéressant à faire avant la commande ci-dessous !-)| 
-^ \d | liste les tables du schéma courant|+^ \d | liste les tables du ou des schéma·s courant·s|
 ^ \d nom_table_ou_vue | description de la table <​nom_table>​ (colonne, type…) ou de la vue nom_vue| ^ \d nom_table_ou_vue | description de la table <​nom_table>​ (colonne, type…) ou de la vue nom_vue|
 ^ \d+ nom_table_ou_vue | description complète (avec commentaires!) de la table <​nom_table>​ (colonne, type…) ou de la vue nom_vue avec son code source| ^ \d+ nom_table_ou_vue | description complète (avec commentaires!) de la table <​nom_table>​ (colonne, type…) ou de la vue nom_vue avec son code source|
Ligne 232: Ligne 232:
 Vous pouvez maintenant reprendre le tutoriel au début de la section "​L'​utilisateur postgres"​. Vous pouvez maintenant reprendre le tutoriel au début de la section "​L'​utilisateur postgres"​.
 ==== encodage UTF-8  ==== ==== encodage UTF-8  ====
-<note tips> Ce paragraphe est optionnel </​note>​ +Postgresql se base sur la configuration du système d'exploitation… ​qui est en UTF-8 par défaut ​sous les versions francophone d'Ubuntu.
-FIXME En version PostgreSQL 9.1.5, l'​installateur semble avoir directement créé avec le bon codage. Cette opération semble donc être devenue inutile. +
- +
-L'installateur initialise le cluster postgresql avec le support de jeux de caractères SQL_ASCII +
- +
-Pour ceux qui souhaitent privilégier l'​encodage **UTF-8** / locale **FR-fr**, il faut supprimer le cluster et le recréer. +
- +
-=== jeux de caractères ​par défaut ​=== +
-  * Connexion en tant qu'utilisateur postgres +
- +
-  sudo -i -u postgres +
- +
-  psql -l +
-                             List of databases +
-    Name    |  Owner   | Encoding ​ | Collate | Ctype |   ​Access privileges ​   +
-  ----------+----------+-----------+---------+-------+----------------------- +
-  postgres ​ | postgres | SQL_ASCII | C       | C     |  +
-  template0 | postgres | SQL_ASCII | C       | C     | =c/​postgres ​         + +
-            |          |           ​| ​        ​| ​      | postgres=CTc/​postgres +
-  template1 | postgres | SQL_ASCII | C       | C     | =c/​postgres ​         + +
-            |          |           ​| ​        ​| ​      | postgres=CTc/​postgres +
- +
-=== supprimer le cluster et le recréer === +
- +
-  * Identifier la version et le nom de votre cluster +
-<​code>​ +
-$ pg_lsclusters  +
-  Version Cluster ​  Port Status Owner    Data directory ​                    Log file +
-  9.1     ​main ​     5432 online postgres /​var/​lib/​postgresql/​9.1/​main ​      /​var/​log/​postgresql/​postgresql-9.1-main.log +
-</​code>​ +
-  * Supprimer le cluster +
- +
-  pg_dropcluster 9.1 main --stop +
- +
-  * Créer le cluster +
- +
-  pg_createcluster --locale fr_FR.UTF-8 9.1 main +
- +
-  * Démarrage +
- +
-  pg_ctlcluster 9.1 main start +
- +
-Les bases systèmes seront alors conformes aux locales système +
-<​code>​ +
-$ psql -l +
-                                  List of databases +
-    Name    |  Owner   | Encoding |   ​Collate ​  ​| ​   Ctype    |   ​Access privileges ​   +
-  ----------+----------+----------+-------------+-------------+----------------------- +
-  postgres ​ | postgres | UTF8     | fr_FR.UTF-8 | fr_FR.UTF-8 |  +
-  template0 | postgres | UTF8     | fr_FR.UTF-8 | fr_FR.UTF-8 | =c/​postgres ​         + +
-            |          |          |             ​| ​            | postgres=CTc/​postgres +
-  template1 | postgres | UTF8     | fr_FR.UTF-8 | fr_FR.UTF-8 | =c/​postgres ​         + +
-            |          |          |             ​| ​            | postgres=CTc/​postgres +
-</​code>​ +
  
 ==== Créer un utilisateur PostgreSQL ==== ==== Créer un utilisateur PostgreSQL ====
Ligne 638: Ligne 584:
 ====Pool de connexion : PgBouncer==== ====Pool de connexion : PgBouncer====
 [[pgbouncer|PgBouncer]] [[pgbouncer|PgBouncer]]
-===== Récupération du contenu d'une base de données après un crash serveur ​=====+===== Sauvegarde et Restauration ===== 
 +Il est conseillé ​de lire le support de [[#​formations|formation]] //​PostgreSQL Administration (DBA1)// qui contient les chapitres //Politique de sauvegarde//​ et //​Sauvegarde et restauration//​\\ 
 +On pourra lire aussi [[https://​cyber.gouv.fr/​sites/​default/​files/​document/​anssi-fondamentaux-sauvegarde_systemes_dinformation_v1-0.pdf|SAUVEGARDE DES SYSTÈMES D’INFORMATION − LES FONDAMENTAUX]] de l’ANSII 
 + 
 +==== PgDump ==== 
 + 
 +==== pgBackRest ==== 
 +Le site officiel [[https://​pgbackrest.org|pgBackRest]] et [[https://​ng-pe.github.io/​pgbackrest_doc_fr/​user-guide.html|le guide utilisateur traduit]]  
 + 
 +=== Installation ​=== 
 +Simplement  
 +<code bash> 
 +sudo apt install pgbackrest 
 +</​code>​
  
 +==== Récupération du contenu d'une base de données après un crash serveur ====
 Supposons que vous ayez installé sous [[ubuntu_server|ubuntu server]] une application d'​entreprise s'​appuyant sur une base de données postgresql (cette procédure a été testée avec [[redmine|redmine]]),​ et qu'un crash se produise qui rende impossible de redémarrer le serveur. Se pose alors le problème de la récupération des données. La procédure est relativement simple. Il va vous falloir: Supposons que vous ayez installé sous [[ubuntu_server|ubuntu server]] une application d'​entreprise s'​appuyant sur une base de données postgresql (cette procédure a été testée avec [[redmine|redmine]]),​ et qu'un crash se produise qui rende impossible de redémarrer le serveur. Se pose alors le problème de la récupération des données. La procédure est relativement simple. Il va vous falloir:
   * Monter votre ancienne installation depuis une autre installation ou via un live cd   * Monter votre ancienne installation depuis une autre installation ou via un live cd
Ligne 701: Ligne 661:
 ===== Voir aussi ===== ===== Voir aussi =====
   * [[https://​www.pgmodeler.io|PgModeler]] qui permet de définir le modèle et générer les scripts de mise à jour de la base postgresql, installable depuis les dépôts <code bash>​sudo apt install pgmodeler</​code>​   * [[https://​www.pgmodeler.io|PgModeler]] qui permet de définir le modèle et générer les scripts de mise à jour de la base postgresql, installable depuis les dépôts <code bash>​sudo apt install pgmodeler</​code>​
 +  * (en) [[https://​labs.dalibo.com/​temboard|temboard]] outils de supervision et configuration d'​instances Postgresql
  
 ---- ----
  
 //​Contributeurs : [[utilisateurs:​yannick_LM|Yannick]],​ [[utilisateurs:​sparky|Sparky]],​ [[utilisateurs:​elemmire|Elemmire]],​ [[utilisateurs:​aldian|Aldian]],​ [[utilisateurs:​fred|Fred]],​ [[utilisateurs:​xavierjm|XAVIER_jean-marie]],​ [[utilisateurs:​bcag2|bcag2]] // //​Contributeurs : [[utilisateurs:​yannick_LM|Yannick]],​ [[utilisateurs:​sparky|Sparky]],​ [[utilisateurs:​elemmire|Elemmire]],​ [[utilisateurs:​aldian|Aldian]],​ [[utilisateurs:​fred|Fred]],​ [[utilisateurs:​xavierjm|XAVIER_jean-marie]],​ [[utilisateurs:​bcag2|bcag2]] //
  • postgresql.1709634449.txt.gz
  • Dernière modification: Le 05/03/2024, 11:27
  • par bcag2