Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| postgresql [Le 05/03/2024, 11:27] – [Guide de survie pour le client psql] lister les schémas bcag2 | postgresql [Le 04/05/2026, 13:43] (Version actuelle) – [Guide de survie pour le client psql] liste les dates de création des bases de données bcag2 | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | {{tag> | + | {{tag> |
| ---- | ---- | ||
| Ligne 121: | Ligne 121: | ||
| ^ \c nom_base nom_utilisateur | connecte à la base < | ^ \c nom_base nom_utilisateur | connecte à la base < | ||
| ^ \lt | liste les tables de la base courante| | ^ \lt | liste les tables de la base courante| | ||
| - | ^ set search_path to < | + | ^ set search_path to mon_schema1, |
| - | ^ \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 < | ^ \d nom_table_ou_vue | description de la table < | ||
| ^ \d+ nom_table_ou_vue | description complète (avec commentaires!) de la table < | ^ \d+ nom_table_ou_vue | description complète (avec commentaires!) de la table < | ||
| Ligne 166: | Ligne 166: | ||
| REVOKE ALL ON SCHEMA mon_schema FROM mon_role; | REVOKE ALL ON SCHEMA mon_schema FROM mon_role; | ||
| </ | </ | ||
| + | |||
| + | Lister les clés étrangères de la table //matable// dans // | ||
| + | <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 = ' | ||
| + | AND tc.table_schema=' | ||
| + | AND tc.table_name=' | ||
| + | </ | ||
| + | |||
| + | Lister les dates de création des bases de données : | ||
| + | <code sql> | ||
| + | SELECT (pg_stat_file(' | ||
| + | -- Source - https:// | ||
| + | </ | ||
| + | |||
| ====Supprimer l' | ====Supprimer l' | ||
| La suppression de l' | La suppression de l' | ||
| Ligne 232: | Ligne 260: | ||
| Vous pouvez maintenant reprendre le tutoriel au début de la section " | Vous pouvez maintenant reprendre le tutoriel au début de la section " | ||
| ==== encodage UTF-8 ==== | ==== encodage UTF-8 ==== | ||
| - | <note tips> Ce paragraphe est optionnel </ | + | Postgresql se base sur la configuration du système d'exploitation… |
| - | FIXME En version PostgreSQL 9.1.5, l' | + | |
| - | + | ||
| - | L'installateur initialise le cluster postgresql avec le support de jeux de caractères SQL_ASCII | + | |
| - | + | ||
| - | Pour ceux qui souhaitent privilégier l' | + | |
| - | + | ||
| - | === jeux de caractères | + | |
| - | * Connexion en tant qu'utilisateur postgres | + | |
| - | + | ||
| - | sudo -i -u postgres | + | |
| - | + | ||
| - | psql -l | + | |
| - | List of databases | + | |
| - | Name | Owner | Encoding | + | |
| - | ----------+----------+-----------+---------+-------+----------------------- | + | |
| - | postgres | + | |
| - | template0 | postgres | SQL_ASCII | C | C | =c/ | + | |
| - | | | | + | |
| - | template1 | postgres | SQL_ASCII | C | C | =c/ | + | |
| - | | | | + | |
| - | + | ||
| - | === supprimer le cluster et le recréer === | + | |
| - | + | ||
| - | * Identifier la version et le nom de votre cluster | + | |
| - | < | + | |
| - | $ pg_lsclusters | + | |
| - | Version Cluster | + | |
| - | 9.1 | + | |
| - | </ | + | |
| - | * 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 | + | |
| - | < | + | |
| - | $ psql -l | + | |
| - | List of databases | + | |
| - | Name | Owner | Encoding | | + | |
| - | ----------+----------+----------+-------------+-------------+----------------------- | + | |
| - | postgres | + | |
| - | template0 | postgres | UTF8 | fr_FR.UTF-8 | fr_FR.UTF-8 | =c/ | + | |
| - | | | | | + | |
| - | template1 | postgres | UTF8 | fr_FR.UTF-8 | fr_FR.UTF-8 | =c/ | + | |
| - | | | | | + | |
| - | </ | + | |
| ==== Créer un utilisateur PostgreSQL ==== | ==== Créer un utilisateur PostgreSQL ==== | ||
| Ligne 638: | Ligne 612: | ||
| ====Pool de connexion : PgBouncer==== | ====Pool de connexion : PgBouncer==== | ||
| [[pgbouncer|PgBouncer]] | [[pgbouncer|PgBouncer]] | ||
| - | ===== Récupération du contenu d'une base de données | + | ===== Sauvegarde et Restauration ===== |
| + | Il est conseillé de lire le support de [[# | ||
| + | On pourra lire aussi [[https:// | ||
| + | |||
| + | ==== PgDump ==== | ||
| + | Cette commande dispose de nombreuses options, cf. [[https:// | ||
| + | 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 ~/ | ||
| + | # et pour ne sauver qu'une table : | ||
| + | pg_dump ma_base --table ma_table --schema mon_schema -f ~/ | ||
| + | </ | ||
| + | ==== pgBackRest ==== | ||
| + | Le site officiel [[https:// | ||
| + | |||
| + | === Installation | ||
| + | Simplement | ||
| + | <code bash> | ||
| + | sudo apt install pgbackrest | ||
| + | </ | ||
| + | ==== 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' | Supposons que vous ayez installé sous [[ubuntu_server|ubuntu server]] une application d' | ||
| * 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 700: | ||
| ===== Voir aussi ===== | ===== Voir aussi ===== | ||
| * [[https:// | * [[https:// | ||
| + | * (en) [[https:// | ||
| ---- | ---- | ||
| // | // | ||
