v2.28: Azure Repository Storage
commit : 5a4b91f90a81019e456a50c0f7311824f7e61475
author : David Steele <david@pgmasters.net>
date : Mon, 20 Jul 2020 08:57:22 -0400
committer: David Steele <david@pgmasters.net>
date : Mon, 20 Jul 2020 08:57:22 -0400
Click here for diff
Bug Fixes:
* Fix restore --force acting like --force --delta. This caused restore to replace files based on timestamp and size rather than overwriting, which meant some files that should have been updated were left unchanged. Normal restore and restore --delta were not affected by this issue. (Reviewed by Cynthia Shang.)
Features:
* Azure support for repository storage. (Reviewed by Cynthia Shang, Don Seiler.)
* Add expire-auto option. This allows automatic expiration after a successful backup to be disabled. (Contributed by Stefan Fercot. Reviewed by Cynthia Shang, David Steele.)
Improvements:
* Asynchronous S3 multipart upload. (Reviewed by Stephen Frost.)
* Automatic retry for backup, restore, archive-get, and archive-push. (Reviewed by Cynthia Shang.)
* Disable query parallelism in PostgreSQL sessions used for backup control. (Reviewed by Stefan Fercot.)
* PostgreSQL 13 beta2 support. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace.
* Improve handling of invalid HTTP response status. (Reviewed by Cynthia Shang.)
* Improve error when pg1-path option missing for archive-get command. (Reviewed by Cynthia Shang.)
* Add hint when checksum delta is enabled after a timeline switch. (Reviewed by Matt Bunter, Cynthia Shang.)
* Use PostgreSQL instead of postmaster where appropriate. (Reviewed by Cynthia Shang.)
Documentation Bug Fixes:
* Fix incorrect example for repo-retention-full-type option. (Reported by Höseyin Sönmez.)
* Remove internal commands from HTML and man command references. (Reported by Cynthia Shang.)
Documentation Improvements:
* Update PostgreSQL versions used to build user guides. Also add version ranges to indicate that a user guide is accurate for a range of PostgreSQL versions even if it was built for a specific version. (Reviewed by Stephen Frost.)
* Update FAQ for expiring a specific backup set. (Contributed by Cynthia Shang. Reviewed by David Steele.)
* Update FAQ to clarify default PITR behavior. (Contributed by Cynthia Shang. Reviewed by David Steele.)
M CONTRIBUTING.md
M README.md
M doc/release.pl
M doc/resource/exe.cache
M doc/resource/git-history.cache
M doc/xml/auto/metric-coverage-report.auto.xml
M doc/xml/release.xml
M src/build/configure.ac
M src/configure
M src/version.h
M test/code-count/file-type.yaml
v2.27: Expiration Improvements and Compression Drivers
commit : d8214e0d78ca8922eecb4da03008034c6a258b3b
author : David Steele <david@pgmasters.net>
date : Tue, 26 May 2020 08:11:50 -0400
committer: David Steele <david@pgmasters.net>
date : Tue, 26 May 2020 08:11:50 -0400
Click here for diff
Bug Fixes:
* Fix issue checking if file links are contained in path links. (Reviewed by Cynthia Shang. Reported by Christophe Cavallié.)
* Allow pg-path1 to be optional for synchronous archive-push. (Reviewed by Cynthia Shang. Reported by Jerome Peng.)
* The expire command now checks if a stop file is present. (Fixed by Cynthia Shang. Reviewed by David Steele.)
* Handle missing reason phrase in HTTP response. (Reviewed by Cynthia Shang. Reported by Tenuun.)
* Increase buffer size for lz4 compression flush. (Reviewed by Cynthia Shang. Reported by Eric Radman.)
* Ignore pg-host* and repo-host* options for the remote command. (Reviewed by Cynthia Shang. Reported by Pavel Suderevsky.)
* Fix possibly missing pg1-* options for the remote command. (Reviewed by Cynthia Shang. Reported by Andrew L'Ecuyer.)
Features:
* Time-based retention for full backups. The --repo-retention-full-type option allows retention of full backups based on a time period, specified in days. (Contributed by Cynthia Shang, Pierre Ducroquet. Reviewed by David Steele.)
* Ad hoc backup expiration. Allow the user to remove a specified backup regardless of retention settings. (Contributed by Cynthia Shang. Reviewed by David Steele.)
* Zstandard compression support. Note that setting compress-type=zst will make new backups and archive incompatible (unrestorable) with prior versions of pgBackRest. (Reviewed by Cynthia Shang.)
* bzip2 compression support. Note that setting compress-type=bz2 will make new backups and archive incompatible (unrestorable) with prior versions of pgBackRest. (Contributed by Stephen Frost. Reviewed by David Steele, Cynthia Shang.)
* Add backup/expire running status to the info command. (Contributed by Stefan Fercot. Reviewed by David Steele.)
Improvements:
* Expire WAL archive only when repo-retention-archive threshold is met. WAL prior to the first full backup was previously expired after the first full backup. Now it is preserved according to retention settings. (Contributed by Cynthia Shang. Reviewed by David Steele.)
* Add local MD5 implementation so S3 works when FIPS is enabled. (Reviewed by Cynthia Shang, Stephen Frost. Suggested by Brian Almeida, John Kelley.)
* PostgreSQL 13 beta1 support. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. (Reviewed by Cynthia Shang.)
* Reduce buffer-size default to 1MiB. (Reviewed by Stephen Frost.)
* Throw user-friendly error if expire is not run on repository host. (Contributed by Cynthia Shang. Reviewed by David Steele.)
M CONTRIBUTING.md
M README.md
M doc/RELEASE.md
M doc/release.pl
M doc/resource/exe.cache
M doc/resource/git-history.cache
M doc/xml/auto/metric-coverage-report.auto.xml
M doc/xml/release.xml
M src/build/configure.ac
M src/configure
M src/version.h
M test/code-count/file-type.yaml
Stamp 9.5.22.
commit : 7aa52945de3206191f8b2b121568d316ac4b234e
author : Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 11 May 2020 17:16:09 -0400
committer: Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 11 May 2020 17:16:09 -0400
Click here for diff
M configure
M configure.in
M doc/bug.template
M src/include/pg_config.h.win32
M src/interfaces/libpq/libpq.rc.in
M src/port/win32ver.rc
Translation updates
commit : 7ab65cd968b25519d864e0573dff9bca4431908b
author : Peter Eisentraut <peter@eisentraut.org>
date : Mon, 11 May 2020 13:31:50 +0200
committer: Peter Eisentraut <peter@eisentraut.org>
date : Mon, 11 May 2020 13:31:50 +0200
Click here for diff
Stamp 9.6.18.
commit : b3960286a6fa1b195a06cfc38701866e21394861
author : Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 11 May 2020 17:14:21 -0400
committer: Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 11 May 2020 17:14:21 -0400
Click here for diff
M configure
M configure.in
M doc/bug.template
M src/include/pg_config.h.win32
M src/interfaces/libpq/libpq.rc.in
M src/port/win32ver.rc
Translation updates
commit : 3cbf235e56df461b18c371cbca6a9dc422b0d2f0
author : Peter Eisentraut <peter@eisentraut.org>
date : Mon, 11 May 2020 13:28:48 +0200
committer: Peter Eisentraut <peter@eisentraut.org>
date : Mon, 11 May 2020 13:28:48 +0200
Click here for diff
Stamp 10.13.
commit : a411361705cdf0c0d63d1de231d7ea33a030b4f9
author : Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 11 May 2020 17:12:38 -0400
committer: Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 11 May 2020 17:12:38 -0400
Click here for diff
M configure
M configure.in
M doc/bug.template
M src/include/pg_config.h.win32
M src/interfaces/libpq/libpq.rc.in
M src/port/win32ver.rc
Translation updates
commit : ce0bbdda3e3c2101efbb0a8915e9d057606059dc
author : Peter Eisentraut <peter@eisentraut.org>
date : Mon, 11 May 2020 13:26:52 +0200
committer: Peter Eisentraut <peter@eisentraut.org>
date : Mon, 11 May 2020 13:26:52 +0200
Click here for diff
Stamp 11.8.
commit : d439e27d5f57df1365b53688daa367d56d55599d
author : Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 11 May 2020 17:10:48 -0400
committer: Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 11 May 2020 17:10:48 -0400
Click here for diff
M configure
M configure.in
M doc/bug.template
M src/include/pg_config.h.win32
M src/interfaces/libpq/libpq.rc.in
M src/port/win32ver.rc
Translation updates
commit : fcd89bbb70e2963c5f832191d3fd1f2a1d6443b6
author : Peter Eisentraut <peter@eisentraut.org>
date : Mon, 11 May 2020 13:24:12 +0200
committer: Peter Eisentraut <peter@eisentraut.org>
date : Mon, 11 May 2020 13:24:12 +0200
Click here for diff
Stamp 12.3.
commit : 5060275aa8a1ead56e0a41308d7a43049a6cbe43
author : Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 11 May 2020 17:08:58 -0400
committer: Tom Lane <tgl@sss.pgh.pa.us>
date : Mon, 11 May 2020 17:08:58 -0400
Click here for diff
M configure
M configure.in
M src/include/pg_config.h.win32
M src/interfaces/libpq/libpq.rc.in
M src/port/win32ver.rc
Translation updates
commit : f2367aa0a4c7a5876c5b7a62306a156075c13190
author : Peter Eisentraut <peter@eisentraut.org>
date : Mon, 11 May 2020 13:19:18 +0200
committer: Peter Eisentraut <peter@eisentraut.org>
date : Mon, 11 May 2020 13:19:18 +0200
Click here for diff
v2.26: Non-blocking TLS
commit : 2352ecf7c0db8d12cda4759709b4cd570e1b5de4
author : David Steele <david@pgmasters.net>
date : Mon, 20 Apr 2020 15:44:31 -0400
committer: David Steele <david@pgmasters.net>
date : Mon, 20 Apr 2020 15:44:31 -0400
Click here for diff
Bug Fixes:
* Remove empty subexpression from manifest regular expression. MacOS was not happy about this though other platforms seemed to work fine. (Fixed by David Raftis.)
Improvements:
* Non-blocking TLS implementation. (Reviewed by Slava Moudry, Cynthia Shang, Stephen Frost.)
* Only limit backup copy size for WAL-logged files. The prior behavior could possibly lead to postgresql.conf or postgresql.auto.conf being truncated in the backup. (Reviewed by Cynthia Shang.)
* TCP keep-alive options are configurable. (Suggested by Marc Cousin.)
* Add io-timeout option.
M CONTRIBUTING.md
M README.md
M doc/resource/exe.cache
M doc/resource/git-history.cache
M doc/xml/auto/metric-coverage-report.auto.xml
M doc/xml/release.xml
M src/build/configure.ac
M src/configure
M src/version.h
M test/code-count/file-type.yaml
v2.25: LZ4 Compression Support
commit : fd3dca036b1436564dec17b7c23b62b9d9fa1051
author : David Steele <david@pgmasters.net>
date : Thu, 26 Mar 2020 17:14:53 -0400
committer: David Steele <david@pgmasters.net>
date : Thu, 26 Mar 2020 17:14:53 -0400
Click here for diff
Features:
* Add lz4 compression support. Note that setting compress-type=lz4 will make new backups and archive incompatible (unrestorable) with prior versions of pgBackRest. (Reviewed by Cynthia Shang.)
* Add --dry-run option to the expire command. Use dry-run to see which backups/archive would be removed by the expire command without actually removing anything. (Contributed by Cynthia Shang, Luca Ferrari.)
Improvements:
* Improve performance of remote manifest build. (Suggested by Jens Wilke.)
* Fix detection of keepalive options on Linux. (Contributed by Marc Cousin.)
* Add configure host detection to set standards flags correctly. (Contributed by Marc Cousin.)
* Remove compress/compress-level options from commands where unused. These commands (e.g. restore, archive-get) never used the compress options but allowed them to be passed on the command line. Now they will error when these options are passed on the command line. If these errors occur then remove the unused options. (Reviewed by Cynthia Shang.)
* Limit backup file copy size to size reported at backup start. If a file grows during the backup it will be reconstructed by WAL replay during recovery so there is no need to copy the additional data. (Reviewed by Cynthia Shang.)
M README.md
M doc/release.pl
M doc/resource/exe.cache
M doc/resource/git-history.cache
M doc/xml/auto/metric-coverage-report.auto.xml
M doc/xml/release.xml
M src/build/configure.ac
M src/configure
M src/version.h
M test/code-count/file-type.yaml
v2.24: Auto-Select Backup Set for Time Target
commit : 495dec44f0f512478ac942091ca2a29c60ad4911
author : David Steele <david@pgmasters.net>
date : Tue, 25 Feb 2020 17:05:45 -0500
committer: David Steele <david@pgmasters.net>
date : Tue, 25 Feb 2020 17:05:45 -0500
Click here for diff
Bug Fixes:
* Prevent defunct processes in asynchronous archive commands. (Reviewed by Stephen Frost. Reported by Adam Brusselback, ejberdecia.)
* Error when archive-get/archive-push/restore are not run on a PostgreSQL host. (Reviewed by Stephen Frost. Reported by Jesper St John.)
* Read HTTP content to eof when size/encoding not specified. (Reviewed by Cynthia Shang. Reported by Christian ROUX.)
* Fix resume when the resumable backup was created by Perl. In this case the resumable backup should be ignored, but the C code was not able to load the partial manifest written by Perl since the format differs slightly. Add validations to catch this case and continue gracefully. (Reported by Kacey Holston.)
Features:
* Auto-select backup set on restore when time target is specified. Auto-selection is performed only when --set is not specified. If a backup set for the given target time cannot not be found, the latest (default) backup set will be used. (Contributed by Cynthia Shang.)
Improvements:
* Skip pg_internal.init temp file during backup. (Reviewed by Cynthia Shang. Suggested by Michael Paquier.)
* Add more validations to the manifest on backup. (Reviewed by Cynthia Shang.)
Documentation Improvements:
* Prevent lock-bot from adding comments to locked issues. (Suggested by Christoph Berg.)
M README.md
M doc/resource/exe.cache
M doc/resource/git-history.cache
M doc/xml/auto/metric-coverage-report.auto.xml
M doc/xml/release.xml
M lib/pgBackRest/Version.pm
M src/configure
M src/configure.ac
M src/version.h