summaryrefslogtreecommitdiff
path: root/databases/postgresql82-server/pkg-install-server
diff options
context:
space:
mode:
Diffstat (limited to 'databases/postgresql82-server/pkg-install-server')
-rw-r--r--databases/postgresql82-server/pkg-install-server39
1 files changed, 39 insertions, 0 deletions
diff --git a/databases/postgresql82-server/pkg-install-server b/databases/postgresql82-server/pkg-install-server
index bb5c69a88bed..c3db75540ffa 100644
--- a/databases/postgresql82-server/pkg-install-server
+++ b/databases/postgresql82-server/pkg-install-server
@@ -3,6 +3,8 @@
# $FreeBSD$
PATH=/bin:/usr/sbin
+PGUSER=pgsql
+DB_DIR=${PKG_PREFIX}/${PGUSER}
backupwarning() { echo "
@@ -20,6 +22,43 @@ backupwarning() { echo "
}
case $2 in
+PRE-INSTALL)
+ backupwarning
+ USER=${PGUSER}
+ GROUP=${USER}
+ UID=70
+ GID=${UID}
+
+ if pw group show "${GROUP}" 2>/dev/null; then
+ echo "You already have a group \"${GROUP}\", so I will use it."
+ else
+ if pw groupadd ${GROUP} -g ${GID}; then
+ echo "Added group \"${GROUP}\"."
+ else
+ echo "Adding group \"${GROUP}\" failed..."
+ exit 1
+ fi
+ fi
+
+ if pw user show "${USER}" 2>/dev/null; then
+ echo "You already have a user \"${USER}\", so I will use it."
+ else
+ if pw useradd ${USER} -u ${UID} -g ${GROUP} -h - \
+ -d ${DB_DIR} -c "PostgreSQL Daemon"
+ then
+ echo "Added user \"${USER}\"."
+ else
+ echo "Adding user \"${USER}\" failed..."
+ exit 1
+ fi
+ fi
+
+ if ! [ -x ~${PGUSER} ] ; then
+ mkdir -p ${DB_DIR}
+ chown pgsql:pgsql ${DB_DIR}
+ fi
+ ;;
+
BACKUPWARNING)
backupwarning
;;