Update sample scripts.
authorBo Peng <pengbo@sraoss.co.jp>
Mon, 10 Feb 2025 09:12:56 +0000 (18:12 +0900)
committerBo Peng <pengbo@sraoss.co.jp>
Mon, 10 Feb 2025 09:12:56 +0000 (18:12 +0900)
This commit includes:
- update sample scripts to PostgreSQL 17
- remove archive settings to disable archive mode

src/sample/scripts/escalation.sh.sample
src/sample/scripts/failover.sh.sample
src/sample/scripts/follow_primary.sh.sample
src/sample/scripts/pgpool_remote_start.sample
src/sample/scripts/recovery_1st_stage.sample
src/sample/scripts/replication_mode_recovery_1st_stage.sample
src/sample/scripts/replication_mode_recovery_2nd_stage.sample

index 9ca5db8f9a1f3a29c4e0ab03ffdd99bcdd29654a..01ee7fa1696ad45a4224a54dc34b97dca1b6f591 100755 (executable)
@@ -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
index bc47b21b7fc8b0fff6d30c1d98ddfb3f5afc1271..01878d7e589eee1564f02b70a972709c560fe741 100755 (executable)
@@ -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
index 49c58cfcfa5fd09466d26d85893392f1105b09e1..8a1d7911c8360057da2d81e7b471ee566d9abb62 100755 (executable)
@@ -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
     "
 
index a5b84012639b0a7b5038e9e8b7f83c830d3400c1..7e87083752efc13e0cb2c6ebba0f7c849cd122ad 100755 (executable)
@@ -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}"
index 390158aded357fc57ace3b4f689440902374f4b7..f62500f475604545b5118f0d1527f29e5090b271 100755 (executable)
@@ -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
 "
 
index 17021a03e01ef132adee9d46e6f6a4186371f553..7eb50f86d56fb2ddc350cf0ca804d93930e08163 100755 (executable)
@@ -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
index 1d23ee9b55c12c72cb7bc07b09d900f5f373fb16..d20b1b18a0b4ab88ba202957638937a620c6eec5 100755 (executable)
@@ -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