Newer
Older
#!/usr/bin/env ansible-playbook
---
- name: POSTGRESQL SWITCH CURRENT FENCED TO STANDBY
hosts: postgres_fenced
tasks:
- name: fail if node status if not fenced
fail:
msg: "Current status {{ rephacheck['stdout'] }} must be fenced."
when: rephacheck['stdout'] != "fenced"
- name: stop postgresql
systemd:
name: postgresql
state: stopped
- name: delete postgresql data directory
file:
path: /var/lib/postgresql/11/main/
state: absent
force: true
- name: copy data from primary
command: "repmgr -f /etc/postgresql/11/main/repmgr.conf --force --verbose standby clone -h {{ hostvars[groups['postgres_primary'][0]]['ansible_default_ipv4']['address'] }} -d repmgr -U repmgr -c"
become: true
become_user: postgres
register: copy_from_primary
- name: start postgresql
systemd:
name: postgresql
state: started
when: copy_from_primary is succeeded
- name: register node as standby
command: "repmgr -f /etc/postgresql/11/main/repmgr.conf --force --verbose standby register"
become: true
become_user: postgres
when: copy_from_primary is succeeded
...