pgpool2.git / summary / log / commit / refs

commit    b9be610f2afde4ef8930c8a6433b8f664d0ad45c
Author:   Bo Peng <pengbo@sraoss.co.jp>
Date:     Mon Nov 07 04:49:06 2022 +0000

    Improve follow_primary.sh.sample script:
    - run checkpoint command on primary to update control file before running pg_rewind
    - check if a directory exists before removing it


src/sample/scripts/follow_primary.sh.sample | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/sample/scripts/follow_primary.sh.sample b/src/sample/scripts/follow_primary.sh.sample index 819d21b71..1c022e6d5 100755 --- a/src/sample/scripts/follow_primary.sh.sample +++ b/src/sample/scripts/follow_primary.sh.sample @@ -71,6 +71,9 @@ fi # Synchronize Standby with the new Primary. echo follow_primary.sh: pg_rewind for node ${NODE_ID} +# Run checkpoint command to update control file before running pg_rewind +${PGHOME}/bin/psql -h ${NEW_PRIMARY_NODE_HOST} -p ${NEW_PRIMARY_NODE_PORT} postgres -c "checkpoint;" + # Create replication slot "${REPL_SLOT_NAME}" ${PGHOME}/bin/psql -h ${NEW_PRIMARY_NODE_HOST} -p ${NEW_PRIMARY_NODE_PORT} postgres \ -c "SELECT pg_create_physical_replication_slot('${REPL_SLOT_NAME}');" >/dev/null 2>&1 @@ -87,7 +90,7 @@ ssh -T ${SSH_OPTIONS} ${POSTGRESQL_STARTUP_USER}@${NODE_HOST} " ${PGHOME}/bin/pg_rewind -D ${NODE_PGDATA} --source-server=\"user=${POSTGRESQL_STARTUP_USER} host=${NEW_PRIMARY_NODE_HOST} port=${NEW_PRIMARY_NODE_PORT} dbname=postgres\" - rm -rf ${NODE_PGDATA}/pg_replslot/* + [ -d \"${NODE_PGDATA}\" ] && rm -rf ${NODE_PGDATA}/pg_replslot/* 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''' @@ -116,8 +119,8 @@ if [ $? -ne 0 ]; then set -o errexit - rm -rf ${NODE_PGDATA} - rm -rf ${ARCHIVEDIR}/* + [ -d \"${NODE_PGDATA}\" ] && rm -rf ${NODE_PGDATA} + [ -d \"${ARCHIVEDIR}\" ] && rm -rf ${ARCHIVEDIR}/* ${PGHOME}/bin/pg_basebackup -h ${NEW_PRIMARY_NODE_HOST} -U $REPLUSER -p ${NEW_PRIMARY_NODE_PORT} -D ${NODE_PGDATA} -X stream cat > ${RECOVERYCONF} << EOT [parent: cee81c267a5e]