PGHOME=/usr/pgsql-14
REPL_SLOT_NAME=${FAILED_NODE_HOST//[-.]/_}
+POSTGRESQL_STARTUP_USER=postgres
+SSH_KEY_FILE=id_rsa_pgpool
echo failover.sh: start: failed_node_id=$FAILED_NODE_ID failed_host=$FAILED_NODE_HOST \
fi
## Test passwordless SSH
-ssh -T -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null postgres@${NEW_MAIN_NODE_HOST} -i ~/.ssh/id_rsa_pgpool ls /tmp > /dev/null
+ssh -T -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null ${POSTGRESQL_STARTUP_USER}@${NEW_MAIN_NODE_HOST} -i ~/.ssh/${SSH_KEY_FILE} ls /tmp > /dev/null
if [ $? -ne 0 ]; then
- echo failover.sh: passwordless SSH to postgres@${NEW_MAIN_NODE_HOST} failed. Please setup passwordless SSH.
+ echo failover.sh: passwordless SSH to ${POSTGRESQL_STARTUP_USER}@${NEW_MAIN_NODE_HOST} failed. Please setup passwordless SSH.
exit 1
fi
echo failover.sh: primary node is down, promote new_main_node_id=$NEW_MAIN_NODE_ID on ${NEW_MAIN_NODE_HOST}.
ssh -T -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null \
- postgres@${NEW_MAIN_NODE_HOST} -i ~/.ssh/id_rsa_pgpool ${PGHOME}/bin/pg_ctl -D ${NEW_MAIN_NODE_PGDATA} -w promote
+ ${POSTGRESQL_STARTUP_USER}@${NEW_MAIN_NODE_HOST} -i ~/.ssh/${SSH_KEY_FILE} ${PGHOME}/bin/pg_ctl -D ${NEW_MAIN_NODE_PGDATA} -w promote
if [ $? -ne 0 ]; then
echo ERROR: failover.sh: end: failover failed
PGPOOL_PATH=/usr/bin
PCP_PORT=9898
REPL_SLOT_NAME=${NODE_HOST//[-.]/_}
+POSTGRESQL_STARTUP_USER=postgres
+SSH_KEY_FILE=id_rsa_pgpool
echo follow_primary.sh: start: Standby node ${NODE_ID}
fi
# Test passwordless SSH
-ssh -T -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null postgres@${NEW_PRIMARY_NODE_HOST} -i ~/.ssh/id_rsa_pgpool ls /tmp > /dev/null
+ssh -T -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null ${POSTGRESQL_STARTUP_USER}@${NEW_PRIMARY_NODE_HOST} -i ~/.ssh/${SSH_KEY_FILE} ls /tmp > /dev/null
if [ $? -ne 0 ]; then
- echo follow_main.sh: passwordless SSH to postgres@${NEW_PRIMARY_NODE_HOST} failed. Please setup passwordless SSH.
+ echo follow_main.sh: passwordless SSH to ${POSTGRESQL_STARTUP_USER}@${NEW_PRIMARY_NODE_HOST} failed. Please setup passwordless SSH.
exit 1
fi
echo follow_primary.sh: create replication slot \"${REPL_SLOT_NAME}\" failed. You may need to create replication slot manually.
fi
-ssh -T -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null postgres@${NODE_HOST} -i ~/.ssh/id_rsa_pgpool "
+ssh -T -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null ${POSTGRESQL_STARTUP_USER}@${NODE_HOST} -i ~/.ssh/${SSH_KEY_FILE} "
set -o errexit
if [ $? -ne 0 ]; then
echo follow_primary.sh: end: pg_rewind failed. Try pg_basebackup.
- ssh -T -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null postgres@${NODE_HOST} -i ~/.ssh/id_rsa_pgpool "
+ ssh -T -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null ${POSTGRESQL_STARTUP_USER}@${NODE_HOST} -i ~/.ssh/${SSH_KEY_FILE} "
set -o errexit
# 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
+ ${POSTGRESQL_STARTUP_USER}@${NODE_HOST} -i ~/.ssh/${SSH_KEY_FILE} $PGHOME/bin/pg_ctl -l /dev/null -w -D ${NODE_PGDATA} start
fi
DEST_NODE_PGDATA="$2"
PGHOME=/usr/pgsql-14
+POSTGRESQL_STARTUP_USER=postgres
+SSH_KEY_FILE=id_rsa_pgpool
echo pgpool_remote_start: start: remote start Standby node $DEST_NODE_HOST
## Test passwordless SSH
-ssh -T -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null postgres@${DEST_NODE_HOST} -i ~/.ssh/id_rsa_pgpool ls /tmp > /dev/null
+ssh -T -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null ${POSTGRESQL_STARTUP_USER}@${DEST_NODE_HOST} -i ~/.ssh/${SSH_KEY_FILE} ls /tmp > /dev/null
if [ $? -ne 0 ]; then
- echo ERROR: pgpool_remote_start: passwordless SSH to postgres@${DEST_NODE_HOST} failed. Please setup passwordless SSH.
+ echo ERROR: pgpool_remote_start: passwordless SSH to ${POSTGRESQL_STARTUP_USER}@${DEST_NODE_HOST} failed. Please setup passwordless SSH.
exit 1
fi
## Start Standby node
-ssh -T -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null postgres@${DEST_NODE_HOST} -i ~/.ssh/id_rsa_pgpool "
+ssh -T -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null ${POSTGRESQL_STARTUP_USER}@${DEST_NODE_HOST} -i ~/.ssh/${SSH_KEY_FILE} "
$PGHOME/bin/pg_ctl -l /dev/null -w -D ${DEST_NODE_PGDATA} status
if [ \$? -eq 0 ]; then
ARCHIVEDIR=/var/lib/pgsql/archivedir
REPLUSER=repl
REPL_SLOT_NAME=${DEST_NODE_HOST//[-.]/_}
+POSTGRESQL_STARTUP_USER=postgres
+SSH_KEY_FILE=id_rsa_pgpool
echo recovery_1st_stage: start: pg_basebackup for Standby node $DEST_NODE_ID
## Test passwordless SSH
-ssh -T -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null postgres@${DEST_NODE_HOST} -i ~/.ssh/id_rsa_pgpool ls /tmp > /dev/null
+ssh -T -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null ${POSTGRESQL_STARTUP_USER}@${DEST_NODE_HOST} -i ~/.ssh/${SSH_KEY_FILE} ls /tmp > /dev/null
if [ $? -ne 0 ]; then
- echo recovery_1st_stage: passwordless SSH to postgres@${DEST_NODE_HOST} failed. Please setup passwordless SSH.
+ echo recovery_1st_stage: passwordless SSH to ${POSTGRESQL_STARTUP_USER}@${DEST_NODE_HOST} failed. Please setup passwordless SSH.
exit 1
fi
fi
## Execute pg_basebackup to recovery Standby node
-ssh -T -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null postgres@$DEST_NODE_HOST -i ~/.ssh/id_rsa_pgpool "
+ssh -T -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null ${POSTGRESQL_STARTUP_USER}@$DEST_NODE_HOST -i ~/.ssh/${SSH_KEY_FILE} "
set -o errexit
ARCHIVEDIR=/var/lib/pgsql/archivedir
REPLUSER=repl
MAX_DURATION=60
+POSTGRESQL_STARTUP_USER=postgres
+SSH_KEY_FILE=id_rsa_pgpool
echo recovery_1st_stage: start: pg_basebackup for Standby node $DEST_NODE_ID
## Test passwordless SSH
-ssh -T -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null postgres@${DEST_NODE_HOST} -i ~/.ssh/id_rsa_pgpool ls /tmp > /dev/null
+ssh -T -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null ${POSTGRESQL_STARTUP_USER}@${DEST_NODE_HOST} -i ~/.ssh/${SSH_KEY_FILE} ls /tmp > /dev/null
if [ $? -ne 0 ]; then
- echo recovery_1st_stage: passwordless SSH to postgres@${DEST_NODE_HOST} failed. Please setup passwordless SSH.
+ echo recovery_1st_stage: passwordless SSH to ${POSTGRESQL_STARTUP_USER}@${DEST_NODE_HOST} failed. Please setup passwordless SSH.
exit 1
fi
fi
## Execute pg_basebackup to recovery Standby node
-ssh -T -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null postgres@${DEST_NODE_HOST} -i ~/.ssh/id_rsa_pgpool "
+ssh -T -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null ${POSTGRESQL_STARTUP_USER}@${DEST_NODE_HOST} -i ~/.ssh/${SSH_KEY_FILE} "
set -o errexit
fi
# start target server as a streaming replication standby server
-ssh -T -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null postgres@$DEST_NODE_HOST -i ~/.ssh/id_rsa_pgpool "
+ssh -T -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null ${POSTGRESQL_STARTUP_USER}@$DEST_NODE_HOST -i ~/.ssh/${SSH_KEY_FILE} "
$PGHOME/bin/pg_ctl -l /dev/null -w -D $DEST_NODE_PGDATA start
"
PGHOME=/usr/pgsql-14
ARCHIVEDIR=/var/lib/pgsql/archivedir # archive log directory
+POSTGRESQL_STARTUP_USER=postgres
+SSH_KEY_FILE=id_rsa_pgpool
# Force to flush current value of sequences to xlog
${PGHOME}/bin/psql -p $PORT -t -c 'SELECT datname FROM pg_database WHERE NOT datistemplate AND datallowconn' template1|
psql -p $PORT -c "SELECT pgpool_switch_xlog('$ARCHIVEDIR')" template1
# start target server as a streaming replication standby server
-ssh -T -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null postgres@$DEST_NODE_HOST -i ~/.ssh/id_rsa_pgpool "
+ssh -T -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null ${POSTGRESQL_STARTUP_USER}@$DEST_NODE_HOST -i ~/.ssh/${SSH_KEY_FILE} "
$PGHOME/bin/pg_ctl -l /dev/null -w -D $DEST_NODE_PGDATA promote
"