31 lines
785 B
Bash
Executable File
31 lines
785 B
Bash
Executable File
#!/bin/sh
|
|
. /etc/default/postgresql
|
|
: ${PGDATA:="$PGROOT/data"}
|
|
|
|
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
|
|
|
|
|
|
if [ ! -d "$PGDATA" ]; then
|
|
echo "Initializing database in $PGDATA"
|
|
|
|
mkdir -p "$PGDATA"
|
|
chown -R postgres:postgres "$PGDATA"
|
|
chmod 0700 "$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
|
|
|
|
exec chpst -u postgres:postgres postgres -D "$PGDATA" $PGOPTS 2>&1
|