From b9b8a2d31f284f96bb38ee36cb3a1609d9695d8a Mon Sep 17 00:00:00 2001 From: Bo Peng Date: Mon, 10 Feb 2025 18:12:56 +0900 Subject: [PATCH] Update sample scripts. This commit includes: - update sample scripts to PostgreSQL 17 - remove archive settings to disable archive mode --- src/sample/scripts/escalation.sh.sample | 14 +++++++++++--- src/sample/scripts/failover.sh.sample | 2 +- src/sample/scripts/follow_primary.sh.sample | 5 +---- src/sample/scripts/pgpool_remote_start.sample | 2 +- src/sample/scripts/recovery_1st_stage.sample | 5 +---- .../replication_mode_recovery_1st_stage.sample | 2 +- .../replication_mode_recovery_2nd_stage.sample | 2 +- 7 files changed, 17 insertions(+), 15 deletions(-) diff --git a/src/sample/scripts/escalation.sh.sample b/src/sample/scripts/escalation.sh.sample index 9ca5db8f9..01ee7fa16 100755 --- a/src/sample/scripts/escalation.sh.sample +++ b/src/sample/scripts/escalation.sh.sample @@ -12,15 +12,23 @@ PGPOOLS=(server1 server2 server3) VIP=192.168.100.50 DEVICE=enp0s8 +CIDR_NETMASK=24 for pgpool in "${PGPOOLS[@]}"; do [ "$HOSTNAME" = "${pgpool}" ] && continue timeout ${SSH_TIMEOUT} ssh -T ${SSH_OPTIONS} ${POSTGRESQL_STARTUP_USER}@${pgpool} " - /usr/bin/sudo /sbin/ip addr del ${VIP}/24 dev ${DEVICE} + /sbin/ip addr show dev ${DEVICE} | grep ${VIP} > /dev/null 2>&1 " - if [ $? -ne 0 ]; then - echo ERROR: escalation.sh: failed to release VIP on ${pgpool}. + + if [ $? -eq 0 ]; then + timeout ${SSH_TIMEOUT} ssh -T ${SSH_OPTIONS} ${POSTGRESQL_STARTUP_USER}@${pgpool} " + /usr/bin/sudo /sbin/ip addr del ${VIP}/${CIDR_NETMASK} dev ${DEVICE} + " + + if [ $? -ne 0 ]; then + echo ERROR: escalation.sh: failed to release VIP on ${pgpool}. + fi fi done exit 0 diff --git a/src/sample/scripts/failover.sh.sample b/src/sample/scripts/failover.sh.sample index bc47b21b7..01878d7e5 100755 --- a/src/sample/scripts/failover.sh.sample +++ b/src/sample/scripts/failover.sh.sample @@ -31,7 +31,7 @@ NEW_MAIN_NODE_PGDATA="${10}" OLD_PRIMARY_NODE_HOST="${11}" OLD_PRIMARY_NODE_PORT="${12}" -PGHOME=/usr/pgsql-16 +PGHOME=/usr/pgsql-17 REPL_SLOT_NAME=$(echo ${FAILED_NODE_HOST,,} | tr -- -. _) POSTGRESQL_STARTUP_USER=postgres SSH_KEY_FILE=id_rsa_pgpool diff --git a/src/sample/scripts/follow_primary.sh.sample b/src/sample/scripts/follow_primary.sh.sample index 49c58cfcf..8a1d7911c 100755 --- a/src/sample/scripts/follow_primary.sh.sample +++ b/src/sample/scripts/follow_primary.sh.sample @@ -30,8 +30,7 @@ OLD_PRIMARY_NODE_ID="$8" NEW_PRIMARY_NODE_PORT="$9" NEW_PRIMARY_NODE_PGDATA="${10}" -PGHOME=/usr/pgsql-16 -ARCHIVEDIR=/var/lib/pgsql/archivedir +PGHOME=/usr/pgsql-17 REPLUSER=repl PCP_USER=pgpool PGPOOL_PATH=/usr/bin @@ -119,7 +118,6 @@ if [ $? -ne 0 ]; then set -o errexit [ -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 @@ -137,7 +135,6 @@ EOT fi sed -i \ -e \"s/#*port = .*/port = ${NODE_PORT}/\" \ - -e \"s@#*archive_command = .*@archive_command = 'cp \\\"%p\\\" \\\"${ARCHIVEDIR}/%f\\\"'@\" \ ${NODE_PGDATA}/postgresql.conf " diff --git a/src/sample/scripts/pgpool_remote_start.sample b/src/sample/scripts/pgpool_remote_start.sample index a5b840126..7e8708375 100755 --- a/src/sample/scripts/pgpool_remote_start.sample +++ b/src/sample/scripts/pgpool_remote_start.sample @@ -6,7 +6,7 @@ set -o xtrace DEST_NODE_HOST="$1" DEST_NODE_PGDATA="$2" -PGHOME=/usr/pgsql-16 +PGHOME=/usr/pgsql-17 POSTGRESQL_STARTUP_USER=postgres SSH_KEY_FILE=id_rsa_pgpool SSH_OPTIONS="-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -i ~/.ssh/${SSH_KEY_FILE}" diff --git a/src/sample/scripts/recovery_1st_stage.sample b/src/sample/scripts/recovery_1st_stage.sample index 390158ade..f62500f47 100755 --- a/src/sample/scripts/recovery_1st_stage.sample +++ b/src/sample/scripts/recovery_1st_stage.sample @@ -11,8 +11,7 @@ DEST_NODE_ID="$5" DEST_NODE_PORT="$6" PRIMARY_NODE_HOST="$7" -PGHOME=/usr/pgsql-16 -ARCHIVEDIR=/var/lib/pgsql/archivedir +PGHOME=/usr/pgsql-17 REPLUSER=repl REPL_SLOT_NAME=$(echo ${DEST_NODE_HOST,,} | tr -- -. _) POSTGRESQL_STARTUP_USER=postgres @@ -51,7 +50,6 @@ ssh -T ${SSH_OPTIONS} ${POSTGRESQL_STARTUP_USER}@$DEST_NODE_HOST " set -o errexit [ -d \"${DEST_NODE_PGDATA}\" ] && rm -rf ${DEST_NODE_PGDATA} - [ -d \"${ARCHIVEDIR}\" ] && rm -rf ${ARCHIVEDIR}/* ${PGHOME}/bin/pg_basebackup -h $PRIMARY_NODE_HOST -U $REPLUSER -p $PRIMARY_NODE_PORT -D $DEST_NODE_PGDATA -X stream @@ -71,7 +69,6 @@ EOT sed -i \ -e \"s/#*port = .*/port = ${DEST_NODE_PORT}/\" \ - -e \"s@#*archive_command = .*@archive_command = 'cp \\\"%p\\\" \\\"${ARCHIVEDIR}/%f\\\"'@\" \ ${DEST_NODE_PGDATA}/postgresql.conf " diff --git a/src/sample/scripts/replication_mode_recovery_1st_stage.sample b/src/sample/scripts/replication_mode_recovery_1st_stage.sample index 17021a03e..7eb50f86d 100755 --- a/src/sample/scripts/replication_mode_recovery_1st_stage.sample +++ b/src/sample/scripts/replication_mode_recovery_1st_stage.sample @@ -11,7 +11,7 @@ DEST_NODE_ID="$5" # node id of the DB node to be recovered DEST_NODE_PORT="$6" # port number of the DB node to be recovered MAIN_NODE_HOST="$7" # main node hostname -PGHOME=/usr/pgsql-16 +PGHOME=/usr/pgsql-17 ARCHIVEDIR=/var/lib/pgsql/archivedir REPLUSER=repl MAX_DURATION=60 diff --git a/src/sample/scripts/replication_mode_recovery_2nd_stage.sample b/src/sample/scripts/replication_mode_recovery_2nd_stage.sample index 1d23ee9b5..d20b1b18a 100755 --- a/src/sample/scripts/replication_mode_recovery_2nd_stage.sample +++ b/src/sample/scripts/replication_mode_recovery_2nd_stage.sample @@ -12,7 +12,7 @@ DEST_NODE_PORT="$6" # port number of the DB node to be recovered MAIN_NODE_HOST="$7" # main node hostname -PGHOME=/usr/pgsql-16 +PGHOME=/usr/pgsql-17 ARCHIVEDIR=/var/lib/pgsql/archivedir # archive log directory POSTGRESQL_STARTUP_USER=postgres SSH_KEY_FILE=id_rsa_pgpool -- 2.39.5