Create postgresqldb.sh

From DarkWiki
Jump to: navigation, search
#!/bin/bash

if [ "$EUID" -ne 0 ]
        then echo "Please run as root"
        exit
fi

PGUSER=postgres
DATADIR="/u01/postgres_data"

NAME=${1}

if [ "1${NAME}" == "1" ] ; then
        echo "Usage: $0 <dbname>"
        exit
fi

USER=$NAME
TABLESPACE_NAME=TS_${NAME}

mkdir -p $DATADIR/$NAME
chown $PGUSER:$PGUSER $DATADIR/$NAME

sudo -u $PGUSER psql -c "CREATE USER ${NAME} WITH PASSWORD '${NAME}';"
sudo -u $PGUSER psql -c "CREATE TABLESPACE TS_${NAME} LOCATION '$DATADIR/$NAME';"
sudo -u $PGUSER psql -c "CREATE DATABASE ${NAME} WITH OWNER ${NAME} ENCODING 'UTF8' LC_COLLATE 'C' TEMPLATE template0 TABLESPACE TS_${NAME};"