From 7bd103a6a33a2a675bd37f996ab46b7819a731d7 Mon Sep 17 00:00:00 2001 From: Bo Peng Date: Sun, 14 Feb 2021 02:27:56 +0900 Subject: [PATCH] Fix follow_primary.sh.sample to avoid removing recovery.conf. --- src/sample/scripts/follow_primary.sh.sample | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/src/sample/scripts/follow_primary.sh.sample b/src/sample/scripts/follow_primary.sh.sample index e259c5b32..ae1761cb8 100755 --- a/src/sample/scripts/follow_primary.sh.sample +++ b/src/sample/scripts/follow_primary.sh.sample @@ -51,9 +51,9 @@ fi PGVERSION=`${PGHOME}/bin/initdb -V | awk '{print $3}' | sed 's/\..*//' | sed 's/\([0-9]*\)[a-zA-Z].*/\1/'` if [ $PGVERSION -ge 12 ]; then -RECOVERYCONF=${NODE_PGDATA}/myrecovery.conf + RECOVERYCONF=${NODE_PGDATA}/myrecovery.conf else -RECOVERYCONF=${NODE_PGDATA}/recovery.conf + RECOVERYCONF=${NODE_PGDATA}/recovery.conf fi ## Check the status of Standby @@ -77,6 +77,8 @@ if [ $? -eq 0 ]; then ${PGHOME}/bin/pg_ctl -w -m f -D ${NODE_PGDATA} stop + ${PGHOME}/bin/pg_rewind -D ${NODE_PGDATA} --source-server=\"user=postgres host=${NEW_PRIMARY_NODE_HOST} port=${NEW_PRIMARY_NODE_PORT}\" + cat > ${RECOVERYCONF} << EOT primary_conninfo = 'host=${NEW_PRIMARY_NODE_HOST} port=${NEW_PRIMARY_NODE_PORT} user=${REPLUSER} application_name=${NODE_HOST} passfile=''/var/lib/pgsql/.pgpass''' recovery_target_timeline = 'latest' @@ -90,10 +92,12 @@ EOT echo \"standby_mode = 'on'\" >> ${RECOVERYCONF} fi - ${PGHOME}/bin/pg_rewind -D ${NODE_PGDATA} --source-server=\"user=postgres host=${NEW_PRIMARY_NODE_HOST} port=${NEW_PRIMARY_NODE_PORT}\" - " + # start Standby node on ${NODE_HOST} + ssh -T -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null \ + postgres@${NODE_HOST} -i ~/.ssh/id_rsa_pgpool $PGHOME/bin/pg_ctl -l /dev/null -w -D ${NODE_PGDATA} start + if [ $? -ne 0 ]; then echo follow_primary.sh: end: pg_rewind failed. Try pg_basebackup. @@ -134,11 +138,12 @@ EOT echo follow_primary.sh: end: pg_basebackup failed exit 1 fi - fi - # start Standby node on ${NODE_HOST} - ssh -T -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null \ - postgres@${NODE_HOST} -i ~/.ssh/id_rsa_pgpool $PGHOME/bin/pg_ctl -l /dev/null -w -D ${NODE_PGDATA} start + # start Standby node on ${NODE_HOST} + ssh -T -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null \ + postgres@${NODE_HOST} -i ~/.ssh/id_rsa_pgpool $PGHOME/bin/pg_ctl -l /dev/null -w -D ${NODE_PGDATA} start + + fi # If start Standby successfully, attach this node if [ $? -eq 0 ]; then -- 2.39.5