diff options
author | Paul B <paul@bonaud.fr> | 2020-05-28 15:21:12 +0200 |
---|---|---|
committer | Paul B <paul@bonaud.fr> | 2020-05-28 18:41:06 +0200 |
commit | 587f87bbf278a80b14a182146724a9ebf1fd98a2 (patch) | |
tree | 0e7e023c1b7f580db314c78bf3b65b70563efcc7 /templates/recovery.conf.j2 | |
parent | ebe451adda84672f9872187164df279dbfed7a35 (diff) | |
download | ansible-postgresql-role-587f87bbf278a80b14a182146724a9ebf1fd98a2.tar.gz ansible-postgresql-role-587f87bbf278a80b14a182146724a9ebf1fd98a2.tar.zst ansible-postgresql-role-587f87bbf278a80b14a182146724a9ebf1fd98a2.zip |
recovery: optional restore_command & allow custom command if needed
Right now the role assumes you always want to use barman-wal-restore
script as a restore command to recover WAL files at startup time of a
standby server.
This PR adds a new `primary.restore_command` option which lets you
override the command to use.
⚠️ Breaking change: the PR renames the existing
`primary.restore_directory` option to
`primary.restore_barman_directory` ⚠️ in order to give more context to
this option which will automatically use the `barman-wal-restore`
script as a restore command.
Finally if none of the two options specified above are specified in
the `primary:` object then the `restore_command` is left commented out
in the PG configuration (which is totally fine as it will try to
recover WALs from the primary server directly see
[documentation](https://www.postgresql.org/docs/12/warm-standby.html#STANDBY-SERVER-OPERATION))
Diffstat (limited to 'templates/recovery.conf.j2')
-rw-r--r-- | templates/recovery.conf.j2 | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/templates/recovery.conf.j2 b/templates/recovery.conf.j2 index 059b234..7078429 100644 --- a/templates/recovery.conf.j2 +++ b/templates/recovery.conf.j2 | |||
@@ -2,7 +2,11 @@ | |||
2 | # {{ ansible_managed }} | 2 | # {{ ansible_managed }} |
3 | 3 | ||
4 | standby_mode = 'on' | 4 | standby_mode = 'on' |
5 | restore_command = '/usr/bin/barman-wal-restore --user barman --parallel 8 {{ postgres_barman_server }} {{ postgres_primary.restore_directory }} %f %p' | 5 | {% if postgres_primary.restore_command is defined %} |
6 | restore_command = '{{ postgres_primary.restore_command }}' | ||
7 | {% elif postgres_primary.restore_barman_directory is defined %} | ||
8 | restore_command = '/usr/bin/barman-wal-restore --user barman --parallel 8 {{ postgres_barman_server }} {{ postgres_primary.restore_barman_directory }} %f %p' | ||
9 | {% endif %} | ||
6 | primary_conninfo = 'host={{ postgres_primary.host }} port={{ postgres_primary.port }} user={{ postgres_primary.replication_user }} password={{ postgres_primary.replication_password }} sslmode=require' | 10 | primary_conninfo = 'host={{ postgres_primary.host }} port={{ postgres_primary.port }} user={{ postgres_primary.replication_user }} password={{ postgres_primary.replication_password }} sslmode=require' |
7 | trigger_file = '/var/lib/postgresql/{{ postgres_version }}/{{ postgres_cluster_name }}/failover.trigger' | 11 | trigger_file = '/var/lib/postgresql/{{ postgres_version }}/{{ postgres_cluster_name }}/failover.trigger' |
8 | recovery_target_timeline='latest' | 12 | recovery_target_timeline='latest' |