diff --git a/package/michiel/postgresql/postgresql.conf b/package/michiel/postgresql/postgresql.conf index fbe4f60ca..6c0e0a21c 100644 --- a/package/michiel/postgresql/postgresql.conf +++ b/package/michiel/postgresql/postgresql.conf @@ -29,6 +29,24 @@ var_append extraconfopt " " "--with-CXX" var_append extraconfopt " " "--with-gnu-ld" var_append extraconfopt " " "--with-perl" +postgresql_pm() { + # Create the data directory + mkdir -p $root/$localstatedir/data + chown -R postgres:postgres $root/$localstatedir/data + + # Create the Profile + echo "Creating /etc/profile.d/$pkg ..." + cat <<- EOT > $root/etc/profile.d/$pkg + export PGDATA=$localstatedir/data + EOT + + # Install the init + install_init postgresql $confdir/postgresql.init +} + # other packages may need to know where postgres is. hook_add postmake 3 "echo \"pkg_postgresql_prefix=/$prefix\" \ > $root/var/adm/parse-config/postgresql" + +postmake="postgresql_pm" + diff --git a/package/michiel/postgresql/postgresql.init b/package/michiel/postgresql/postgresql.init new file mode 100644 index 000000000..b9449abb0 --- /dev/null +++ b/package/michiel/postgresql/postgresql.init @@ -0,0 +1,21 @@ +#!/bin/sh +# +# Desc: The PostgreSQL server +# Runlevel: 30 rcX +# + +main_begin + + block_begin(start, `Starting PostgreSQL Server.') + check(`(su postgres -c "D_prefix/bin/postmaster -i -S")') + block_end + + block_begin(stop, `Stopping PostgreSQL Server.') + check(`killall postmaster') + block_end + + block_begin(restart, `Restarting PostgreSQL Server.') + check(`killall -1 postmaster') + block_end + +main_end