#!/bin/bash # Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this code except in compliance # with the License. You may obtain a copy of the License # at http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. See the License for the specific language governing # permissions and limitations under the License. set -x die() { echo $0: "$@" 1>&2 echo $0: "$@" umask 022 echo $0: "$@" >> /tmp/pgaas-failures exit 1 } [ -n "$DBROOT" ] || die "DBROOT is not set" cd $DBROOT || die "Cannot cd $DBROOT" PATH=${INSTALL_ROOT}/opt/app/pgaas/bin:${INSTALL_ROOT}/opt/app/cdf/bin:$PATH PGNODES=$( getpropvalue -n pgnodes ) HOSTNAME=`hostname -f` PGNODEVALUE=$( gen-repmgr-info -n "$PGNODES" -l "$HOSTNAME" ) # node_name from repmgr.conf => application_name in recovery.conf conninfo line # "node" value from repmgr.conf => primary_slot_name in recovery.conf with the string "repmgr_slot_" prefixed # node_name in repmgr.conf can be the $HOSTNAME value ? pswd=$( ${INSTALL_ROOT}/opt/app/cdf/bin/getpropvalue -x -n repmgr ) appname=$HOSTNAME PGNODEVALUE=$( gen-repmgr-info -n "$PGNODES" -l "$HOSTNAME" ) umask 07 cat <<-EOF > $DBROOT/recovery.conf standby_mode = 'on' primary_conninfo = 'user=repmgr password=$pswd host=$HOSTNAME port=5432 application_name=$HOSTNAME sslmode=prefer sslcompression=1' recovery_target_timeline = 'latest' primary_slot_name = repmgr_slot_$PGNODEVALUE EOF