34 lines
844 B
Bash
34 lines
844 B
Bash
#!/bin/sh
|
|
|
|
set -e
|
|
|
|
. /etc/default/postgresql
|
|
|
|
# 2nd clause is necessary to prevent symlinking the directory to itself when it
|
|
# doesn't exist yet
|
|
if [ "$PGROOT" != "/var/lib/postgresql" ]; then
|
|
echo "Creating symlink /var/lib/postgresql -> $PGROOT"
|
|
|
|
# Remove /var/lib/postgres if empty dir, but not if symlink
|
|
if [ ! -L /var/lib/postgres ] && [ -d /var/lib/postgres ]; then
|
|
rmdir /var/lib/postgres
|
|
fi
|
|
|
|
ln -sf "$PGROOT" /var/lib/postgresql
|
|
fi
|
|
|
|
PGDATA="$PGROOT/data"
|
|
|
|
if [ ! -d "$PGDATA" ]; then
|
|
echo "Initializing database in $PGDATA"
|
|
|
|
mkdir -p "$PGDATA"
|
|
chown -R postgres:postgres "$PGDATA"
|
|
|
|
su - postgres -m -c "/usr/bin/initdb $INITOPTS -D '$PGDATA'" >/dev/null
|
|
|
|
if [ -f /etc/postgresql/postgresql.conf ]; then
|
|
ln -sf /etc/postgresql/postgresql.conf "$PGDATA/postgresql.conf"
|
|
fi
|
|
fi
|