Par défaut, la restauration continuera jusqu'à la fin du dernier journal
de transactions. Les paramètres suivants peuvent être utilisés pour
spécifier un point d'arrêt précédent. Une des cibles suivantes peut être
indiquée : recovery_target
,
recovery_target_lsn
,
recovery_target_name
,
recovery_target_time
ou
recovery_target_xid
. Si plus d'un parmi eux est spécifié
dans le fichier de configuration, seule la dernière valeur sera conservée.
recovery_target
= 'immediate'
Ce paramètre spécifie que la restauration doit se terminer dès que l'état de cohérence est atteint, autrement dit dès que possible. Lors de la restauration à partir d'une sauvegarde en ligne, cela signifie le moment où la sauvegarde s'est terminée.
Au niveau technique, c'est une chaîne de caractères mais
'immediate'
est la seule valeur actuellement
autorisée.
recovery_target_name
(string
)
Ce paramètre spécifie le point de restauration nommé (créé précédemment
avec la fonction pg_create_restore_point()
) où la
restauration se terminera.
recovery_target_time
(timestamp
)
Ce paramètre spécifie l'horodatage (timestamp) jusqu'auquel la récupération se poursuivra. Le point précis d'arrêt dépend aussi de recovery_target_inclusive.
recovery_target_xid
(chaîne de caractères
)Ce paramètre spécifie l'identifiant de transaction jusqu'auquel la récupération se poursuivra. Gardez à l'esprit que, bien que les identifiants de transactions sont assignés séquentiellement au démarrage des transactions, elles peuvent se terminer dans un ordre numérique différent. Les transactions qui seront récupérées sont celles qui auront réalisé leur COMMIT avant la transaction spécifiée (optionnellement incluse). Le point précis d'arrêt dépend aussi de recovery_target_inclusive.
recovery_target_lsn
(pg_lsn
)
Ce paramètre spécifie le LSN de l'emplacement dans le journal de
transaction jusqu'auquel la récupération se poursuivra. Le point
d'arrêt précis est aussi influencé par
recovery_target_inclusive. Ce paramètre est parsé
en utilisant le type de données système
pg_lsn
.
Les options suivantes indiquent la cible de restauration et ont un effet sur ce qui arrive une fois la cible atteinte :
recovery_target_inclusive
(booléen
)
Spécifie si il faut s'arrêter juste après la cible de récupération spécifiée
(true
), ou juste avant la cible de récupération
(false
).
S'applique quand soit recovery_target_lsn soit recovery_target_time soit recovery_target_xid est indiqué. Ce paramètre contrôle si
les transactions qui ont exactement le même emplacement (LSN) dans les
journaux de transactions ou le même horodatage ou le même identifiant
de transaction, respectivement, seront inclues dans la restauration.
La valeur par défaut est (true
).
recovery_target_timeline
(chaîne de caractères
)
Spécifie la ligne de temps (timeline) précise sur laquelle effectuer la récupération.
Le comportement par défaut est de récupérer sur la même timeline que
celle en cours lorsque la sauvegarde de base a été effectuée.
Configurer ce paramètre à latest
permet de
restaurer jusqu'à la dernière ligne de temps disponible dans les
archives, ce qui est utile pour un serveur standby. Sinon, vous
n'aurez besoin de positionner ce paramètre que dans des cas complexes
de re-récupération, où vous aurez besoin d'atteindre un état lui même
atteint après une récupération à un moment dans le temps (point-in-time
recovery). Voir Section 25.3.5 pour plus d'informations.
recovery_target_action
(enum
)
Indique l'action que doit prendre le serveur une fois que la cible de
récupération est atteinte. La valeur par défaut est
pause
, ce qui signifie que la récupération sera
mise en pause. promote
signifie que le processus de
récupération terminera et que le serveur se lancera pour accepter des
connexions. Enfin, shutdown
arrêtera le serveur
après avoir atteint la cible de récupération.
Le but du paramétrage pause
est d'autoriser l'exécution des
requêtes sur la base pour vérifier si la cible de récupération actuelle est la
bonne. La pause peut être annulée en utilisant la fonction
pg_wal_replay_resume()
(voir
Tableau 9.81), ce qui termine la
restauration. Si la cible actuelle de restauration ne correspond pas
au point d'arrêt souhaité, arrêtez le serveur, modifiez la
configuration de la cible de restauration à une cible plus lointaine,
et enfin redémarrez pour continuer la restauration.
Le paramétrage shutdown
est intéressant pour que l'instance
soit prête au point de rejeu souhaité. L'instance pourra toujours rejoué les
enregistrements WAL suivants (et de fait devra rejouer les enregistrements WAL
depuis le dernier checkpoint à son prochain lancement).
Notez que, comme le fichier de configuration recovery.conf
n'est pas renommé, recovery_target_action
reste configuré à
shutdown
, et toute tentative de lancement se terminera avec
un arrêt immédiat sauf si la configuration est changée ou que le fichier
recovery.conf
est supprimé manuellement.
Ce paramétrage n'a pas d'effet si aucune cible de récupération n'est configurée.
Si hot_standby n'est pas activé, un paramétrage à
pause
agira de la même façon que shutdown
.