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)._ _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. # 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._ _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 # 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' # echo "standby_mode = 'on'
> primary_conninfo = 'host=192.0.2.1 user=repl password=xxxxxxxx application_name=foo' > 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' > archive_cleanup_command = '/usr/lib/postgresql/9.X/bin/pg_archivecleanup /srv/pg-archives/ %r'
> recovery_target_timeline = 'latest'" >~postgres/9.2/main/recovery.conf > 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] : 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 ### 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 : * 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é : * 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. 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_ : * 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 : 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 : 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. 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.