diff --git a/etc/init.d/dm-postgresql b/etc/init.d/dm-postgresql
index ee883962488a603061b95ada81a2649b85363c9a..99c9ffa4a8131bc057f63c22ae43b0658a137eaa 100755
--- a/etc/init.d/dm-postgresql
+++ b/etc/init.d/dm-postgresql
@@ -72,6 +72,8 @@ PGROOT=$DM_SUPPORT_DIR/postgresql/$DM_HOST_ARCH
 PGENGINE=$PGROOT/bin
 #PGUSER=dm
 PGUSER=`whoami`
+PGGROUPID=`id $PGUSER | cut -f1`
+PGGROUP=`getent group $PGGROUPID | cut -d: -f1`
 PGPORT=11136    # 111-DM
 PGDATA=$PGROOT/data
 
@@ -82,9 +84,9 @@ PGSTARTUPLOG=$PGLOGDIR/postgresql
 PGPIDFILE=$PGRUNDIR/postmaster.pid
 PGLOCKFILE=$PGRUNDIR/postmaster.lock
 
-mkdir -p $PGDATA && chown -R $PGUSER:$PGUSER $PGDATA
-mkdir -p $PGRUNDIR && chown -R $PGUSER:$PGUSER $PGRUNDIR
-mkdir -p $PGLOGDIR && chown -R $PGUSER:$PGUSER $PGLOGDIR
+mkdir -p $PGDATA && chown -R $PGUSER:$PGGROUP $PGDATA
+mkdir -p $PGRUNDIR && chown -R $PGUSER:$PGGROUP $PGRUNDIR
+mkdir -p $PGLOGDIR && chown -R $PGUSER:$PGGROUP $PGLOGDIR
 
 export PGDATA
 export PGPORT
@@ -104,7 +106,7 @@ start() {
     # Make sure startup-time log file is valid
     if [ ! -e "$PGSTARTUPLOG" -a ! -h "$PGSTARTUPLOG" ]; then
         touch "$PGSTARTUPLOG" || exit 1
-        chown $PGUSER:$PGUSER "$PGSTARTUPLOG"
+        chown $PGUSER:$PGGROUP "$PGSTARTUPLOG"
         chmod go-rwx "$PGSTARTUPLOG"
         [ -x /sbin/restorecon ] && /sbin/restorecon "$PGSTARTUPLOG"
     fi
@@ -191,7 +193,7 @@ initdb() {
         echo -n $"Initializing database: "
         if [ ! -e "$PGDATA" -a ! -h "$PGDATA" ]; then
             mkdir -p "$PGDATA" || exit 1
-            chown $PGUSER:$PGUSER "$PGDATA"
+            chown $PGUSER:$PGGROUP "$PGDATA"
             chmod go-rwx "$PGDATA"
         fi
 
@@ -201,7 +203,7 @@ initdb() {
         # Make sure the startup-time log file is OK, too
         if [ ! -e "$PGSTARTUPLOG" -a ! -h "$PGSTARTUPLOG" ]; then
             touch "$PGSTARTUPLOG" || exit 1
-            chown $PGUSER:$PGUSER "$PGSTARTUPLOG"
+            chown $PGUSER:$PGGROUP "$PGSTARTUPLOG"
             chmod go-rwx "$PGSTARTUPLOG"
             [ -x /sbin/restorecon ] && /sbin/restorecon "$PGSTARTUPLOG"
         fi
@@ -212,7 +214,7 @@ initdb() {
 
         # Create directory for postmaster log
         mkdir -p "$PGDATA/pg_log"
-        chown $PGUSER:$PGUSER "$PGDATA/pg_log"
+        chown $PGUSER:$PGGROUP "$PGDATA/pg_log"
         chmod go-rwx "$PGDATA/pg_log"
 
         if [ -f "$PGDATA/PG_VERSION" ]; then