summaryrefslogtreecommitdiffstats
path: root/system/postgresql/setup.postgresql
blob: 2f0ec5f5496aa5a12d1ccb42b09072cd2382e520 (plain)
#!/bin/bash
#BLURB="PostgreSQL @PG_VERSION@"

PG_HOME=/var/lib/pgsql
PG_USER=postgres
PG_USER_ID=@UID@
PG_GROUP=postgres
PG_GROUP_ID=@GID@
PG_VERSION=@PG_VERSION@

echo "Adding PostgreSQL user and group..."
groupadd -g $PG_GROUP_ID $PG_GROUP
useradd -g $PG_GROUP -u $PG_USER_ID -d $PG_HOME -c PostgreSQL $PG_USER
mkdir -p $PG_HOME/$PG_VERSION/data

## default permissions
echo "Setting up permissions..."
chown -R $PG_USER:$PG_GROUP $PG_HOME
chmod 700 $PG_HOME
chmod 700 $PG_HOME/$PG_VERSION
chmod 700 $PG_HOME/$PG_VERSION/data

## database cluster
if [ ! -f $PG_HOME/$PG_VERSION/data/PG_VERSION ]; then
	echo "Creating database cluster in $PG_HOME/$PG_VERSION/data..."
	su $PG_USER -c "initdb -D $PG_HOME/$PG_VERSION/data --locale=en_US.UTF-8 -A md5 -W"
else
	echo "*** WARNING ***" >&2
	echo "  There is already a database cluster in $PG_HOME/$PG_VERSION/data." >&2
	echo "  If you are upgrading from an older version of PostgreSQL" >&2
	echo "  you will have to 'dump' and 'restore' your database." >&2
	echo "  See PostgreSQL manual for more details." >&2
fi

echo "PostgreSQL post-installation setup completed"