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
