Remove pg_basebackup from the sample follow primary script.
authorBo Peng <pengbo@sraoss.co.jp>
Wed, 26 Feb 2025 12:59:18 +0000 (21:59 +0900)
committerBo Peng <pengbo@sraoss.co.jp>
Wed, 26 Feb 2025 13:07:36 +0000 (22:07 +0900)
If pg_rewind fails, the safest way for users is to recover manually.

src/sample/scripts/follow_primary.sh.sample

index 8a1d7911c8360057da2d81e7b471ee566d9abb62..fb33cdc440912dcb17c021ad5e25699202a717b7 100755 (executable)
@@ -109,54 +109,6 @@ EOT
 
 "
 
-# If pg_rewind failed, try pg_basebackup 
-if [ $? -ne 0 ]; then
-    echo follow_primary.sh: end: pg_rewind failed. Try pg_basebackup.
-
-    ssh -T ${SSH_OPTIONS} ${POSTGRESQL_STARTUP_USER}@${NODE_HOST} "
-
-        set -o errexit
-
-        [ -d \"${NODE_PGDATA}\" ] && rm -rf ${NODE_PGDATA}
-        ${PGHOME}/bin/pg_basebackup -h ${NEW_PRIMARY_NODE_HOST} -U $REPLUSER -p ${NEW_PRIMARY_NODE_PORT} -D ${NODE_PGDATA} -X stream
-
-        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'
-primary_slot_name = '${REPL_SLOT_NAME}'
-EOT
-
-        if [ ${PGVERSION} -ge 12 ]; then
-            sed -i -e \"\\\$ainclude_if_exists = '$(echo ${RECOVERYCONF} | sed -e 's/\//\\\//g')'\" \
-                   -e \"/^include_if_exists = '$(echo ${RECOVERYCONF} | sed -e 's/\//\\\//g')'/d\" ${NODE_PGDATA}/postgresql.conf
-            touch ${NODE_PGDATA}/standby.signal
-        else
-            echo \"standby_mode = 'on'\" >> ${RECOVERYCONF}
-        fi
-        sed -i \
-            -e \"s/#*port = .*/port = ${NODE_PORT}/\" \
-            ${NODE_PGDATA}/postgresql.conf
-    "
-
-    if [ $? -ne 0 ]; then
-
-        # drop replication slot
-        ${PGHOME}/bin/psql -h ${NEW_PRIMARY_NODE_HOST} -p ${NEW_PRIMARY_NODE_PORT} postgres \
-            -c "SELECT pg_drop_replication_slot('${REPL_SLOT_NAME}');"  >/dev/null 2>&1
-
-        if [ $? -ne 0 ]; then
-            echo ERROR: follow_primary.sh: drop replication slot \"${REPL_SLOT_NAME}\" failed. You may need to drop replication slot manually.
-        fi
-
-        echo follow_primary.sh: end: pg_basebackup failed
-        exit 1
-    fi
-
-    # start Standby node on ${NODE_HOST}
-    ssh -T ${SSH_OPTIONS} ${POSTGRESQL_STARTUP_USER}@${NODE_HOST} $PGHOME/bin/pg_ctl -l /dev/null -w -D ${NODE_PGDATA} start
-
-fi
-
 # If start Standby successfully, attach this node
 if [ $? -eq 0 ]; then