pgBackRest 1.26 commit log

v1.26: Repository Encryption

  
commit   : ba6b49ecb7226e5dab0990403afa6f8878048e35    
  
author   : David Steele <david@pgmasters.net>    
date     : Tue, 21 Nov 2017 18:31:54 -0500    
  
committer: David Steele <david@pgmasters.net>    
date     : Tue, 21 Nov 2017 18:31:54 -0500    

Click here for diff

  
Bug Fixes:  
  
* Fixed an issue that could cause copying large manifests to fail during restore. (Reported by Craig A. James.)  
* Fixed incorrect WAL offset for 32-bit architectures. (Fixed by Javier Wilson.)  
* Fixed an issue retrieving WAL for old database versions. After a stanza-upgrade it should still be possible to restore backups from the previous version and perform recovery with archive-get. However, archive-get only checked the most recent db version/id and failed. Also clean up some issues when the same db version/id appears multiple times in the history. (Fixed by Cynthia Shang. Reported by Clinton Adams.)  
* Fixed an issue with invalid backup groups being set correctly on restore. If the backup cannot map a group to a name it stores the group in the manifest as false then uses either the owner of $PGDATA to set the group during restore or failing that the group of the current user. This logic was not working correctly because the selected group was overwriting the user on restore leaving the group undefined and the user incorrectly set to the group. (Reported by Jeff McCormick.)  
* Fixed an issue passing parameters to remotes. When more than one db was specified the path, port, and socket path would for db1 were passed no matter which db was actually being addressed. (Reported by Uspen.)  
  
Features:  
  
* Repository encryption support. (Contributed by Cynthia Shang, David Steele.)  
  

Update release.pl to push data to site repository.

  
commit   : 033dbcdc208657e3569c0197ec98e9ff1a052ff1    
  
author   : David Steele <david@pgmasters.net>    
date     : Tue, 21 Nov 2017 17:59:30 -0500    
  
committer: David Steele <david@pgmasters.net>    
date     : Tue, 21 Nov 2017 17:59:30 -0500    

Click here for diff

  
  

Fixed an issue passing parameters to remotes.

  
commit   : ac54aac448e1ed84f6d083fcf95158619d729be3    
  
author   : David Steele <david@pgmasters.net>    
date     : Tue, 21 Nov 2017 13:17:44 -0500    
  
committer: David Steele <david@pgmasters.net>    
date     : Tue, 21 Nov 2017 13:17:44 -0500    

Click here for diff

  
When more than one db was specified the path, port, and socket path would for db1 were passed no matter which db was actually being addressed.  
  
Reported by Uspen.  
  

Refactor protocol param generation into a new function.

  
commit   : c77fc1fa61582e1983324e7caa5b573fc0eae5e8    
  
author   : David Steele <david@pgmasters.net>    
date     : Tue, 21 Nov 2017 12:57:00 -0500    
  
committer: David Steele <david@pgmasters.net>    
date     : Tue, 21 Nov 2017 12:57:00 -0500    

Click here for diff

  
This allows the code to be tested more precisely and doesn't require executing a remote process.  
  

Disable gzip filter when –compress-level-network=0.

  
commit   : 062e714307de357ae49bcac8c48e397b1debfa0f    
  
author   : David Steele <david@pgmasters.net>    
date     : Tue, 21 Nov 2017 09:31:15 -0500    
  
committer: David Steele <david@pgmasters.net>    
date     : Tue, 21 Nov 2017 09:31:15 -0500    

Click here for diff

  
The filter was used with compress level set to 0 which added overhead without any benefit.  
  

Fixed an issue with invalid backup groups being set correctly on restore.

  
commit   : 1da63aff07de90cd7734b5afd2674b1452c59cf3    
  
author   : David Steele <david@crunchydata.com>    
date     : Mon, 20 Nov 2017 12:46:35 -0500    
  
committer: David Steele <david@crunchydata.com>    
date     : Mon, 20 Nov 2017 12:46:35 -0500    

Click here for diff

  
If the backup cannot map a group to a name it stores the group in the manifest as false then uses either the owner of $PGDATA to set the group during restore or failing that the group of the current user. This logic was not working correctly because the selected group was overwriting the user on restore leaving the group undefined and the user incorrectly set to the group. (Reported by Jeff McCormick.)  
  

Designate a single distro (Ubuntu 16.04) for C coverage testing

  
commit   : 8ccfaa9ad366802525cbf1053af2226f2789b493    
  
author   : David Steele <david@pgmasters.net>    
date     : Mon, 20 Nov 2017 09:05:55 -0500    
  
committer: David Steele <david@pgmasters.net>    
date     : Mon, 20 Nov 2017 09:05:55 -0500    

Click here for diff

  
Enable optimizations on the distros that don't do coverage testing.  
  

Refactor C page checksum unit test to compile with -Wstrict-aliasing.

  
commit   : deae0b8cd7ec102babf584698b15e73a7822283c    
  
author   : David Steele <david@pgmasters.net>    
date     : Mon, 20 Nov 2017 08:58:47 -0500    
  
committer: David Steele <david@pgmasters.net>    
date     : Mon, 20 Nov 2017 08:58:47 -0500    

Click here for diff

  
  

Refactor C unit test macros so they compile with -Wstrict-aliasing.

  
commit   : 5d741ea9a9993397bd7aa6602ff8562302d82c8e    
  
author   : David Steele <david@pgmasters.net>    
date     : Sun, 19 Nov 2017 16:41:27 -0500    
  
committer: David Steele <david@pgmasters.net>    
date     : Sun, 19 Nov 2017 16:41:27 -0500    

Click here for diff

  
  

Disable -Wclobber compiler warning.

  
commit   : 3b43047e0d40ea7e00049df77d20f26498c89be1    
  
author   : David Steele <david@pgmasters.net>    
date     : Sun, 19 Nov 2017 16:44:33 -0500    
  
committer: David Steele <david@pgmasters.net>    
date     : Sun, 19 Nov 2017 16:44:33 -0500    

Click here for diff

  
...because it is mostly useless but keep the rest of of -Wextra.  
  

Wrap try in a do…while loop to make sure that no random else is attached to the main if block.

  
commit   : dc1a5c18acfef55f8d4cdfa21e9543975070b373    
  
author   : David Steele <david@pgmasters.net>    
date     : Sun, 19 Nov 2017 16:30:23 -0500    
  
committer: David Steele <david@pgmasters.net>    
date     : Sun, 19 Nov 2017 16:30:23 -0500    

Click here for diff

  
  

Improve base64 implementation.

  
commit   : 9395ad7043d4d7ef8a687e0baa5d25e98d553112    
  
author   : David Steele <david@pgmasters.net>    
date     : Sat, 18 Nov 2017 22:49:43 -0500    
  
committer: David Steele <david@pgmasters.net>    
date     : Sat, 18 Nov 2017 22:49:43 -0500    

Click here for diff

  
Different encoded strings could be generated based on compiler optimizations. Even though decoding was still successful the encoded strings did not match the standard.  
  

Automated tests for 32-bit i386/i686 architecture.

  
commit   : 500d6b4b66fab197ae39db2d3f79a3e7ef29f66c    
  
author   : David Steele <david@pgmasters.net>    
date     : Sat, 18 Nov 2017 20:14:14 -0500    
  
committer: David Steele <david@pgmasters.net>    
date     : Sat, 18 Nov 2017 20:14:14 -0500    

Click here for diff

  
  

Automate generation of WAL and pg_control test files.

  
commit   : 8a3425ec04fea8c0876df0420d5dd3e318812c4e    
  
author   : David Steele <david@pgmasters.net>    
date     : Sat, 18 Nov 2017 20:02:54 -0500    
  
committer: David Steele <david@pgmasters.net>    
date     : Sat, 18 Nov 2017 20:02:54 -0500    

Click here for diff

  
The existing static files would not work with 32-bit or big-endian systems so create functions to generate these files dynamically rather than creating a bunch of new static files.  
  

Designate a single distro (Ubuntu 16.04) for Perl coverage testing.

  
commit   : b701cd5a5f43ffd5b39df5298bd66ea886dedbdd    
  
author   : David Steele <david@pgmasters.net>    
date     : Sat, 18 Nov 2017 19:53:41 -0500    
  
committer: David Steele <david@pgmasters.net>    
date     : Sat, 18 Nov 2017 19:53:41 -0500    

Click here for diff

  
Running coverage testing on multiple distros takes time but doesn't add significant value. Also ensure that the distro designated to run coverage tests is one of the default test distros.  
  

Fixed an issue retrieving WAL for old database versions.

  
commit   : 6ef2167e972039e67668d7f7700aab505d0ea595    
  
author   : David Steele <david@pgmasters.net>    
date     : Thu, 16 Nov 2017 17:18:51 -0500    
  
committer: David Steele <david@pgmasters.net>    
date     : Thu, 16 Nov 2017 17:18:51 -0500    

Click here for diff

  
After a stanza-upgrade it should still be possible to restore backups from the previous version and perform recovery with archive-get. However, archive-get only checked the most recent db version/id and failed.  
  
Also clean up some issues when the same db version/id appears multiple times in the history.  
  
Fixed by Cynthia Shang.  
Reported by Clinton Adams.  
  

Fix incorrect WAL offset for 32-bit architectures.

  
commit   : 550d4fb9c591a269253a675f6f3585a777ea9b33    
  
author   : David Steele <david@pgmasters.net>    
date     : Thu, 16 Nov 2017 16:53:49 -0500    
  
committer: David Steele <david@pgmasters.net>    
date     : Thu, 16 Nov 2017 16:53:49 -0500    

Click here for diff

  
Fixed by Javier Wilson.  
  

Fix flapping protocol timeout test.

  
commit   : 1cb11a582de59480af3a5f656dbb0ec3da14e854    
  
author   : David Steele <david@crunchydata.com>    
date     : Wed, 15 Nov 2017 13:17:57 -0500    
  
committer: David Steele <david@crunchydata.com>    
date     : Wed, 15 Nov 2017 13:17:57 -0500    

Click here for diff

  
It only matters that the correct error code is returned, so disable logging to prevent message ordering from failing the expect test.  
  

Add template to improve initial information gathered for issue submissions.

  
commit   : bc8543494a07ef126b0d223e7a90da22a26389e8    
  
author   : Cynthia Shang <cynthia.shang@crunchydata.com>    
date     : Wed, 15 Nov 2017 11:59:27 -0500    
  
committer: David Steele <david@crunchydata.com>    
date     : Wed, 15 Nov 2017 11:59:27 -0500    

Click here for diff

  
Contributed by Cynthia Shang.  
  

Only check expect logs on CentOS 7.

  
commit   : 22fe684b1fe213df6c9a74a7c0bec4aa6eed3837    
  
author   : David Steele <david@pgmasters.net>    
date     : Tue, 14 Nov 2017 17:16:39 -0500    
  
committer: David Steele <david@pgmasters.net>    
date     : Tue, 14 Nov 2017 17:16:39 -0500    

Click here for diff

  
Variations in distros cause false negatives in tests but don't add much value.  
  

Add encryption to features list.

  
commit   : 3ee269c0998ea3bbf96ccbcc04857ba6b9789146    
  
author   : David Steele <david@pgmasters.net>    
date     : Tue, 14 Nov 2017 17:07:22 -0500    
  
committer: David Steele <david@pgmasters.net>    
date     : Tue, 14 Nov 2017 17:07:22 -0500    

Click here for diff

  
  

Inflate performance improvement for gzip filter and full unit test coverage.

  
commit   : b8746f368dbd76eee19e4c3fecc6853696be1908    
  
author   : David Steele <david@pgmasters.net>    
date     : Tue, 14 Nov 2017 15:12:31 -0500    
  
committer: David Steele <david@pgmasters.net>    
date     : Tue, 14 Nov 2017 15:12:31 -0500    

Click here for diff

  
  

Fixed an issue that could cause copying large manifests to fail during restore.

  
commit   : 04e55fe71bea32b2666df59a9891362ea6717964    
  
author   : David Steele <david@pgmasters.net>    
date     : Tue, 14 Nov 2017 14:48:44 -0500    
  
committer: David Steele <david@pgmasters.net>    
date     : Tue, 14 Nov 2017 14:48:44 -0500    

Click here for diff

  
Reported by Craig A. James.  
  

Simplify try..catch..finally names.

  
commit   : cf7da546a3b7c1395faf2958f45572f82fe0127a    
  
author   : David Steele <david@pgmasters.net>    
date     : Mon, 13 Nov 2017 21:22:13 -0500    
  
committer: David Steele <david@pgmasters.net>    
date     : Mon, 13 Nov 2017 21:22:13 -0500    

Click here for diff

  
  

Enable additional warnings for C builds.

  
commit   : bcdfc7d0b52dc92ae22aef1c93bbfda7e6fa24f3    
  
author   : David Steele <david@pgmasters.net>    
date     : Mon, 6 Nov 2017 22:55:34 -0500    
  
committer: David Steele <david@pgmasters.net>    
date     : Mon, 6 Nov 2017 22:55:34 -0500    

Click here for diff

  
  

Repository encryption support.

  
commit   : b03c26968a2817df33b60c8240cbe2c037281783    
  
author   : Cynthia Shang <cynthia.shang@crunchydata.com>    
date     : Mon, 6 Nov 2017 12:51:12 -0500    
  
committer: David Steele <david@crunchydata.com>    
date     : Mon, 6 Nov 2017 12:51:12 -0500    

Click here for diff

  
Contributed by Cynthia Shang.  
  

Add eof to S3 file driver (required for encryption support).

  
commit   : f07d2a3d0dbfa7ea510e41a9ea66265b46db1158    
  
author   : David Steele <david@crunchydata.com>    
date     : Mon, 6 Nov 2017 12:40:54 -0500    
  
committer: David Steele <david@crunchydata.com>    
date     : Mon, 6 Nov 2017 12:40:54 -0500    

Click here for diff

  
  

Library code for repository encryption support.

  
commit   : 8d6a08a32b1221db5b6eae0db615731d19754bc8    
  
author   : David Steele <david@pgmasters.net>    
date     : Fri, 3 Nov 2017 13:57:58 -0400    
  
committer: David Steele <david@pgmasters.net>    
date     : Fri, 3 Nov 2017 13:57:58 -0400    

Click here for diff

  
  

Convert configuration definitions from auto-generated functions to auto-generated data structures.

  
commit   : ac542788da8264e39b3f3d817535df918f65a342    
  
author   : David Steele <david@pgmasters.net>    
date     : Thu, 2 Nov 2017 08:14:13 -0400    
  
committer: David Steele <david@pgmasters.net>    
date     : Thu, 2 Nov 2017 08:14:13 -0400    

Click here for diff

  
  

Clarify usage of the archive-timeout option.

  
commit   : 2be93036f1c8de73414650fd6c6710e2f2b9fc73    
  
author   : Cynthia Shang <cynthia.shang@crunchydata.com>    
date     : Mon, 30 Oct 2017 14:18:05 -0400    
  
committer: David Steele <david@pgmasters.net>    
date     : Mon, 30 Oct 2017 14:18:05 -0400    

Click here for diff

  
Also describe how it is distinct from the PostgreSQL archive_timeout setting.  
  
Contributed by Cynthia Shang.  
Suggested by Keith Fiske.  
  

Remove configurable option hints.

  
commit   : 55f68ef0136362be1ee8dbe3dabd1b3132e485d1    
  
author   : David Steele <david@pgmasters.net>    
date     : Mon, 30 Oct 2017 10:58:04 -0400    
  
committer: David Steele <david@pgmasters.net>    
date     : Mon, 30 Oct 2017 10:58:04 -0400    

Click here for diff

  
db-path was the only option with a hint so the feature seemed wasteful. All missing stanza options now output the same hint without needing configuration.  
  

Add list type for options.

  
commit   : 1ef27ec8c2273fce99685c9354a6778d14a54792    
  
author   : David Steele <david@pgmasters.net>    
date     : Mon, 30 Oct 2017 10:50:35 -0400    
  
committer: David Steele <david@pgmasters.net>    
date     : Mon, 30 Oct 2017 10:50:35 -0400    

Click here for diff

  
The hash type was being used for lists with an additional flag (`value-hash`) to indicate that it was not really a hash.  
  

Update Debian/Ubuntu containers to download lastest version of pip.

  
commit   : f57e376c4489cba94b5dba443e6421b085ef9ea4    
  
author   : David Steele <david@pgmasters.net>    
date     : Mon, 30 Oct 2017 09:29:46 -0400    
  
committer: David Steele <david@pgmasters.net>    
date     : Mon, 30 Oct 2017 09:29:46 -0400    

Click here for diff