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 20/08/2024, 10:25]
bcag2 ajout [Sauvegarde et Restauration], [Pgdum], [pgBackRest]
postgresql [Le 30/07/2025, 16:20] (Version actuelle)
bcag2 [Guide de survie pour le client psql]
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 165: Ligne 165:
 <code sql> <code sql>
 REVOKE ALL ON SCHEMA mon_schema FROM mon_role; REVOKE ALL ON SCHEMA mon_schema FROM mon_role;
 +</​code>​
 +
 +Lister les clés étrangères de la table //matable// dans //​monschema//​ :
 +<code sql>
 +SELECT
 +    tc.table_schema, ​
 +    tc.constraint_name, ​
 +    tc.table_name, ​
 +    kcu.column_name, ​
 +    ccu.table_schema AS foreign_table_schema,​
 +    ccu.table_name AS foreign_table_name,​
 +    ccu.column_name AS foreign_column_name ​
 +FROM information_schema.table_constraints AS tc 
 +JOIN information_schema.key_column_usage AS kcu
 +    ON tc.constraint_name = kcu.constraint_name
 +    AND tc.table_schema = kcu.table_schema
 +JOIN information_schema.constraint_column_usage AS ccu
 +    ON ccu.constraint_name = tc.constraint_name
 +WHERE tc.constraint_type = '​FOREIGN KEY'
 +    AND tc.table_schema='​monschema'​
 +    AND tc.table_name='​matable';​
 </​code>​ </​code>​
 ====Supprimer l'​utilisateur Postgres du greeter sous xubuntu 14.04.1==== ====Supprimer l'​utilisateur Postgres du greeter sous xubuntu 14.04.1====
Ligne 232: Ligne 253:
 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 715: Ligne 682:
 ===== 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.1724142311.txt.gz
  • Dernière modification: Le 20/08/2024, 10:25
  • par bcag2