standby_mode
(booléen
)
Spécifie s'il faut démarrer le serveur PostgreSQL
en tant que standby. Si ce paramètre est à on
, le
serveur n'arrête pas la récupération quand la fin du WAL archivé est
atteinte, mais continue d'essayer de poursuivre la récupération
en récupérant de nouveaux segments en utilisant restore_command
et/ou en se connectant au serveur primaire comme spécifié par le paramètre
primary_conninfo
.
primary_conninfo
(chaîne de caractères
)Spécifie au serveur de standby la chaîne de connexion à utiliser pour atteindre le primaire. Cette chaîne est dans le format décrie dans Section 33.1.1. Si une option n'est pas spécifiée dans cette chaîne, alors la variable d'environnement correspondante (voir Section 33.14) est examinée. Si la variable d'environnement n'est pas positionnée non plus, la valeur par défaut est utilisée.
La chaîne de connexion devra spécifier le nom d'hôte (ou adresse) du
serveur primaire, ainsi que le numéro de port si ce n'est pas le même
que celui par défaut du serveur de standby.
Spécifiez aussi un nom d'utilisateur disposant des droits adéquats
sur le primaire (voir Section 26.2.5.1).
Un mot de passe devra aussi être fourni, si le primaire demande une
authentification par mot de passe. Il peut être fourni
soit dans la chaîne primary_conninfo
soit
séparément dans un fichier ~/.pgpass
sur le serveur
de standby (utilisez replication
comme nom de
base de données).
Ne spécifiez pas de nom de base dans la chaîneprimary_conninfo
Ce paramètre n'a aucun effet si standby_mode
vaut off
.
primary_slot_name
(string
)
Indique en option un slot de réplication existant à utiliser lors de
la connexion au serveur principal via la réplication en vue, dans le
but de contrôler la suppression des ressources sur le serveur principal
(voir Section 26.2.6). Ce paramètre n'a
aucun effet si le paramètre primary_conninfo
n'est pas
configuré.
trigger_file
(chaîne de caractères
)
Spécifie un fichier trigger dont la présence met fin à la récupération
du standby. Même si cette valeur n'est pas configurée, vous pouvez
toujours promouvoir le serveur en attente en utilisant
pg_ctl promote
.
Ce paramètre n'a aucun effet si standby_mode
vaut off
.
recovery_min_apply_delay
(integer
)
Par défaut, un serveur standby restaure les enregistrements des journaux
de transactions provenant du serveur primaire dès que possible. Dans
certains cas, il peut se révéler utile d'avoir une copie des données dont
la restauration accuse un certain retard programmé. Cela ouvre notamment
différentes options pour corriger les erreurs de perte de données. Ce
paramètre vous permet de retarder la restauration pr une période de temps
fixe, spécifiée en millisecondes si aucune unité n'est spécifiée. Par
exemple, si vous configurez ce paramètre à 5min
, le
serveur standby rejouera chaque transaction seulement quand l'horloge
système de l'esclave dépasse de cinq minutes l'heure de validation
rapportée par le serveur maître.
Il est possible que le délai de réplication entre serveurs dépasse la valeur de ce paramètre, auquel cas aucun délai n'est ajouté. Notez que le délai est calculé entre l'horodatage du journal de transactions écrit sur le maître et la date et heure courante sur le standby. Les délais de transfert dûs aux réseaux et aux configurations de réplication en cascade peuvent réduire le temps d'attente réel de façon significative. Si les horloges systèmes du maître et de l'esclave ne sont pas synchronisés, cela peut amener à la restauration d'enregistrements avant le délai prévu ; mais ce n'est pas un problème grave car les valeurs intéressantes pour ce paramètre sont bien au dessus des déviations d'horloge typiques.
Le délai survient seulement sur les validations (COMMIT) des transactions. D'autres enregistrements sont rejoués aussi rapidement que possible, ce qui n'est pas un problème car les règles de visibilité MVCC nous assurent que leurs effets ne sont pas visibles jusqu'à l'application de l'enregistrement du COMMIT.
Le délai est observé une fois que la base de données en restauration a atteint un état cohérent jusqu'à ce que le serveur standby soit promu ou déclenché. Après cela, le serveur standby terminera la restauration sans attendre.
Ce paramètre cible principalement les déploiements de la réplication en
flux. Cependant, si le paramètre est spécifié, il honorera tous les cas.
hot_standby_feedback
sera retardé par l'utilisation
de cette fonctionnalité, qui peut aboutir à de la fragmentation sur le
maître. Faites attention en utilisant les deux.
La réplication synchrone est affectée par ce paramètre quand
synchronous_commit
est configuré à
remote_apply
; chaque
COMMIT
devra attendre son rejeu.