pgpool2.git / summary / log / commit / refs

commit    49c207e4a08e3bdfee792f7ca049a0e9c8172fde
Author:   Bo Peng <pengbo@sraoss.co.jp>
Date:     Mon May 30 16:10:06 2022 +0000

    Updated the sample scripts to allow ssh login user and ssh key file to be set using variables.


src/sample/scripts/failover.sh.sample | 8 +++++--- src/sample/scripts/follow_primary.sh.sample | 12 +++++++----- src/sample/scripts/pgpool_remote_start.sample | 8 +++++--- src/sample/scripts/recovery_1st_stage.sample | 8 +++++--- .../scripts/replication_mode_recovery_1st_stage.sample | 10 ++++++---- .../scripts/replication_mode_recovery_2nd_stage.sample | 4 +++- 6 files changed, 31 insertions(+), 19 deletions(-) diff --git a/src/sample/scripts/failover.sh.sample b/src/sample/scripts/failover.sh.sample index 44b55444c..713992d3c 100755 --- a/src/sample/scripts/failover.sh.sample +++ b/src/sample/scripts/failover.sh.sample @@ -33,6 +33,8 @@ OLD_PRIMARY_NODE_PORT="${12}" 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 \ @@ -45,10 +47,10 @@ if [ $NEW_MAIN_NODE_ID -lt 0 ]; then 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 @@ -71,7 +73,7 @@ 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 diff --git a/src/sample/scripts/follow_primary.sh.sample b/src/sample/scripts/follow_primary.sh.sample index 519aa7993..8be4348ae 100755 --- a/src/sample/scripts/follow_primary.sh.sample +++ b/src/sample/scripts/follow_primary.sh.sample @@ -37,6 +37,8 @@ PCP_USER=pgpool 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} @@ -49,10 +51,10 @@ if [ $? -ne 0 ]; then 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 @@ -76,7 +78,7 @@ if [ $? -ne 0 ]; then 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 @@ -109,7 +111,7 @@ EOT 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 @@ -149,7 +151,7 @@ EOT # 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 diff --git a/src/sample/scripts/pgpool_remote_start.sample b/src/sample/scripts/pgpool_remote_start.sample index 345185d4f..dc1424f6f 100755 --- a/src/sample/scripts/pgpool_remote_start.sample +++ b/src/sample/scripts/pgpool_remote_start.sample @@ -7,19 +7,21 @@ DEST_NODE_HOST="$1" 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 diff --git a/src/sample/scripts/recovery_1st_stage.sample b/src/sample/scripts/recovery_1st_stage.sample index c93fdb47e..f178f492d 100755 --- a/src/sample/scripts/recovery_1st_stage.sample +++ b/src/sample/scripts/recovery_1st_stage.sample @@ -15,14 +15,16 @@ PGHOME=/usr/pgsql-14 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 @@ -43,7 +45,7 @@ if [ $? -ne 0 ]; then 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 diff --git a/src/sample/scripts/replication_mode_recovery_1st_stage.sample b/src/sample/scripts/replication_mode_recovery_1st_stage.sample index c5b395321..7bcd5f3af 100755 --- a/src/sample/scripts/replication_mode_recovery_1st_stage.sample +++ b/src/sample/scripts/replication_mode_recovery_1st_stage.sample @@ -15,14 +15,16 @@ PGHOME=/usr/pgsql-14 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 @@ -35,7 +37,7 @@ else 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 @@ -68,7 +70,7 @@ if [ $? -ne 0 ]; then 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 " diff --git a/src/sample/scripts/replication_mode_recovery_2nd_stage.sample b/src/sample/scripts/replication_mode_recovery_2nd_stage.sample index 1f91aeea7..63936feb2 100755 --- a/src/sample/scripts/replication_mode_recovery_2nd_stage.sample +++ b/src/sample/scripts/replication_mode_recovery_2nd_stage.sample @@ -10,6 +10,8 @@ MAIN_NODE_PORT="$4" # PostgreSQL port number 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| @@ -23,6 +25,6 @@ done 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 " [parent: d59c70983c8c]