Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
informatique:db:postgresql [2012/10/29 15:49] – créée bn8 | informatique:db:postgresql [2024/06/03 10:09] (Version actuelle) – ajout procédure resynchronisation bn8 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== | + | ====== |
===== Créé un utilisateur et sa base ===== | ===== Créé un utilisateur et sa base ===== | ||
- | < | + | < |
CREATE DATABASE mydb OWNER myuser;</ | CREATE DATABASE mydb OWNER myuser;</ | ||
+ | ===== Modifier le mot de passe d'un utilisateur ===== | ||
+ | |||
+ | <code sql> | ||
+ | |||
+ | ===== Mise en place d'un réplication ===== | ||
+ | |||
+ | <note tip> | ||
+ | |||
+ | Sur le serveur maître (pré-installé et alimenté, IP '' | ||
+ | |||
+ | - éditer le fichier ''/ | ||
+ | - ajuster le paramètre '' | ||
+ | - mettre le paramètre '' | ||
+ | - mettre le paramètre '' | ||
+ | - pour une connexion synchrone, ajuster également : | ||
+ | - '' | ||
+ | - '' | ||
+ | - Créer un utilisateur dédié à la réplication : '' | ||
+ | - Autoriser les connexions de cette utilisateur depuis la machine esclave en ajoutant la ligne suivante dans le fichier ''/ | ||
+ | - Redémarrer PostgreSQL : '' | ||
+ | - Ajuster le parefeu pour accepter les connexions PostgreSQL (port TCP 5432 classiquement) depuis le serveur esclave | ||
+ | |||
+ | Sur le serveur esclave (pré-installé, | ||
+ | |||
+ | - Ajuster le parefeu pour accepter les connexions sortantes PostgreSQL (port TCP 5432 classiquement) vers le serveur maître | ||
+ | - Stopper PostgreSQL : '' | ||
+ | - Supprimer les données de la base actuelle : '' | ||
+ | - Restaurer les données depuis l' | ||
+ | - Éditer le fichier ''/ | ||
+ | - Redémarrer PostgreSQL : '' | ||
+ | |||
+ | <note tip>Pour vérifier que le serveur esclave est bien démarré et synchronisé, | ||
+ | * depuis le serveur maître : <code sql> | ||
+ | * depuis le serveur esclave : <code sql> | ||
+ | </ | ||
+ | |||
+ | ==== Resynchronisation ==== | ||
+ | |||
+ | <code bash> | ||
+ | # Retrieve remote host configuration | ||
+ | PGDIR=/ | ||
+ | PGUSER=$(grep primary_conninfo $PGDIR/ | ||
+ | PGPASSWORD=$(grep primary_conninfo $PGDIR/ | ||
+ | PGHOST=$(grep primary_conninfo $PGDIR/ | ||
+ | cat << EOF | ||
+ | Remote host: $PGHOST | ||
+ | Username: $PGUSER | ||
+ | Password: $PGPASSWORD | ||
+ | EOF | ||
+ | |||
+ | # Start resync | ||
+ | systemctl stop postgresql | ||
+ | rm -rf $PGDIR/* | ||
+ | time sudo -u postgres pg_basebackup -h $PGHOST -U $PGUSER -D $PGDIR/ -R --progress | ||
+ | systemctl start postgresql | ||
+ | </ | ||