From 2e0d5c9d446df80612aae513178484005446b6c3 Mon Sep 17 00:00:00 2001 From: "Joshua M. Boniface" Date: Fri, 1 Sep 2023 15:42:21 -0400 Subject: [PATCH] Improve daily vacuum script --- roles/pvc/templates/patroni/pvcdns-vacuum.j2 | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/roles/pvc/templates/patroni/pvcdns-vacuum.j2 b/roles/pvc/templates/patroni/pvcdns-vacuum.j2 index 92d967b..b9f4782 100644 --- a/roles/pvc/templates/patroni/pvcdns-vacuum.j2 +++ b/roles/pvc/templates/patroni/pvcdns-vacuum.j2 @@ -1,16 +1,17 @@ #!/bin/bash -# Daily vaccuum script for PVCDNS database +# Daily vaccuum script for PostgreSQL databases # {{ ansible_managed }} -# Don't run if we aren't primary +# Don't run if we aren't the Patroni primary HOSTNAME="$( hostname -s )" -PRIMARY="$( pvc node list | grep primary | awk '{ print $1 }' )" +PRIMARY="$( patronictl -c /etc/patroni/config.yml -d zookeeper://localhost:2181 list --format json \ + | jq -r '.[] | select(.Role == "Leader") | .Member' )" if [[ $HOSTNAME != $PRIMARY ]]; then exit 0 fi # Analyze the database -echo -e "----------------------------" &>>/var/log/pvc/pdns/vacuum.log -echo -e "$( date )" &>>/var/log/pvc/pdns/vacuum.log -echo -e "----------------------------" &>>/var/log/pvc/pdns/vacuum.log -su postgres -c 'psql pvcdns -c "VACUUM (VERBOSE, ANALYZE);"' &>>/var/log/pvc/pdns/vacuum.log +echo -e "----------------------------" &>>/var/log/pvc/pdns/vacuum.log +echo -e "$( date )" &>>/var/log/pvc/pdns/vacuum.log +echo -e "----------------------------" &>>/var/log/pvc/pdns/vacuum.log +su postgres -c 'vacuumdb --verbose --analyze --all' &>>/var/log/pvc/pdns/vacuum.log