diff options
Diffstat (limited to 'pgaas/src/stage/opt/app/pgaas/etc/create-db-master')
-rw-r--r-- | pgaas/src/stage/opt/app/pgaas/etc/create-db-master | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/pgaas/src/stage/opt/app/pgaas/etc/create-db-master b/pgaas/src/stage/opt/app/pgaas/etc/create-db-master new file mode 100644 index 0000000..eb8fca3 --- /dev/null +++ b/pgaas/src/stage/opt/app/pgaas/etc/create-db-master @@ -0,0 +1,72 @@ +#!/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. + + +# create 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 + +umask 077 +TMP=$(mktemp /tmp/tmp.cdm.XXXXXXXXXX) +trap 'rm -f $TMP' 0 1 2 3 15 + +rm -rf $DBROOT/* # initdb fails if the directory is not totally empty +pswd=$( ${INSTALL_ROOT}/opt/app/cdf/bin/getpropvalue -x -n postgres ) +echo "$pswd" > $TMP +$PGDIR/bin/initdb -D $DBROOT --pwfile=$TMP +rm -f $TMP + +$CFGDIR/etc/start-db +sleep 30 + +# create temporal tables and other extensions, if needed +$CFGDIR/etc/create-extensions + +# create repmgr user/db, if needed +$CFGDIR/etc/create-repmgr-user + +sleep 10 + +# register as master +repmgr -f $CFGDIR/main/repmgr.conf master register +echo repmgr ret=$? + +sleep 10 + +# 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 + + +# NO LONGER NEEDED $CFGDIR/etc/create-db-backup |