From 01768bde079f41ffa2cc55f789ead26b1ce8cf3c Mon Sep 17 00:00:00 2001 From: mazano Date: Mon, 9 May 2022 20:43:27 +0200 Subject: [PATCH] Replication updates (#374) * Archive and restore should not be on by default. They are eclusive to each other * add option to use gzip with wal archiving --- scripts/env-data.sh | 24 ++++++++++++++++++++---- scripts/setup-conf.sh | 1 - 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/scripts/env-data.sh b/scripts/env-data.sh index 67d7c17..02278b1 100644 --- a/scripts/env-data.sh +++ b/scripts/env-data.sh @@ -181,14 +181,30 @@ if [ -z "${ARCHIVE_MODE}" ]; then ARCHIVE_MODE=off fi +if [ -z "${ARCHIVE_COMPRESSION}" ]; then + ARCHIVE_COMPRESSION=gzip +fi + +if [ -z "${ARCHIVE_DECOMPRESSION}" ]; then + ARCHIVE_DECOMPRESSION=gunzip +fi + if [ -z "${ARCHIVE_COMMAND}" ]; then - # https://www.postgresql.org/docs/12/continuous-archiving.html#BACKUP-ARCHIVING-WAL - ARCHIVE_COMMAND="test ! -f ${WAL_ARCHIVE}/%f && cp %p ${WAL_ARCHIVE}/%f" + # https://www.postgresql.org/docs/14/continuous-archiving.html#BACKUP-ARCHIVING- + if [[ ${ARCHIVE_COMPRESSION} == 'gzip' ]];then + ARCHIVE_COMMAND="test ! -f ${WAL_ARCHIVE}/%f && gzip %p > ${WAL_ARCHIVE}/%f.gz " + else + ARCHIVE_COMMAND="test ! -f ${WAL_ARCHIVE}/%f && cp %p ${WAL_ARCHIVE}/%f" + fi fi if [ -z "${RESTORE_COMMAND}" ]; then - # https://www.postgresql.org/docs/12/runtime-config-wal.html - RESTORE_COMMAND="cp ${WAL_ARCHIVE}/%f \"%p\"" + # https://www.postgresql.org/docs/14/runtime-config-wal.html + if [[ "${ARCHIVE_DECOMPRESSION}" == 'gunzip' ]];then + RESTORE_COMMAND="gunzip < ${WAL_ARCHIVE}/%f.gz > %p" + else + RESTORE_COMMAND="cp ${WAL_ARCHIVE}/%f \"%p\"" + fi fi if [ -z "${ARCHIVE_CLEANUP_COMMAND}" ]; then diff --git a/scripts/setup-conf.sh b/scripts/setup-conf.sh index b03631d..faba33b 100644 --- a/scripts/setup-conf.sh +++ b/scripts/setup-conf.sh @@ -77,7 +77,6 @@ if [[ ${ARCHIVE_MODE} =~ [Oo][Nn] ]];then cat >> ${ROOT_CONF}/streaming_replication.conf <