Introduction et rappels
- Modes de sauvegarde : physique, logique.
- Journaux de transactions PostgreSQL : les WAL.
- Sauvegarde physique.
- Archivage continu.
- Restauration d’une instance - PITR.
- Outils : pg_basebackup, pg_receivewal.
Travaux pratiques
Réalisation de sauvegarde à chaud et restauration partielle.
Réplication physique
- Création d’un serveur de secours physique.
- Configuration de la réplication.
- Réplication synchrone/asynchrone.
- Les slots de réplication.
- Surveillance de la réplication.
- Bascule contrôlée.
- Bascule sur incident et promotion du serveur de secours.
Travaux pratiques
Mise en œuvre d'une réplication. Manipulations des paramètres de configuration.
Réplication logique
- Différences par rapport à la réplication physique.
- Modèle PUBLISH/SUBSCRIBE.
- Slots de réplication logique.
- Réplication logique intégrée.
Travaux pratiques
Mise en place de la réplication logique.
Load balancing et bascule
- Installation et configuration d'un outil d'équilibrage de charge.
- Test avec pgbench.
- Procédure de récupération.
Travaux pratiques
Configuration, tests et scénarios de panne.
Le gestionnaire de sessions : pgbouncer
- Installation de pgbouncer.
- Configuration des pools et des sessions.
- Gestion de la sécurité.
- Mise en œuvre.
- Cas d'utilisation.
Travaux pratiques
Mise en place d'une solution de lissage de charge avec pgbouncer.
Bascule automatique : cas de Patroni
- Concepts, DCS, protocole raft.
- Mise en place de pgBackRest.
- Installation et configuration du premier nœud Patroni.
- Mise en place des autres nœuds Patroni.
- Point d’accès applicatif: pgbouncer ou haproxy.
- Bascule contrôlée.
- Bascule sur incident.
Travaux pratiques
Test de restauration et bascule automatique Patroni/haproxy sur scénarios.