#!/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. # update a master database set -x die() { echo $0: "$@" 1>&2 echo $0: "$@" umask 022 echo $0: "$@" >> /tmp/pgaas-failures exit 1 } [ -n "$PGDIR" ] || die "PGDIR is not set" [ -n "$DBROOT" ] || die "DBROOT is not set" [ -n "$CFGDIR" ] || die "CFGDIR is not set" cd $CFGDIR/main || die "Cannot cd $CFGDIR/main" PATH=${INSTALL_ROOT}/opt/app/pgaas/bin:$CFGDIR/etc:$PGDIR/bin:$PATH # update postgresql.conf - got new ones # update pg_hba.conf - got new ones # set up repmgr.conf - in common # start the DB start-db sleep 10 # make sure the postgres password is right $CFGDIR/etc/update-postgres-user # create temporal tables and other extensions, if needed $CFGDIR/etc/create-extensions # create repmgr user/db, if needed $CFGDIR/etc/create-repmgr-user # register as master repmgr -f $CFGDIR/main/repmgr.conf master register echo repmgr ret=$? # start repmgrd # start repmgrd (verbose logging for testing) umask 07 repmgrd -f $CFGDIR/main/repmgr.conf -d --verbose echo repmgrd ret=$? # start repmgrd (normal logging) # repmgrd -f $CFGDIR/main/repmgr.conf -d