ansible-role-postgresql/templates/postgresql_wal_backup_and_r...

26 lines
524 B
Plaintext
Raw Normal View History

2021-09-16 23:54:17 +02:00
#!/bin/bash
2021-09-17 17:56:29 +02:00
ISMASTER=`psql -t -c "SELECT pg_is_in_recovery();"`
if [ $ISMASTER != 'f' ]
then
echo "Not on master, nothing to do."
exit 0
fi
2021-09-16 23:54:17 +02:00
BASE_BACKUP_DIR={{ psql_base_backup_dir }}
WAL_ARCHIVES_LOG_DIR={{ psql_wal_archiving_log_dir }}
WAL_LATEST_BACKUP=
# The base backup dir needs to be empty
rm -f $BASE_BACKUP_DIR/*
pg_basebackup -F t -z -D $BASE_BACKUP_DIR
cd $WAL_ARCHIVES_LOG_DIR
WAL_LATEST_BACKUP=$( /bin/ls -1tr *.backup | tail -1 )
pg_archivecleanup $WAL_ARCHIVES_LOG_DIR $WAL_LATEST_BACKUP
exit $?