Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
|
postgresql [Le 04/12/2024, 15:36] bcag2 [Voir aussi] ajout temboard |
postgresql [Le 02/10/2025, 15:27] (Version actuelle) bcag2 [PgDump] |
||
|---|---|---|---|
| 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 643: | Ligne 610: | ||
| ==== PgDump ==== | ==== PgDump ==== | ||
| + | Cette commande dispose de nombreuses options, cf. [[https://www.postgresql.org/docs/current/app-pgdump.html|la doc officielle sur pg_dump]] pour plus de détails.\\ | ||
| + | Quelques exemples classiques : | ||
| + | <code bash> | ||
| + | # une sauvegarde simple va se faire par : | ||
| + | pg_dump -f dump-de-ma-base.sql ma_base | ||
| + | # si on ne veut que le schéma (le schéma par défaut est le schéma nommé public) : | ||
| + | pg_dump ma_base --schema-only --schema mon_schema -f ~/dump-de-mon-schema.sql | ||
| + | # et de façon similaire, que les données : | ||
| + | pg_dump ma_base --data-only --schema mon_schema -f ~/dump-de-mes-data.sql | ||
| + | # et pour ne sauver qu'une table : | ||
| + | pg_dump ma_base --table ma_table --schema mon_schema -f ~/dump-de-ma-table.sql | ||
| + | </code> | ||
| ==== pgBackRest ==== | ==== pgBackRest ==== | ||
| Le site officiel [[https://pgbackrest.org|pgBackRest]] et [[https://ng-pe.github.io/pgbackrest_doc_fr/user-guide.html|le guide utilisateur traduit]] | Le site officiel [[https://pgbackrest.org|pgBackRest]] et [[https://ng-pe.github.io/pgbackrest_doc_fr/user-guide.html|le guide utilisateur traduit]] | ||