Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package postgresql for openSUSE:Factory 
checked in at 2023-09-20 13:20:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/postgresql (Old)
 and      /work/SRC/openSUSE:Factory/.postgresql.new.16627 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "postgresql"

Wed Sep 20 13:20:54 2023 rev:67 rq:1111591 version:16

Changes:
--------
--- /work/SRC/openSUSE:Factory/postgresql/postgresql.changes    2023-01-10 
14:59:55.977245717 +0100
+++ /work/SRC/openSUSE:Factory/.postgresql.new.16627/postgresql.changes 
2023-09-20 13:20:56.448914353 +0200
@@ -1,0 +2,30 @@
+Thu Sep 14 13:03:29 UTC 2023 - Reinhard Max <m...@suse.com>
+
+- Bump default to 16 on Factory.
+
+-------------------------------------------------------------------
+Mon Aug  7 13:05:52 UTC 2023 - Reinhard Max <m...@suse.com>
+
+- Bump major version to prepare for PostgreSQL 16, but keep
+  default at 15 for now on Factory.
+
+-------------------------------------------------------------------
+Tue May 23 11:45:10 UTC 2023 - Reinhard Max <m...@suse.com>
+
+- boo#1122892: Add a sysconfig variable for initdb.
+
+-------------------------------------------------------------------
+Mon May 15 14:17:11 UTC 2023 - Reinhard Max <m...@suse.com>
+
+- Overhaul postgresql-README.SUSE and move it from the binary
+  package to the noarch wrapper package.
+- bsc#1179231: Add an explanation for the /tmp -> /run/postgresql
+  move and permission change.
+- Add postgresql-README as a separate source file.
+
+-------------------------------------------------------------------
+Mon Mar 27 17:10:16 UTC 2023 - Reinhard Max <m...@suse.com>
+
+- bsc#1209208: Drop hard dependency on systemd
+
+-------------------------------------------------------------------

New:
----
  postgresql-README
  postgresql-README.SUSE

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

Other differences:
------------------
++++++ postgresql.spec ++++++
--- /var/tmp/diff_new_pack.KytGwp/_old  2023-09-20 13:20:57.980969240 +0200
+++ /var/tmp/diff_new_pack.KytGwp/_new  2023-09-20 13:20:57.980969240 +0200
@@ -15,8 +15,8 @@
 # Please submit bugfixes or comments via http://bugs.opensuse.org/
 #
 
-%define pgmajor 15
-%define defaultpackage postgresql%pgmajor
+%define pgmajor 16
+%define defaultpackage postgresql16
 
 %if ! %{defined _rpmmacrodir}
 %define _rpmmacrodir %{_rpmconfigdir}/macros.d
@@ -84,6 +84,8 @@
 Source7:        postgresql-install-alternatives
 Source8:        postgresql-extensions-macros
 Source9:        postgresql.sysusers
+Source10:       postgresql-README.SUSE
+Source11:       postgresql-README
 
 %if 0%{?suse_version} > 1100
     %define fwdir /etc/sysconfig/SuSEfirewall2.d/services
@@ -126,7 +128,7 @@
 Obsoletes:      postgresql-init < %version.0-%release
 %if %{with systemd}
 BuildRequires:  pkgconfig(systemd)
-%{?systemd_requires}
+%{?systemd_ordering}
 %else
 Requires(postun): %insserv_prereq
 %endif
@@ -322,10 +324,13 @@
 %prep
 
 %build
+
 %if %{with sysusers}
 %sysusers_generate_pre %{SOURCE9} %{name}-server %{name}-server.conf
 %endif
-echo "This is a dummy package to provide a dependency on the default 
PostgreSQL version." > README
+
+cp %{SOURCE10} README.SUSE
+cp %{SOURCE11} README
 
 %install
 mkdir -p %buildroot/var/lib/pgsql/
@@ -382,6 +387,7 @@
        -c "PostgreSQL Server" -u 26 postgres
 %endif
 %if %{with systemd}
+if test -x /usr/bin/systemctl; then
 %service_add_pre postgresql.service
 
 # Save the "enabled" and "active" state across the transition of
@@ -393,11 +399,13 @@
        fi
        systemctl is-active postgresql.service &>/dev/null && touch %aflag ||:
 fi
+fi
 %endif
 
 %post server
 %fillup_only -n postgresql
 %if %{with systemd}
+if test -x /usr/bin/systemctl; then
 PROFILE="/var/lib/pgsql/.bash_profile"
 if test -r "$PROFILE" && test "`cat $PROFILE`" = 
"/usr/share/postgresql/bash_profile"
 then
@@ -408,21 +416,26 @@
 fi
 %tmpfiles_create %_tmpfilesdir/postgresql.conf
 %service_add_post postgresql.service
+fi
 %endif
 
 %preun server
 %if %{with systemd}
+if test -x /usr/bin/systemctl; then
 # Cannot use systemd macros here, because they're doing too much
 /usr/bin/systemctl --no-reload disable postgresql.service || :
+fi
 %else
 %stop_on_removal postgresql
 %endif
 
 %postun server
 %if %{with systemd}
+if test -x /usr/bin/systemctl; then
 # Cannot use systemd macros here, because they're doing too much
 rm -f "/var/lib/systemd/migrated/postgresql"
 /usr/bin/systemctl daemon-reload || :
+fi
 
 %else
 %insserv_cleanup
@@ -430,6 +443,7 @@
 
 %if %{with systemd}
 %posttrans server
+if test -x /usr/bin/systemctl; then
 # Save the "enabled" and "active" state across the transition of
 # ownership of postgresql.service from postgresql-init to
 # postgresql-server.
@@ -437,15 +451,17 @@
        rm -f %eflag
        systemctl enable postgresql.service
 fi
+
 if test -f %aflag; then
        rm -f %aflag
        systemctl start postgresql.service
 fi
+fi
 %endif
 
 %files
 %defattr(-,root,root,-)
-%doc README
+%doc README.SUSE
 %dir /usr/share/postgresql
 /usr/share/postgresql/install-alternatives
 

++++++ postgresql-README ++++++
This is a dummy package to provide a dependency on the default
PostgreSQL version. For further information see the following file in
the postgresql package: /usr/share/doc/packages/postgresql/README.SUSE

++++++ postgresql-README.SUSE ++++++
PostgreSQL packages openSUSE and SUSE Linux Enterprise Server
=============================================================

This section describes the RPM package layout for PostgreSQL at
SUSE.

In certain situations (see "Upgrading PostgreSQL" below) it is needed
to have more than one version of PostgreSQL installed on a system at
the same time. For that SUSE has put the major version number into the
name of the package containing the respective PostgreSQL binaries,
e.g. postgresql14 or postgresql15. The package set for each major
version further consists of multiple subpackages containing different
aspects of a PostgreSQL installation such as postgresql14-server, or
postgresql15-contrib.

Inside the packages the files are moved from their standard locations
to a versioned location such as /usr/lib/postgresql14/bin or
/usr/lib/postgresql15/bin to avoid file conflicts. The
update-alternatives mechanism is used to create and maintain symbolic
links that cause one version (by default the highest installed
version) to re-appear in the standard locations.

There is also a set of unversioned packages (postgresql,
postgresql-server, etc.) that contains some common stuff that is
needed for all versions, like dependencies, scripts, or this
README. These packages also define the default version for a SUSE
product by recommending the respective binary packages.

By default, database data are stored under /var/lib/pgsql/data on SUSE
Linux.


Unix-Domain Socket Directory
============================

Traditionally a PostgreSQL server puts its unix domain sockets for
local client connections into the /tmp directory, which is not
intended for this kind of use and allows unprivileged users to start
rogue PostgreSQL servers. For that reason SUSE has moved the default
directory for these sockets to /run/postgresql and set the permissions
of that directory to only allow the postgres user and members of the
postgres group to start servers that have their sockets here.

A secondary socket is still also opened under /tmp for backwards
compatibility with old clients, but this is deprecated and should not
be used anymore in new deployments.


Upgrading PostgreSQL
====================

PostgreSQL databases are compatible among minor versions of the same
major version (e.g. 14.1, 14.2, 14.3), but need migration when
switching to a new major version (e.g. 14.x to 15.y).

Since version 9.1 PostgreSQL comes with the pg_upgrade tool that
simplifies and speeds up the migration of a PostgreSQL installation to
a new major version. Starting at version 11 logical replication
between two server instances provides anoter way of migrating a
PostgreSQL database to a new major version with minimal downtimes.
Before version 9.1 dump and restore was needed which is much slower,
but might still be usful in certain upgrade situations.

The following text will only explain migration through pg_upgrade. For
the other variants, please refer to the original documentation online
or in the respective postgresqlXX-docs package.

pg_upgrade needs to have the server binaries of both versions
available, so e.g. for migrating from version 14 to 15 both,
postgresql14-server and postgresql15-server need to be installed.



The following preconditions have to be fulfilled before data migration
can be started:

 1. If not already done, the packages of the old PostgreSQL version
 must be upgraded to the new packaging scheme through a maintenance
 update.

 2. The packages of the new PostgreSQL major version need to be
 installed. As pg_upgrade is contained in the contrib subpackage, that
 one has to be installed as well, at least for the migration period.

 3. Unless pg_upgrade is used in link mode, the server must have
 enough free disk space to temporarily hold a copy of the database
 files. If the database instance was installed in the default
 location, the needed space in megabytes can be determined by running
 the follwing command as root: "du -hs /var/lib/pgsql/data". If space
 is tight, it might help to run the "VACUUM FULL" SQL command on each
 database in the instance to be migrated, but be aware that it might
 take very long.

The latest upstream documentation for pg_upgrade including step by
step instructions for performing a database migration can be found
online under https://www.postgresql.org/docs/current/pgupgrade.html ,
or locally under
file:///usr/share/doc/packages/postgresqlXX/html/pgupgrade.html , if
the postgresqlXX-docs package is installed. XX is a place holder for
the respective major version here.

NOTE: The online documentation starts with explaining how you can
install PostgreSQL from the upstream sources (which is not necessary
when you install the SUSE RPMs) and also uses other directory names
(/usr/local instead of the update-alternatives based path as described
above).

For background information about the inner workings of pg_upgrade and
a performance comparison with the old dump and restore method, see
http://momjian.us/main/writings/pgsql/pg_upgrade.pdf .

++++++ postgresql-script ++++++
--- /var/tmp/diff_new_pack.KytGwp/_old  2023-09-20 13:20:58.084972966 +0200
+++ /var/tmp/diff_new_pack.KytGwp/_new  2023-09-20 13:20:58.084972966 +0200
@@ -5,6 +5,7 @@
 
 eval DATADIR=${POSTGRES_DATADIR:-~postgres/data}
 OPTIONS=${POSTGRES_OPTIONS}
+INITDB_OPTS=${POSTGRES_INITDB_OPTS}
 PIDFILE=$DATADIR/postmaster.pid
 
 # 
@@ -48,8 +49,8 @@
        if [ ! -f $DATADIR/PG_VERSION ]; then
            test -n "$POSTGRES_LANG" && export LC_ALL="$POSTGRES_LANG"
            install -d -m 700 ${DATADIR} &&
-           echo "Initializing PostgreSQL $VERSION at location ${DATADIR}"
-           /usr/bin/initdb --auth=ident $DATADIR > initlog 2>&1 || {
+           echo "Initializing PostgreSQL $VERSION at location ${DATADIR} using 
options \"$INITDB_OPTS\""
+           /usr/bin/initdb $INITDB_OPTS $DATADIR > initlog 2>&1 || {
                echo "Initialisation failed. See $PWD/initlog ."
                exit 1
            }

++++++ postgresql-sysconfig ++++++
--- /var/tmp/diff_new_pack.KytGwp/_old  2023-09-20 13:20:58.104973682 +0200
+++ /var/tmp/diff_new_pack.KytGwp/_new  2023-09-20 13:20:58.108973826 +0200
@@ -50,3 +50,19 @@
 #
 POSTGRES_LANG=""
 
+## Path:           Applications/PostgreSQL
+## Description:    The PostgreSQL Database System
+## Type:           string()
+## Default:        "--auth=ident"
+## ServiceRestart: ""
+#
+# When PostgreSQL gets started while no database cluster exists under
+# the directory stored in the POSTGRES_DATADIR variable, the initdb
+# tool gets called with that directory to initialize a new cluster.
+# Additional options can be passed to initdb via this variable.
+# Alternatively initdb can be called manually to initialize the
+# database cluster prior to starting the PostgreSQL server for the
+# first time.
+#
+POSTGRES_INITDB_OPTS="--auth=ident"
+

Reply via email to