Hello community,

here is the log from the commit of package postgresql for openSUSE:Factory 
checked in at 2017-11-26 10:33:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/postgresql (Old)
 and      /work/SRC/openSUSE:Factory/.postgresql.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "postgresql"

Sun Nov 26 10:33:18 2017 rev:50 rq:545165 version:10

Changes:
--------
--- /work/SRC/openSUSE:Factory/postgresql/postgresql.changes    2017-02-16 
16:45:31.345955355 +0100
+++ /work/SRC/openSUSE:Factory/.postgresql.new/postgresql.changes       
2017-11-26 10:33:19.354440607 +0100
@@ -1,0 +2,67 @@
+Fri Nov 24 11:24:09 UTC 2017 - [email protected]
+
+- instead of hardcoding version 10, just check if the prio is
+  smaller than 80.
+
+-------------------------------------------------------------------
+Thu Nov 23 17:05:21 UTC 2017 - [email protected]
+
+- simplify the postgresql-install-alternatives to only require the
+  pg version and go from there.
+
+  supported calls of the script are:
+  /usr/share/postgresql/install-alternatives postgresqlXY
+  /usr/share/postgresql/install-alternatives XY
+
+  where XY can currently be: 92 93 94 95 96 10
+
+-------------------------------------------------------------------
+Wed Nov 22 13:03:42 UTC 2017 - [email protected]
+
+- CVE-2017-14798, bsc#1062722: Fix LPE via postgres init script.
+  This only affected SysV-init based systems (i.e. SLE11).
+
+-------------------------------------------------------------------
+Tue Nov 14 08:52:46 UTC 2017 - [email protected]
+
+- postgresql-test was missing a %files section.
+
+-------------------------------------------------------------------
+Fri Nov  3 12:55:14 UTC 2017 - [email protected]
+
+- Move the start/stop script to /usr/share/postgresql
+- Add a script for handling update-alternatives as subpackages
+  get installed/uninstalled, so that the implementation packages
+  don't have to repeat the logic (postgresql-install-alternatives).
+- Add the postgresql-test subpackage.
+- Fix some dependencies.
+- Save the enabled and running state when upgrading from the
+  obsolete postgresql-init package.
+
+-------------------------------------------------------------------
+Fri Oct  6 14:33:54 UTC 2017 - [email protected]
+
+- properly guard the systemd macro in %pre server so it wont be
+  used on sle11
+- add Requires(pre) so we have groupadd/useradd available
+
+-------------------------------------------------------------------
+Thu Sep 21 07:59:26 UTC 2017 - [email protected]
+
+- Refine the dependencies between the "dummy" packages and the
+  actual implementation of PostgreSQL. The dummy packages now
+  require an arbitrary implementation and recommend the default
+  version.
+- Move the contents of postgresql-init to the server package.
+
+-------------------------------------------------------------------
+Thu Aug  3 23:06:39 UTC 2017 - [email protected]
+
+- bump to 10
+
+-------------------------------------------------------------------
+Wed Jun 28 09:35:46 UTC 2017 - [email protected]
+
+- Bump version and defaultpackage to 9.6 in SLE12 (bsc#1046324).
+
+-------------------------------------------------------------------
@@ -4 +71 @@
-- Bump version and defaultpackage to 9.6.
+- Bump version and defaultpackage to 9.6 in Factory.
@@ -12,0 +80,5 @@
+Mon Aug 17 00:25:13 CEST 2015 - [email protected]
+
+- Bump version and defaultpackage to 9.4. in SLE (bnc#941886)
+
+-------------------------------------------------------------------
@@ -15 +87 @@
-- Bump version and defaultpackage to 9.4.
+- Bump version and defaultpackage to 9.4 in Factory.

New:
----
  postgresql-firewall
  postgresql-init
  postgresql-install-alternatives
  postgresql-script
  postgresql-sysconfig
  postgresql-tmpfiles.conf
  postgresql.service

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ postgresql.spec ++++++
--- /var/tmp/diff_new_pack.7iSuUy/_old  2017-11-26 10:33:19.898420771 +0100
+++ /var/tmp/diff_new_pack.7iSuUy/_new  2017-11-26 10:33:19.902420625 +0100
@@ -15,20 +15,42 @@
 # Please submit bugfixes or comments via http://bugs.opensuse.org/
 #
 
-%define defaultpackage postgresql96
+%define defaultpackage postgresql10
+
+%if 0%{?suse_version} >= 1300
+%bcond_without  systemd
+%else
+%bcond_with     systemd
+%endif
 
 Name:           postgresql
 Summary:        Basic Clients and Utilities for PostgreSQL
 License:        PostgreSQL
 Group:          Productivity/Databases/Tools
-Version:        9.6
+Version:        10
 Release:        0
 Url:            https://www.postgresql.org/
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
-Requires:       %defaultpackage
+Provides:       postgresql-noarch = %version-%release
+Requires:       postgresql-implementation
+Recommends:     %defaultpackage
 BuildArch:      noarch
-Source0:        postgresql-bashprofile
-
+Source0:        postgresql-init
+Source1:        postgresql-sysconfig
+Source2:        postgresql-firewall
+Source3:        postgresql-tmpfiles.conf
+Source4:        postgresql.service
+Source5:        postgresql-bashprofile
+Source6:        postgresql-script
+Source7:        postgresql-install-alternatives
+
+%if 0%{?suse_version} > 1100
+    %define fwdir /etc/sysconfig/SuSEfirewall2.d/services
+    %define fwname postgresql
+%else
+    %define fwdir /etc/sysconfig/scripts
+    %define fwname SuSEfirewall2-postgresql
+%endif
 
 %description
 PostgreSQL is an advanced object-relational database management system
@@ -45,7 +67,24 @@
 %package server
 Summary:        The Programs Needed to Create and Run a PostgreSQL Server
 Group:          Productivity/Databases/Servers
-Requires:       %defaultpackage-server
+Provides:       postgresql-server-noarch = %version-%release
+Requires:       postgresql-server-implementation
+Requires:       postgresql = %version-%release
+Recommends:     %defaultpackage-server
+%if 0%{?suse_version} >= 1315
+Requires(pre):  shadow
+%else
+Requires(pre):  pwdutils
+%endif
+Provides:       postgresql-init = %version.0-%release
+Obsoletes:      postgresql-init < %version.0-%release
+%if %{with systemd}
+BuildRequires:  pkgconfig(systemd)
+%{?systemd_requires}
+%else
+Requires(postun): %insserv_prereq
+%endif
+
 
 %description server
 PostgreSQL is an advanced object-relational database management system
@@ -57,10 +96,24 @@
 PostgreSQL server, which will in turn allow you to create and maintain
 PostgreSQL databases.
 
+%package test
+Summary:        The test suite for PostgreSQL
+Group:          Productivity/Databases/Servers
+Provides:       postgresql-test-noarch = %version-%release
+Requires:       postgresql-test-implementation
+Recommends:     %defaultpackage-implementation
+
+%description test
+This package contains the sources and pre-built binaries of various
+tests for the PostgreSQL database management system, including
+regression tests and benchmarks.
+
 %package docs
 Summary:        HTML Documentation for PostgreSQL
 Group:          Productivity/Databases/Tools
-Requires:       %defaultpackage-docs
+Provides:       postgresql-docs-noarch = %version-%release
+Requires:       postgresql-docs-implementation
+Recommends:     %defaultpackage-docs
 
 %description docs
 PostgreSQL is an advanced object-relational database management system
@@ -76,7 +129,9 @@
 %package contrib
 Summary:        Contributed Extensions and Additions to PostgreSQL
 Group:          Productivity/Databases/Tools
-Requires:       %defaultpackage-contrib
+Provides:       postgresql-contrib-noarch = %version-%release
+Requires:       postgresql-contrib-implementation
+Recommends:     %defaultpackage-contrib
 
 %description contrib
 PostgreSQL is an advanced object-relational database management system
@@ -93,8 +148,10 @@
 
 %package devel
 Summary:        PostgreSQL development header files and libraries
-Group:          Productivity/Databases/Tools
-Requires:       %defaultpackage-devel
+Group:          Development/Libraries/C and C++
+Provides:       postgresql-devel-noarch = %version-%release
+Requires:       postgresql-devel-implementation
+Recommends:     %defaultpackage-devel
 
 %description devel
 PostgreSQL is an advanced object-relational database management system
@@ -111,7 +168,9 @@
 %package plperl
 Summary:        The PL/Tcl, PL/Perl, and  PL/Python procedural languages for 
PostgreSQL
 Group:          Productivity/Databases/Servers
-Requires:       %defaultpackage-plperl
+Provides:       postgresql-plperl-noarch = %version-%release
+Requires:       postgresql-plperl-implementation
+Recommends:     %defaultpackage-plperl
 
 %description plperl
 PostgreSQL is an advanced object-relational database management system
@@ -126,7 +185,9 @@
 %package plpython
 Summary:        The PL/Python Procedural Languages for PostgreSQL
 Group:          Productivity/Databases/Servers
-Requires:       %defaultpackage-plpython
+Provides:       postgresql-plpython-noarch = %version-%release
+Requires:       postgresql-plpython-implementation
+Recommends:     %defaultpackage-plpython
 
 %description plpython
 PostgreSQL is an advanced object-relational database management system
@@ -141,7 +202,9 @@
 %package pltcl
 Summary:        PL/Tcl Procedural Language for PostgreSQL
 Group:          Productivity/Databases/Tools
-Requires:       %defaultpackage-pltcl
+Provides:       postgresql-pltcl-noarch = %version-%release
+Requires:       postgresql-pltcl-implementation
+Recommends:     %defaultpackage-pltcl
 
 %description pltcl
 PostgreSQL is an advanced object-relational database management system
@@ -153,17 +216,109 @@
 With thie module one can use Tcl to write stored procedures, functions,
 and triggers.
 
+%prep
+
 %build
 echo "This is a dummy package to provide a dependency on the default 
PostgreSQL version." > README
 
 %install
 mkdir -p %buildroot/var/lib/pgsql/
-sed 's,@LIBDIR@,%_libdir,g' %{SOURCE0} > \
-        %buildroot/var/lib/pgsql/.bash_profile
+install -m640 %{SOURCE5} %buildroot/var/lib/pgsql/.bash_profile
+
+install -m755 -d %buildroot/var/adm/fillup-templates
+install -m644 %{S:1} %buildroot/var/adm/fillup-templates/sysconfig.postgresql
+
+install -m755 -d %buildroot%fwdir
+install -m644 %{S:2} %buildroot%fwdir/%fwname
+
+install -m755 -d %buildroot/usr/sbin
+
+install -m755 -d %buildroot/usr/share/postgresql
+install -m755 %{S:7} %buildroot/usr/share/postgresql/install-alternatives
+
+%if %{with systemd}
+install -m755 -d %buildroot/%_tmpfilesdir
+install -m644 %{S:3} %buildroot%_tmpfilesdir/postgresql.conf
+install -m755 %{S:6} %buildroot/usr/share/postgresql
+
+install -m755 -d %buildroot%_unitdir
+install -m444 %{S:4} %buildroot%_unitdir
+
+ln -sf service %buildroot/usr/sbin/rcpostgresql
+%else
+install -m755 -d %buildroot/etc/init.d
+install -m755 %{S:0} %buildroot/etc/init.d/postgresql
+ln -sf /etc/init.d/postgresql %buildroot/usr/sbin/rcpostgresql
+%endif
+
+%define eflag /run/postgresql-was-enabled
+%define aflag /run/postgresql-was-running
+
+%pre server
+getent group postgres > /dev/null ||
+       groupadd -g 26 -o -r postgres
+getent passwd postgres > /dev/null ||
+       useradd -g postgres -o -r -d /var/lib/pgsql -s /bin/bash \
+       -c "PostgreSQL Server" -u 26 postgres
+%if %{with systemd}
+%service_add_pre postgresql.service
+
+# Save the "enabled" and "active" state across the transition of
+# ownership of postgresql.service from postgresql-init to
+# postgresql-server.
+if [ "$FIRST_ARG" -ge 1 ]; then \
+       if [ x$(systemctl is-enabled postgresql.service 2>/dev/null ||:) = 
"xenabled" ]; then
+               touch %eflag
+       fi
+       systemctl is-active postgresql.service &>/dev/null && touch %aflag ||:
+fi
+%endif
+
+%post server
+%fillup_only -n postgresql
+%if %{with systemd}
+%tmpfiles_create %_tmpfilesdir/postgresql.conf
+%service_add_post postgresql.service
+%endif
+
+%preun server
+%if %{with systemd}
+# Cannot use systemd macros here, because they're doing too much
+/usr/bin/systemctl --no-reload disable postgresql.service || :
+%else
+%stop_on_removal postgresql
+%endif
+
+%postun server
+%if %{with systemd}
+# Cannot use systemd macros here, because they're doing too much
+rm -f "/var/lib/systemd/migrated/postgresql"
+/usr/bin/systemctl daemon-reload || :
+
+%else
+%insserv_cleanup
+%endif
+
+%if %{with systemd}
+%posttrans server
+# Save the "enabled" and "active" state across the transition of
+# ownership of postgresql.service from postgresql-init to
+# postgresql-server.
+if test -f %eflag; then
+       rm -f %eflag
+       systemctl enable postgresql.service
+fi
+if test -f %aflag; then
+       rm -f %aflag
+       systemctl start postgresql.service
+fi
+%endif
 
 %files
 %defattr(-,root,root,-)
 %doc README
+%dir /usr/share/postgresql
+/usr/share/postgresql/install-alternatives
 
 %files server
 %defattr(-,root,root,-)
@@ -171,6 +326,24 @@
 %attr(750,postgres,postgres) %dir /var/lib/pgsql
 %attr(640,postgres,postgres) %config(noreplace) /var/lib/pgsql/.bash_profile
 
+%if 0%{?suse_version} > 1110
+%dir %fwdir
+%endif
+%config %fwdir/%fwname
+/var/adm/fillup-templates/sysconfig.postgresql
+/usr/sbin/rcpostgresql
+%if %{with systemd}
+%_tmpfilesdir/postgresql.conf
+%_unitdir/
+/usr/share/postgresql/postgresql-script
+%else
+%config /etc/init.d/postgresql
+%endif
+
+%files test
+%defattr(-,root,root,-)
+%doc README
+
 %files docs
 %defattr(-,root,root,-)
 %doc README

++++++ postgresql-firewall ++++++
## Name: PostgreSQL Server
## Description: Opens TCP port 5432 to allow remote connections to the 
PostgreSQL server.

TCP="5432"
++++++ postgresql-init ++++++
#!/bin/sh
# Copyright (c) 1995-2004 SUSE Linux AG, Nuernberg, Germany.
# All rights reserved.
#
# System startup script for PostgreSQL
#
# LSB compatible service control script; see http://www.linuxbase.org/spec/
#
### BEGIN INIT INFO
# Provides:       postgresql
# Required-Start: $network $remote_fs
# Required-Stop: $network $remote_fs
# Default-Start:  3 5
# Default-Stop:   
# Description:    Start the PostgreSQL master daemon
### END INIT INFO

# Source SuSE config
PG_SYSCONFIG=/etc/sysconfig/postgresql
test -f $PG_SYSCONFIG && . $PG_SYSCONFIG

# Shell functions sourced from /etc/rc.status:
#      rc_check         check and set local and overall rc status
#      rc_status        check and set local and overall rc status
#      rc_status -v     ditto but be verbose in local rc status
#      rc_status -v -r  ditto and clear the local rc status
#      rc_failed        set local and overall rc status to failed
#      rc_reset         clear local rc status (overall remains)
#      rc_exit          exit appropriate to overall rc status
. /etc/rc.status

eval DATADIR=${POSTGRES_DATADIR:-~postgres/data}
OPTIONS=${POSTGRES_OPTIONS}
PIDFILE=$DATADIR/postmaster.pid

# The echo return value for success (defined in /etc/rc.config).
rc_reset

# Return values acc. to LSB for all commands but status:
# 0 - success
# 1 - generic or unspecified error
# 2 - invalid or excess argument(s)
# 3 - unimplemented feature (e.g. "reload")
# 4 - insufficient privilege
# 5 - program is not installed
# 6 - program is not configured
# 7 - program is not running
# 
# Note that starting an already running service, stopping
# or restarting a not-running service as well as the restart
# with force-reload (in case signalling is not supported) are
# considered a success.

# 
if test -r $DATADIR/PG_VERSION ; then
    DATA_VERSION=$(cat $DATADIR/PG_VERSION)
    POSTGRES=/usr/lib/postgresql${DATA_VERSION/./}/bin/postgres
fi
if test -x /usr/bin/postgres; then
    ACTIVE=$(readlink -q -f /usr/bin/postgres)
    test -z "$POSTGRES" && POSTGRES="$ACTIVE"
fi
if test -z "$POSTGRESQL_QUIET"; then
    export POSTGRESQL_QUIET=1
    if test -n "$DATA_VERSION"; then
        if test -z "$ACTIVE" -o "$ACTIVE" != "$POSTGRES"; then
            echo " Your database files were created by PostgreSQL version 
$DATA_VERSION."
            if test -x "$POSTGRES"; then
                echo " Using the executables in $(dirname $POSTGRES)."
            else
                echo " Could not find executables for this version."
                echo " Please install the PostgreSQL server package for version 
$DATA_VERSION."
            fi
        fi
    elif test -z "$ACTIVE"; then
        echo " Cannot find an active PostgreSQL server binary. Please install 
one of the PostgreSQL"
        echo " server packages or activate an already installed version using 
update-alternatives."
    fi
fi
if test ! -x "$POSTGRES"; then
    test "$1" = "stop" && exit 0 || exit 5
fi
BINDIR=$(dirname $POSTGRES)
VERSION=$($POSTGRES --version|awk '{print $NF}')
LOGFILE=$DATADIR/postmaster.log
pg_ctl () {
        CMD="$BINDIR/pg_ctl ${POSTGRES_TIMEOUT:+-t $POSTGRES_TIMEOUT} $@"
        su - postgres -c "$CMD"
}

case "$1" in
    start)
        if [ ! -f $DATADIR/PG_VERSION ]; then
            echo -n "Initializing PostgreSQL $VERSION at location ${DATADIR}"
            LANG_SYSCONFIG=/etc/sysconfig/language
            test -f "$LANG_SYSCONFIG" && . $LANG_SYSCONFIG
            LANG=${POSTGRES_LANG:-$RC_LANG}
            INITDB=/usr/bin/initdb
            V=$(printf "%02d%02d" $(echo $VERSION|awk -F. '{print $1, $2}'))
            AUTH="ident"; test $V -lt 0804 && AUTH="ident sameuser"
            su - postgres -c \
                "$INITDB --locale=$LANG --auth=\"$AUTH\" $DATADIR &> initlog" ||
            rc_failed
            rc_status -v
            rc_status || {
                echo "You can find a log of the initialisation in 
~postgres/initlog ."
                rc_exit
           } 
        fi
        echo -n "Starting PostgreSQL $VERSION "
        if pg_ctl status -s -D $DATADIR >/dev/null
        then
            rc_failed 0
        else
            set -o pipefail
            pg_ctl start -s -w -D $DATADIR -l $LOGFILE -o "\"$OPTIONS\""
        fi
        rc_status -v
    ;;

    stop)
        echo -n "Shutting down PostgreSQL $VERSION "
        if pg_ctl status -s -D $DATADIR >/dev/null
        then
            pg_ctl stop -s -D $DATADIR -m fast &> /dev/null
        else
            rc_failed 0
        fi
        rc_status -v
    ;;

    try-restart|condrestart)
        ## Do a restart only if the service was active before.
        ## Note: try-restart is now part of LSB (as of 1.9).
        ## RH has a similar command named condrestart.
        if test "$1" = "condrestart"; then
                echo "${attn} Use try-restart ${done}(LSB)${attn} rather than 
condrestart ${warn}(RH)${norm}"
        fi
        $0 status
        if test $? = 0; then
            $0 restart
        else
            rc_reset        # Not running is not a failure.
        fi
        # Remember status and be quiet
        rc_status
    ;;

    restart)
        ## Stop the service and regardless of whether it was
        ## running or not, start it again.
        $0 stop
        $0 start
        rc_status
    ;;

    force-reload | reload)
        echo -n "Reloading configuration for PostgreSQL $VERSION "
        pg_ctl reload -s -D $DATADIR
        rc_status -v
    ;;

    status)
        echo -n "Checking for PostgreSQL $VERSION: "
        ## Check status with checkproc(8), if process is running
        ## checkproc will return with exit status 0.

        # Status has a slightly different for the status command:
        # 0 - service running
        # 1 - service dead, but /var/run/  pid  file exists
        # 2 - service dead, but /var/lock/ lock file exists
        # 3 - service not running

        # NOTE: checkproc returns LSB compliant status values.
        if ! pg_ctl status -s -D $DATADIR >/dev/null
        then
            if test -f $DATADIR/postmaster.pid; then
                rc_failed 1
            else
                rc_failed 3
            fi
        fi
        rc_status -v
    ;;
    
    probe)
        rc_failed 3
        rc_status -v
    ;;

    *)
        echo "Usage: $0 
{start|stop|status|try-restart|restart|force-reload|reload|probe}"
        exit 1
    ;;
esac

# Inform the caller not only verbosely and set an exit status.
rc_exit
++++++ postgresql-install-alternatives ++++++
#!/bin/bash

shopt -s nullglob

if test "$#" -ne 1; then
        echo "usage: $0 pgversion" 1>&2
        exit 1
fi

PRIO=$1
case "$PRIO" in
  postgresql*)
    PRIO="${PRIO##postgresql}"
  ;;
esac

PGBASEDIR=/usr/lib/postgresql$PRIO
if [ $PRIO -lt 80 ] ; then
  PRIO="${PRIO}0"
fi

PGBINDIR=$PGBASEDIR/bin

for FILE in $PGBINDIR/*; do
    NAME=$(basename $FILE)
    DIR=/usr/bin
    SLAVES="$SLAVES --slave $DIR/$NAME $NAME $FILE"
done

if test -n "$SLAVES"; then
    update-alternatives --quiet --install \
        /usr/lib/postgresql postgresql $PGBASEDIR $PRIO \
        $SLAVES
else
    update-alternatives --remove postgresql $PGBASEDIR
fi
++++++ postgresql-script ++++++
#!/bin/sh

PG_SYSCONFIG=/etc/sysconfig/postgresql
test -f $PG_SYSCONFIG && . $PG_SYSCONFIG

eval DATADIR=${POSTGRES_DATADIR:-~postgres/data}
OPTIONS=${POSTGRES_OPTIONS}
PIDFILE=$DATADIR/postmaster.pid

# 
if test -r $DATADIR/PG_VERSION ; then
    DATA_VERSION=$(cat $DATADIR/PG_VERSION)
    POSTGRES=/usr/lib/postgresql${DATA_VERSION/./}/bin/postgres
fi
if test -x /usr/bin/postgres; then
    ACTIVE=$(readlink -q -f /usr/bin/postgres)
    test -z "$POSTGRES" && POSTGRES="$ACTIVE"
fi
if test -n "$DATA_VERSION"; then
    if test -z "$ACTIVE" -o "$ACTIVE" != "$POSTGRES"; then
        echo " Your database files were created by PostgreSQL version 
$DATA_VERSION."
        if test -x "$POSTGRES"; then
            echo " Using the executables in $(dirname $POSTGRES)."
        else
            echo " Could not find executables for this version."
            echo " Please install the PostgreSQL server package for version 
$DATA_VERSION."
        fi
    fi
elif test -z "$ACTIVE"; then
    echo " Cannot find an active PostgreSQL server binary. Please install one 
of the PostgreSQL"
    echo " server packages or activate an already installed version using 
update-alternatives."
fi
if test ! -x "$POSTGRES"; then
    exit 1
fi
BINDIR=$(dirname $POSTGRES)
VERSION=$($POSTGRES --version|awk '{print $NF}')
pg_ctl () {
        $BINDIR/pg_ctl -s -D $DATADIR ${POSTGRES_TIMEOUT:+-t $POSTGRES_TIMEOUT} 
"$@"
}

cd ~
case "$1" in
    start)
        if [ ! -f $DATADIR/PG_VERSION ]; then
            LANG_SYSCONFIG=/etc/sysconfig/language
            test -f "$LANG_SYSCONFIG" && . $LANG_SYSCONFIG
            LANG=${POSTGRES_LANG:-$RC_LANG}
            V=$(printf "%02d%02d" $(echo $VERSION|awk -F. '{print $1, $2}'))
            install -d -m 700 ${DATADIR} &&
            echo "Initializing PostgreSQL $VERSION at location ${DATADIR}"
            /usr/bin/initdb --locale=$LANG --auth=ident $DATADIR &> initlog || {
                echo "Initialisation failed. See $PWD/initlog ."
                exit 1
            }
        fi
        pg_ctl start -w ${OPTIONS:+-o "$OPTIONS"}
        ;;

    stop)
        pg_ctl stop -m fast
        ;;
    
    reload)
        pg_ctl reload
        ;;
    
    *)
        echo "Usage: $0 {start|stop|reload}"
        exit 1
        ;;
esac
++++++ postgresql-sysconfig ++++++
## Path:           Applications/PostgreSQL
## Description:    The PostgreSQL Database System
## Type:           string()
## Default:        "~postgres/data"
## ServiceRestart: postgresql
#
# In which directory should the PostgreSQL database reside?
#
POSTGRES_DATADIR="~postgres/data"

## Path:           Applications/PostgreSQL
## Description:    The PostgreSQL Database System
## Type:           string()
## Default:        ""
## ServiceRestart: postgresql
#
# The options that are given to the PostgreSQL master daemon on startup.
# See the manual pages for postmaster and postgres for valid options.
#
# Don't put "-D datadir" here since it is set by the startup script
# based on the variable POSTGRES_DATADIR above.
#
POSTGRES_OPTIONS=""


## Path:           Applications/PostgreSQL
## Description:    The PostgreSQL Database System
## Type:           string()
## Default:        "600"
## ServiceRestart: postgresql
#
# This value controls how many seconds the pg_ctl helper program waits
# for the startup or shutdown of the PostgreSQL server to complete.
#
POSTGRES_TIMEOUT="600"

## Path:           Applications/PostgreSQL
## Description:    The PostgreSQL Database System
## Type:           string()
## Default:        "C"
## ServiceRestart: ""
#
# Specifies the locale under which the PostgreSQL database location
# should be initialized and run. If needed, it has to be changed
# before PostgreSQL is started for the first time. To change the
# locale of an existsing PostgreSQL database location, it must be
# dumped, removed and initialized from scratch using the new locale.
#
# If unset or empty $RC_LANG from /etc/sysconfig/language is used.
#
POSTGRES_LANG=""
++++++ postgresql-tmpfiles.conf ++++++
# For the PostgreSQL server's unix domain socket
d /var/run/postgresql 1777 root root -
++++++ postgresql.service ++++++
[Unit]

Description=PostgreSQL database server
After=syslog.target
After=network.target

[Service]
Type=forking
User=postgres
EnvironmentFile=-/etc/sysconfig/postgresql
ExecStart=/usr/share/postgresql/postgresql-script start
ExecStop=/usr/share/postgresql/postgresql-script stop
ExecReload=/usr/share/postgresql/postgresql-script reload

# The server might be slow to stop, and that's fine. Don't kill it
SendSIGKILL=no

[Install]
WantedBy=multi-user.target

Reply via email to