- update to 2.23 : Bugfix

+ Bug Fixes:
    - Fix missing files corrupting the manifest. If a file was
    removed by PostgreSQL during the backup (or was missing from
    the standby) then the next file might not be copied and updated
    in the manifest. If this happened then the backup would error
    when restored.
  + Improvements:
    - Use pkg-config instead of xml2-config for libxml2 build options.
    - Validate checksums are set in the manifest on backup/restore.
- Introduce upstream_wrongly_bring_back_pg_config.patch to fix
  upstream code (using pg_config in client code)
  Upstream issue #920

OBS-URL: https://build.opensuse.org/package/show/server:database:postgresql/pgbackrest?expand=0&rev=29
This commit is contained in:
Bruno Friedmann 2020-01-27 21:31:08 +00:00 committed by Git OBS Bridge
parent dddf384625
commit d2514b404b
5 changed files with 81 additions and 37 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9f5b4288b26bbe13da417a2ca18269f1aed12b75b19a03dc67f1cd7abb327c15
size 5274862

3
2.23.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9fb48d23622ea91d9381898bae040690df10995c06a4241d0e44a0f5462a0a1f
size 5280713

View File

@ -1,43 +1,60 @@
-------------------------------------------------------------------
Mon Jan 27 20:27:02 UTC 2020 - Bruno Friedmann <bruno@ioda-net.ch>
- update to 2.23 : Bugfix
+ Bug Fixes:
- Fix missing files corrupting the manifest. If a file was
removed by PostgreSQL during the backup (or was missing from
the standby) then the next file might not be copied and updated
in the manifest. If this happened then the backup would error
when restored.
+ Improvements:
- Use pkg-config instead of xml2-config for libxml2 build options.
- Validate checksums are set in the manifest on backup/restore.
- Introduce upstream_wrongly_bring_back_pg_config.patch to fix
upstream code (using pg_config in client code)
Upstream issue #920
-------------------------------------------------------------------
Thu Jan 23 14:26:33 UTC 2020 - Bruno Friedmann <bruno@ioda-net.ch>
- update to 2.22 : Bugfix
+ Fix error in timeline conversion. The timeline is required to
+ Fix error in timeline conversion. The timeline is required to
verify WAL segments in the archive after a backup. The conversion
was performed base 10 instead of 16, which led to errors when the
timeline was ≥ 0xA.
timeline was ≥ 0xA.
- update to 2.21 : C Migration Complete
+ Bug Fixes
- Fix options being ignored by asynchronous commands. The
asynchronous archive-get/archive-push processes were not
loading options configured in command configuration sections,
- Fix options being ignored by asynchronous commands. The
asynchronous archive-get/archive-push processes were not
loading options configured in command configuration sections,
e.g. [global:archive-get].
- Fix handling of \ in filenames. \ was not being properly
- Fix handling of \ in filenames. \ was not being properly
escaped when calculating the manifest checksum which prevented
the manifest from loading. Since instances of \ in cluster
filenames should be rare to nonexistent this does not seem
the manifest from loading. Since instances of \ in cluster
filenames should be rare to nonexistent this does not seem
likely to be a serious problem in the field.
+ Features:
- pgBackRest is now pure C.
- Add pg-user option. Specifies the database user name when
connecting to PostgreSQL. If not specified pgBackRest will
- Add pg-user option. Specifies the database user name when
connecting to PostgreSQL. If not specified pgBackRest will
connect with the local OS user or PGUSER, which was the previous
behavior.
- Allow path-style URIs in S3 driver.
+ Improvements:
- The backup command is implemented entirely in C.
- update to 2.20 : Bug fixes
+ Fix archive-push/archive-get when PGDATA is symlinked. These
commands tried to use cwd() as PGDATA but this would disagree
+ Fix archive-push/archive-get when PGDATA is symlinked. These
commands tried to use cwd() as PGDATA but this would disagree
with the path configured in pgBackRest if PGDATA was symlinked.
If cwd() does not match the pgBackRest path then chdir() to the
path and make sure the next cwd() matches the result from the
If cwd() does not match the pgBackRest path then chdir() to the
path and make sure the next cwd() matches the result from the
first call.
+ Fix reference list when backup.info is reconstructed in expire
command. Since the backup command is still using the Perl version
of reconstruct this issue will not express unless 1) there is a
of reconstruct this issue will not express unless 1) there is a
backup missing from backup.info and 2) the expire command is run
directly instead of running after backup as usual. This unlikely
directly instead of running after backup as usual. This unlikely
combination of events means this is probably not a problem in the
field.
+ Fix segfault on unexpected EOF in gzip decompression.
@ -50,13 +67,13 @@ Wed Dec 4 13:47:03 UTC 2019 - Bruno Friedmann <bruno@ioda-net.ch>
- update to 2.19 : C Migrations and Bug Fixes
+ Bug Fixes:
- Fix remote timeout in delta restore. When performing a delta
restore on a largely unchanged cluster the remote could timeout
if no files were fetched from the repository within
- Fix remote timeout in delta restore. When performing a delta
restore on a largely unchanged cluster the remote could timeout
if no files were fetched from the repository within
protocol-timeout. Add keep-alives to prevent remote timeout.
- Fix handling of repeated HTTP headers. When HTTP headers are
repeated they should be considered equivalent to a single
comma-separated header rather than generating an error, which
- Fix handling of repeated HTTP headers. When HTTP headers are
repeated they should be considered equivalent to a single
comma-separated header rather than generating an error, which
was the prior behavior.
+ Improvements:
- JSON output from the info command is no longer pretty-printed.
@ -79,9 +96,9 @@ Sun Oct 6 14:09:55 UTC 2019 - Bruno Friedmann <bruno@ioda-net.ch>
+ Features:
- PostgreSQL 12 support.
- Add info command set option for detailed text output.
- Add standby restore type. This automatically adds
standby_mode=on to recovery.conf for PostgreSQL < 12
and creates standby.signal for PostgreSQL ≥ 12, creating a
- Add standby restore type. This automatically adds
standby_mode=on to recovery.conf for PostgreSQL < 12
and creates standby.signal for PostgreSQL ≥ 12, creating a
common interface between PostgreSQL versions.
+ Improvements:
- The restore command is implemented entirely in C.
@ -91,14 +108,14 @@ Sun Oct 6 14:09:55 UTC 2019 - Bruno Friedmann <bruno@ioda-net.ch>
- Add FAQ for time-based Point-in-Time Recovery.
- Update to 2.17 version C Migrations and Bug Fixes
+ Bug fixes:
- Improve slow manifest build for very large quantities of
- Improve slow manifest build for very large quantities of
tables/segments.
- Fix exclusions for special files.
+ Improvements:
- The stanza-create/update/delete commands are implemented entirely in C.
- The start/stop commands are implemented entirely in C.
- Create log directories/files with 0750/0640 mode.
+ Documentation Bug Fixes:
+ Documentation Bug Fixes:
- Fix yum.p.o package being installed when custom package specified.
+ Documentation Improvements:
- Build pgBackRest as an unprivileged user.
@ -108,13 +125,13 @@ Sat Aug 24 16:31:39 UTC 2019 - Bruno Friedmann <bruno@ioda-net.ch>
- Update to 2.16 release C Migrations and Bug Fixes
+ Bug Fixes:
- Retry S3 RequestTimeTooSkewed errors instead of immediately
- Retry S3 RequestTimeTooSkewed errors instead of immediately
terminating.
- Fix incorrect handling of transfer-encoding response to HEAD
request.
- Fix scoping violations exposed by optimizations in gcc 9.
+ Features:
- Add repo-s3-port option for setting a non-standard S3
- Add repo-s3-port option for setting a non-standard S3
service port.
+ Improvements:
- The local command for backup is implemented entirely in C.
@ -133,8 +150,8 @@ Thu Jul 11 12:09:42 UTC 2019 - Bruno Friedmann <bruno@ioda-net.ch>
The local command for restore is implemented entirely in C.
Remove hard-coded PostgreSQL user so $PGUSER works.
Honor configure --prefix option.
Rename repo-s3-verify-ssl option to repo-s3-verify-tls.
The new name is preferred because pgBackRest does not support
Rename repo-s3-verify-ssl option to repo-s3-verify-tls.
The new name is preferred because pgBackRest does not support
any SSL protocol versions (they are all considered to be insecure).
The old name will continue to be accepted.
- Packaging:
@ -144,7 +161,7 @@ Thu Jul 11 12:09:42 UTC 2019 - Bruno Friedmann <bruno@ioda-net.ch>
-------------------------------------------------------------------
Thu Jun 6 05:59:01 UTC 2019 - Bruno Friedmann <bruno@ioda-net.ch>
- Emergency rollback, 2.14 segv
- Emergency rollback, 2.14 segv
-------------------------------------------------------------------
Wed Jun 5 15:24:17 UTC 2019 - Bruno Friedmann <bruno@ioda-net.ch>

View File

@ -22,7 +22,7 @@
%define make_build %{_bindir}/make %{?_smp_mflags}
%endif
Name: pgbackrest
Version: 2.22
Version: 2.23
Release: 0
Summary: Reliable PostgreSQL Backup & Restore
License: MIT
@ -31,9 +31,11 @@ URL: http://www.pgbackrest.org
Source: https://github.com/pgbackrest/pgbackrest/archive/release/%{version}.tar.gz
Source1: pgbackrest-conf.patch
Patch0: libpq-fe.h_localisation.patch
BuildRequires: libxml2-devel
# Upstream issue #920
Patch1: upstream_wrongly_bring_back_pg_config.patch
BuildRequires: openssl-devel
BuildRequires: pkgconfig
BuildRequires: pkgconfig(libxml-2.0)
BuildRequires: pkgconfig(libpq)
%{perl_requires}
%if %{_arch} == "i586"
@ -64,6 +66,7 @@ The following features are available:
%prep
%setup -q -n %{name}-release-%{version}
%patch0 -p1
%patch1 -p1
pushd src
%configure
popd

View File

@ -0,0 +1,24 @@
diff -rup a/src/configure b/src/configure
--- a/src/configure 2020-01-27 06:38:21.000000000 +0100
+++ b/src/configure 2020-01-27 22:15:58.271233890 +0100
@@ -3050,7 +3050,7 @@ CINCLUDE="-I."
# Check required pq library
-LIBS="$LIBS -L`pg_config --libdir`"
+# LIBS="$LIBS -L`pg_config --libdir`"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for PQconnectdb in -lpq" >&5
diff -rup a/src/configure.ac b/src/configure.ac
--- a/src/configure.ac 2020-01-27 06:38:21.000000000 +0100
+++ b/src/configure.ac 2020-01-27 22:15:18.822787029 +0100
@@ -34,7 +34,7 @@ fi
AC_SUBST(CINCLUDE, "-I.")
# Check required pq library
-AC_SUBST(LIBS, "$LIBS -L`pg_config --libdir`")
+# AC_SUBST(LIBS, "$LIBS -L`pg_config --libdir`")
AC_CHECK_LIB([pq], [PQconnectdb], [], [AC_MSG_ERROR([library 'pq' is required])])
AC_SUBST(CINCLUDE, "$CINCLUDE -I`pg_config --includedir`")