on précise pas la version majeure pour faire moins obsolète

This commit is contained in:
Daniel Jakots 2017-11-30 17:57:58 -05:00
parent f22c46f77b
commit 183f4127e6

View file

@ -27,7 +27,7 @@ Voir la documentation présente sur la page principale <https://wiki.evolix.org/
_Cette configuration est relative au serveur maître, mais elle doit également être reprise à l'identique sur le serveur réplicat, dans le cas où les rôles doivent être échangés (suite à un failover/switchover)._
Décommenter ou ajouter les directives suivantes dans le fichier _/etc/postgresql/9.2/main/postgresql.conf_ :
Décommenter ou ajouter les directives suivantes dans le fichier _/etc/postgresql/9.X/main/postgresql.conf_ :
~~~
# Nécessaire pour que le réplicat puisse se connecter.
@ -65,7 +65,7 @@ hostssl replication repl 192.0.2.2/32 md5
_Cette configuration est relative au serveur réplicat, mais elle doit également être reprise à l'identique sur le serveur maître, en renommant le fichier _recovery.conf_ pour qu'il ne soit pas pris en compte._
Décommenter ou ajouter les directives suivantes dans le fichier _/etc/postgresql/9.2/main/postgresql.conf_ :
Décommenter ou ajouter les directives suivantes dans le fichier _/etc/postgresql/9.X/main/postgresql.conf_ :
~~~
# Le serveur est en mode réplicat en lecture seule
@ -77,14 +77,14 @@ Créer un fichier _recovery.conf_ avec les info suivantes :
~~~
# echo "standby_mode = 'on'
> primary_conninfo = 'host=192.0.2.1 user=repl password=xxxxxxxx application_name=foo'
> archive_cleanup_command = '/usr/lib/postgresql/9.2/bin/pg_archivecleanup /srv/pg-archives/ %r'
> recovery_target_timeline = 'latest'" >~postgres/9.2/main/recovery.conf
> archive_cleanup_command = '/usr/lib/postgresql/9.X/bin/pg_archivecleanup /srv/pg-archives/ %r'
> recovery_target_timeline = 'latest'" >~postgres/9.X/main/recovery.conf
~~~
Il est nécessaire que ce fichier appartiennent à l'utilisateur _postgres_, notamment pour le [#Passerunserveurréplicatenmaître failover] :
~~~
# chown postgres:postgres ~postgres/9.2/main/recovery.conf
# chown postgres:postgres ~postgres/9.X/main/recovery.conf
~~~
### Synchronisation initiale des données
@ -99,7 +99,7 @@ postgres$ psql -c "SELECT pg_start_backup('synchro initiale')"
* lancer le rsync du datadir vers le réplicat :
~~~
# rsync -avz --delete --exclude /pg_xlog/* --exclude /postmaster.* --exclude /recovery.* ~postgres/9.2/main/ 192.0.2.2:~postgres/9.2/main/
# rsync -avz --delete --exclude /pg_xlog/* --exclude /postmaster.* --exclude /recovery.* ~postgres/9.X/main/ 192.0.2.2:~postgres/9.X/main/
~~~
* indiquer à PostgreSQL que le backup est terminé :
@ -146,7 +146,7 @@ sync_state | async
~~~
Les données à surveiller sont notamment les _*_location_, qui indique la position courante dans les WAL à différentes étapes de la réplication.
Voir <http://www.postgresql.org/docs/9.2/static/monitoring-stats.html#PG-STAT-REPLICATION-VIEW> pour le détails des champs.
Voir <http://www.postgresql.org/docs/9.X/static/monitoring-stats.html#PG-STAT-REPLICATION-VIEW> pour le détails des champs.
* Pour pouvoir quantifié le retard de réplication, on peut utiliser la commande [check_postgres](http://bucardo.org/check_postgres/check_postgres.pl.html) avec l'option _hot_standby_delay_ :
~~~
@ -161,13 +161,13 @@ Où localhost est le maître et 192.0.2.2 le réplicat. Les valeurs de _replay_d
Si le maître est toujours joignable, éteindre PostgreSQL en forçant la déconnexion des clients :
~~~
# pg_ctlcluster 9.2 main stop -- -m fast
# pg_ctlcluster 9.X main stop -- -m fast
~~~
Sur le réplicat, faire en sorte que PostgreSQL accepte les connexions en écriture :
~~~
# pg_ctlcluster 9.2 main promote
# pg_ctlcluster 9.X main promote
~~~
Le réplicat va d'abord rattraper son éventuel retard dans le traitement des logs de réplication, puis une fois prêt se mettra à accepter les requêtes en écritures.