summaryrefslogtreecommitdiff
path: root/system/postgresql/setup.postgresql
blob: d677a5cc6a69c81fa5e1aa15ddc5947cec9c549b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/bin/bash
#BLURB="PostgreSQL"

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"
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"