pgBackRest 1.10 commit log

v1.09: 9.6 Support, Configurability, and Bug Fixes

commit   : 1e0ca3056a84abb07214b54ea2945fcdacd65000    
  
author   : David Steele <[email protected]>    
date     : Mon, 10 Oct 2016 17:35:58 -0400    
  
committer: David Steele <[email protected]>    
date     : Mon, 10 Oct 2016 17:35:58 -0400    

Click here for diff

Bug Fixes:  
  
* Fixed the check command to prevent an error message from being logged if the backup directory does not exist. (Fixed by Cynthia Shang.)  
* Fixed error message to properly display the archive command when an invalid archive command is detected. (Reported by Jason O'Donnell.)  
* Fixed an issue where the async archiver would not be started if archive-push did not have enough space to queue a new WAL segment. This meant that the queue would never be cleared without manual intervention (such as calling archive-push directly). PostgreSQL now receives errors when there is not enough space to store new WAL segments but the async process will still be started so that space is eventually freed. (Reported by Jens Wilke.)  
* Fixed a remote timeout that occurred when a local process generated checksums (during resume or restore) but did not copy files, allowing the remote to go idle. (Reported by Jens Wilke.)  
  
Features:  
  
* Non-exclusive backups will automatically be used on PostgreSQL 9.6.  
* Added the cmd-ssh option to allow the ssh client to be specified. (Suggested by Jens Wilke.)  
* Added the log-level-stderr option to control whether console log messages are sent to stderr or stdout. By default this is set to warn which represents a change in behavior from previous versions, even though it may be more intuitive. Setting log-level-stderr=off will preserve the old behavior. (Suggested by Sascha Biberhofer.)  
* Set application_name to "pgBackRest [command]" for database connections. (Suggested by Jens Wilke.)  
* Check that archive_mode is enabled when archive-check option enabled.  
  
Refactoring:  
  
* Clarified error message when unable to acquire pgBackRest advisory lock to make it clear that it is not a PostgreSQL backup lock. (Suggested by Jens Wilke.)  
* pgBackRest version number included in command start INFO log output.  
* Process ID logged for local process start/stop INFO log output.  

M README.md
M doc/resource/exe.cache
M doc/xml/release.xml
M lib/pgBackRest/Version.pm

Fixed a remote timeout.

commit   : 49a5e8a3f59716cf8f73b458f4cd0c5e47175e48    
  
author   : David Steele <[email protected]>    
date     : Fri, 7 Oct 2016 08:51:10 -0400    
  
committer: David Steele <[email protected]>    
date     : Fri, 7 Oct 2016 08:51:10 -0400    

Click here for diff

The timeout occurred when a local process generated checksums (during resume or restore) but did not copy files, allowing the remote to go idle.  
  
Reported by Jens Wilke.  

M doc/xml/release.xml
M lib/pgBackRest/Protocol/LocalMinion.pm

Added --dev option to doc.pl to easily add dev keyword to documentation builds.

commit   : 41669a826ee48c7bbcd7a6c2ef849093d3287b6a    
  
author   : David Steele <[email protected]>    
date     : Wed, 5 Oct 2016 21:22:42 -0400    
  
committer: David Steele <[email protected]>    
date     : Wed, 5 Oct 2016 21:22:42 -0400    

Click here for diff

M doc/doc.pl
M doc/xml/release.xml

Set application_name to "pgBackRest [command]" for database connections.

commit   : 16d0e767ef40f22d83166c88bc7177ff01e7fb3c    
  
author   : David Steele <[email protected]>    
date     : Wed, 5 Oct 2016 21:15:10 -0400    
  
committer: David Steele <[email protected]>    
date     : Wed, 5 Oct 2016 21:15:10 -0400    

Click here for diff

Suggested by Jens Wilke.  

M doc/xml/release.xml
M lib/pgBackRest/Db.pm
M lib/pgBackRest/DbVersion.pm
M test/lib/pgBackRestTest/Backup/BackupTest.pm

Clarified error message when unable to acquire pgBackRest advisory lock to make it clear that it is not a PostgreSQL backup lock.

commit   : 0a4099fff87458265a5a14006967c48c3cf912bf    
  
author   : David Steele <[email protected]>    
date     : Wed, 5 Oct 2016 21:13:29 -0400    
  
committer: David Steele <[email protected]>    
date     : Wed, 5 Oct 2016 21:13:29 -0400    

Click here for diff

Suggested by Jens Wilke.  

M doc/xml/release.xml
M lib/pgBackRest/Db.pm
M test/lib/pgBackRestTest/Backup/BackupTest.pm

Fixed an issue where the async archiver would not be started if archive-push did not have enough space to queue a new WAL segment.

commit   : 5dc801d59db9c8ce2f0872deb13b532b32af80ee    
  
author   : David Steele <[email protected]>    
date     : Wed, 5 Oct 2016 09:47:34 -0400    
  
committer: David Steele <[email protected]>    
date     : Wed, 5 Oct 2016 09:47:34 -0400    

Click here for diff

This meant that the queue would never be cleared without manual intervention (such as calling archive-push directly). PostgreSQL now receives errors when there is not enough space to store new WAL segments but the async process will still be started so that space is eventually freed.  
  
Reported by Jens Wilke.  

M doc/xml/release.xml
M lib/pgBackRest/Archive.pm
M lib/pgBackRest/Protocol/IO.pm
M test/expect/backup-archive-push-002.log
M test/expect/backup-archive-push-006.log

Added the log-level-stderr option.

commit   : 2a18674111d8ee01e15960dd1fcd0da3282bb38c    
  
author   : David Steele <[email protected]>    
date     : Wed, 5 Oct 2016 09:09:30 -0400    
  
committer: David Steele <[email protected]>    
date     : Wed, 5 Oct 2016 09:09:30 -0400    

Click here for diff

Controls whether console log messages are sent to stderr or stdout. By default this is set to warn which represents a change in behavior from previous versions, even though it may be more intuitive. Setting log-level-stderr=off will preserve the old behavior.  
  
Suggested by Sascha Biberhofer.  

M bin/pgbackrest
M doc/doc.pl
M doc/lib/BackRestDoc/Common/DocExecute.pm
M doc/release.pl
M doc/xml/reference.xml
M doc/xml/release.xml
M doc/xml/user-guide.xml
M lib/pgBackRest/Common/Exception.pm
M lib/pgBackRest/Common/Log.pm
M lib/pgBackRest/Config/Config.pm
M lib/pgBackRest/Config/ConfigHelpData.pm
M lib/pgBackRest/Protocol/CommonMinion.pm
M lib/pgBackRest/Protocol/IO.pm
M test/expect/backup-archive-get-001.log
M test/expect/backup-archive-get-002.log
M test/expect/backup-archive-get-003.log
M test/expect/backup-archive-get-004.log
M test/expect/backup-archive-get-005.log
M test/expect/backup-archive-get-006.log
M test/expect/backup-archive-get-007.log
M test/expect/backup-archive-get-008.log
M test/expect/backup-archive-push-001.log
M test/expect/backup-archive-push-002.log
M test/expect/backup-archive-push-003.log
M test/expect/backup-archive-push-004.log
M test/expect/backup-archive-push-005.log
M test/expect/backup-archive-push-006.log
M test/expect/backup-archive-push-007.log
M test/expect/backup-archive-push-008.log
M test/expect/backup-archive-stop-001.log
M test/expect/backup-archive-stop-002.log
M test/expect/backup-archive-stop-003.log
M test/expect/backup-archive-stop-004.log
M test/expect/backup-archive-stop-005.log
M test/expect/backup-archive-stop-006.log
M test/expect/backup-expire-001.log
M test/expect/backup-full-001.log
M test/expect/backup-full-002.log
M test/expect/backup-full-003.log
M test/expect/backup-full-004.log
M test/expect/backup-full-005.log
M test/expect/backup-full-006.log
M test/expect/backup-full-007.log
M test/expect/backup-full-008.log
M test/expect/backup-full-009.log
M test/expect/backup-full-010.log
M test/expect/backup-full-011.log
M test/expect/backup-synthetic-001.log
M test/expect/backup-synthetic-002.log
M test/expect/backup-synthetic-003.log
M test/expect/backup-synthetic-004.log
M test/expect/backup-synthetic-005.log
M test/expect/backup-synthetic-006.log
M test/expect/backup-synthetic-007.log
M test/expect/backup-synthetic-008.log
M test/expect/help-help-001.log
M test/lib/pgBackRestTest/Backup/Common/HostBackupTest.pm
M test/test.pl

Added the cmd-ssh to allow the ssh client to be specified.

commit   : d81198e65e2cca8272d52cc586dcc76016b91f2d    
  
author   : David Steele <[email protected]>    
date     : Wed, 5 Oct 2016 08:55:54 -0400    
  
committer: David Steele <[email protected]>    
date     : Wed, 5 Oct 2016 08:55:54 -0400    

Click here for diff

Suggested by Jens Wilke.  

M doc/xml/reference.xml
M doc/xml/release.xml
M lib/pgBackRest/Config/Config.pm
M lib/pgBackRest/Config/ConfigHelpData.pm
M lib/pgBackRest/Protocol/Protocol.pm
M lib/pgBackRest/Protocol/RemoteMaster.pm
M test/expect/backup-archive-get-005.log
M test/expect/backup-archive-get-006.log
M test/expect/backup-archive-get-007.log
M test/expect/backup-archive-get-008.log
M test/expect/backup-archive-push-005.log
M test/expect/backup-archive-push-006.log
M test/expect/backup-archive-push-007.log
M test/expect/backup-archive-push-008.log
M test/expect/backup-archive-stop-003.log
M test/expect/backup-archive-stop-004.log
M test/expect/backup-archive-stop-005.log
M test/expect/backup-archive-stop-006.log
M test/expect/backup-synthetic-005.log
M test/expect/backup-synthetic-006.log
M test/expect/backup-synthetic-007.log
M test/expect/backup-synthetic-008.log
M test/expect/help-help-001.log
M test/lib/pgBackRestTest/Backup/BackupTest.pm
M test/lib/pgBackRestTest/File/FileTest.pm

Vagrant build improvements:

commit   : 6f34fbc6957f16719749372d78c014abe9b8a5f7    
  
author   : David Steele <[email protected]>    
date     : Mon, 3 Oct 2016 09:15:29 -0400    
  
committer: David Steele <[email protected]>    
date     : Mon, 3 Oct 2016 09:15:29 -0400    

Click here for diff

* Miminize TeXLive package list to save time during VM builds.  
* General cleanup and added timestamps.  
* Pin to specific box version.  

M doc/xml/release.xml
M test/Vagrantfile

Fixes for archive checks added in 5d033d0:

commit   : 07898d33e332aa892e406d2df729c5d900110d41    
  
author   : David Steele <[email protected]>    
date     : Sat, 1 Oct 2016 13:44:45 -0400    
  
committer: David Steele <[email protected]>    
date     : Sat, 1 Oct 2016 13:44:45 -0400    

Click here for diff

* Don't execute pg_is_in_recovery() on PostreSQL < 9.0.  
* Don't check archive_mode or archive_command on the standby.  

M lib/pgBackRest/Backup.pm
M lib/pgBackRest/Db.pm

Regression tests can now be run as any properly-configured user, not just vagrant.

commit   : 1491862716aeff6c3a9434b207dcdaf7962ce387    
  
author   : David Steele <[email protected]>    
date     : Sat, 1 Oct 2016 13:39:44 -0400    
  
committer: David Steele <[email protected]>    
date     : Sat, 1 Oct 2016 13:39:44 -0400    

Click here for diff

M doc/xml/release.xml
M doc/xml/user-guide.xml
M test/Vagrantfile
M test/expect/backup-archive-get-005.log
M test/expect/backup-archive-get-006.log
M test/expect/backup-archive-get-007.log
M test/expect/backup-archive-get-008.log
M test/expect/backup-archive-push-005.log
M test/expect/backup-archive-push-006.log
M test/expect/backup-archive-push-007.log
M test/expect/backup-archive-push-008.log
M test/expect/backup-archive-stop-003.log
M test/expect/backup-archive-stop-004.log
M test/expect/backup-archive-stop-005.log
M test/expect/backup-archive-stop-006.log
M test/expect/backup-full-005.log
M test/expect/backup-full-006.log
M test/expect/backup-full-007.log
M test/expect/backup-full-008.log
M test/expect/backup-full-009.log
M test/expect/backup-full-010.log
M test/expect/backup-full-011.log
M test/expect/backup-synthetic-001.log
M test/expect/backup-synthetic-002.log
M test/expect/backup-synthetic-003.log
M test/expect/backup-synthetic-004.log
M test/expect/backup-synthetic-005.log
M test/expect/backup-synthetic-006.log
M test/expect/backup-synthetic-007.log
M test/expect/backup-synthetic-008.log
M test/lib/pgBackRestTest/Backup/BackupTest.pm
M test/lib/pgBackRestTest/Backup/Common/HostBackupTest.pm
M test/lib/pgBackRestTest/Backup/Common/HostBaseTest.pm
M test/lib/pgBackRestTest/Backup/Common/HostDbSyntheticTest.pm
M test/lib/pgBackRestTest/Backup/Common/HostDbTest.pm
M test/lib/pgBackRestTest/Common/ContainerTest.pm
M test/lib/pgBackRestTest/Common/LogTest.pm
M test/test.pl

Non-exclusive backups will automatically be used on PostgreSQL 9.6.

commit   : 198e498b41e85dfcd3698bfb5a79907f41ca5656    
  
author   : David Steele <[email protected]>    
date     : Thu, 29 Sep 2016 19:09:19 -0400    
  
committer: David Steele <[email protected]>    
date     : Thu, 29 Sep 2016 19:09:19 -0400    

Click here for diff

This feature carries over from 1.08 but has now been tested with the official 9.6 release.  

M doc/xml/release.xml

Update CentOS/Debian package definitions.

commit   : 156859c5d519b5bb757412a805208b78a46d3832    
  
author   : David Steele <[email protected]>    
date     : Thu, 29 Sep 2016 19:07:46 -0400    
  
committer: David Steele <[email protected]>    
date     : Thu, 29 Sep 2016 19:07:46 -0400    

Click here for diff

M doc/xml/release.xml
M test/lib/pgBackRestTest/Common/ContainerTest.pm

Fixed broken vm-max option in test.pl.

commit   : 3e4ca153cea6750a3efbf1b1a319623afcfee86a    
  
author   : David Steele <[email protected]>    
date     : Thu, 29 Sep 2016 18:26:32 -0400    
  
committer: David Steele <[email protected]>    
date     : Thu, 29 Sep 2016 18:26:32 -0400    

Click here for diff

M doc/xml/release.xml
M test/test.pl

Archive validation improvements:

commit   : 5d033d028c54142c872ca4ce8cef6ac05e9ec55a    
  
author   : David Steele <[email protected]>    
date     : Wed, 28 Sep 2016 19:45:33 -0400    
  
committer: David Steele <[email protected]>    
date     : Wed, 28 Sep 2016 19:45:33 -0400    

Click here for diff

* Fixed error message to properly display the archive command when an invalid archive command is detected.  
* Check that archive_mode is enabled when archive-check option enabled.  

M doc/xml/release.xml
M lib/pgBackRest/Common/Exception.pm
M lib/pgBackRest/Db.pm
M test/expect/backup-full-001.log
M test/lib/pgBackRestTest/Backup/BackupTest.pm
M test/lib/pgBackRestTest/Backup/Common/HostDbTest.pm

Added archive-timeout option documentation to the user guide.

commit   : 48f968b344138f6309f1203f26ecce7198d453b0    
  
author   : Cynthia Shang <[email protected]>    
date     : Wed, 28 Sep 2016 12:29:29 -0400    
  
committer: David Steele <[email protected]>    
date     : Wed, 28 Sep 2016 12:29:29 -0400    

Click here for diff

Contributed by Cynthia Shang.  

M doc/xml/release.xml
M doc/xml/user-guide.xml

Fixed the check command to prevent an error message from being logged if the backup directory does not exist.

commit   : 76673a8e62636a1cbcd364b4252130b6b5a83bd0    
  
author   : Cynthia Shang <[email protected]>    
date     : Tue, 27 Sep 2016 18:01:38 -0400    
  
committer: David Steele <[email protected]>    
date     : Tue, 27 Sep 2016 18:01:38 -0400    

Click here for diff

Fixed by Cynthia Shang.  

M doc/xml/release.xml
M lib/pgBackRest/Archive.pm

Log improvements:

commit   : 25f40f9b15f987989b8286da47c631d6e6246abf    
  
author   : David Steele <[email protected]>    
date     : Sat, 17 Sep 2016 11:53:28 -0400    
  
committer: David Steele <[email protected]>    
date     : Sat, 17 Sep 2016 11:53:28 -0400    

Click here for diff

* pgBackRest version number included in command start INFO log output.  
* Process ID logged for local process start/stop INFO log output.  
* Fixed missing expect output for help module.  

M doc/xml/release.xml
M lib/pgBackRest/Config/Config.pm
M lib/pgBackRest/Protocol/LocalProcess.pm
M lib/pgBackRest/Version.pm
M test/expect/backup-archive-get-001.log
M test/expect/backup-archive-get-002.log
M test/expect/backup-archive-get-003.log
M test/expect/backup-archive-get-004.log
M test/expect/backup-archive-get-005.log
M test/expect/backup-archive-get-006.log
M test/expect/backup-archive-get-007.log
M test/expect/backup-archive-get-008.log
M test/expect/backup-archive-push-001.log
M test/expect/backup-archive-push-002.log
M test/expect/backup-archive-push-003.log
M test/expect/backup-archive-push-004.log
M test/expect/backup-archive-push-005.log
M test/expect/backup-archive-push-006.log
M test/expect/backup-archive-push-007.log
M test/expect/backup-archive-push-008.log
M test/expect/backup-archive-stop-001.log
M test/expect/backup-archive-stop-002.log
M test/expect/backup-archive-stop-003.log
M test/expect/backup-archive-stop-004.log
M test/expect/backup-archive-stop-005.log
M test/expect/backup-archive-stop-006.log
M test/expect/backup-expire-001.log
M test/expect/backup-synthetic-001.log
M test/expect/backup-synthetic-002.log
M test/expect/backup-synthetic-003.log
M test/expect/backup-synthetic-004.log
M test/expect/backup-synthetic-005.log
M test/expect/backup-synthetic-006.log
M test/expect/backup-synthetic-007.log
M test/expect/backup-synthetic-008.log
M test/expect/help-help-001.log
M test/lib/pgBackRestTest/Backup/BackupTest.pm
M test/lib/pgBackRestTest/Common/LogTest.pm
M test/lib/pgBackRestTest/Help/HelpTest.pm