v1.00: New Repository Format and Configuration Scheme, Link Support
commit : 9ab0dd80f70cc69a6edc9e61b6053752a789fde3
author : David Steele <[email protected]>
date : Thu, 14 Apr 2016 23:04:20 -0400
committer: David Steele <[email protected]>
date : Thu, 14 Apr 2016 23:04:20 -0400
* This flag day release breaks compatibility with older versions of pgBackRest. The manifest format, on-disk structure, configuration scheme, and the exe/path names have all changed. You must create a new repository to hold backups for this version of pgBackRest and keep your older repository for a time in case you need to do a restore. Restores from the prior repository will require the prior version of pgBackRest but because of name changes it is possible to have 1.00 and a prior version of pgBackRest installed at the same time. See the notes below for more detailed information on what has changed.
* Implemented a new configuration scheme which should be far simpler to use. See the User Guide and Configuration Reference for details but for a simple configuration all options can now be placed in the stanza section. Options that are shared between stanzas can be placed in the [global] section. More complex configurations can still make use of command sections though this should be a rare use case.
* The repo-path option now always refers to the repository where backups and archive are stored, whether local or remote, so the repo-remote-path option has been removed. The new spool-path option can be used to define a location for queueing WAL segments when archiving asynchronously. A local repository is no longer required.
* The default configuration filename is now pgbackrest.conf instead of pg_backrest.conf. This was done for consistency with other naming changes but also to prevent old config files from being loaded accidentally when migrating to 1.00.
* The default repository name was changed from /var/lib/backup to /var/lib/pgbackrest.
* Lock files are now stored in /tmp/pgbackrest by default. These days /run/pgbackrest is the preferred location but that would require init scripts which are not part of this release. The lock-path option can be used to configure the lock directory.
* Log files are now stored in /var/log/pgbackrest by default and no longer have the date appended so they can be managed with logrotate. The log-path option can be used to configure the lock directory.
* Executable filename changed from pg_backrest to pgbackrest.
* All files and directories linked from PGDATA are now included in the backup. By default links will be restored directly into PGDATA as files or directories. The --link-all option can be used to restore all links to their original locations. The --link-map option can be used to remap a link to a new location.
* Removed --tablespace option and replaced with --tablespace-map-all option which should more clearly indicate its function.
* Added detail log level which will output more information than info without being as verbose as debug.
M CHANGELOG.md
M doc/xml/change-log.xml
M lib/pgBackRest/Version.pm
New manifest format.
commit : 9457e15347b05b4565074a3455f9edc4d1edaae3
author : David Steele <[email protected]>
date : Thu, 14 Apr 2016 22:50:02 -0400
committer: David Steele <[email protected]>
date : Thu, 14 Apr 2016 22:50:02 -0400
* All files and directories linked from PGDATA are now included in the backup. By default links will be restored directly into PGDATA as files or directories. The --link-all option can be used to restore all links to their original locations. The --link-map option can be used to remap a link to a new location.
* Removed --tablespace option and replaced with --tablespace-map-all option which should more clearly indicate its function.
* Added detail log level which will output more information than info without being as verbose as debug.
M CHANGELOG.md
M bin/pgbackrest
M doc/xml/change-log.xml
M doc/xml/reference.xml
M doc/xml/user-guide.xml
M lib/pgBackRest/Archive.pm
M lib/pgBackRest/Backup.pm
M lib/pgBackRest/BackupCommon.pm
M lib/pgBackRest/BackupFile.pm
M lib/pgBackRest/BackupInfo.pm
M lib/pgBackRest/Common/Exception.pm
M lib/pgBackRest/Common/Ini.pm
M lib/pgBackRest/Common/Log.pm
M lib/pgBackRest/Config/Config.pm
M lib/pgBackRest/Config/ConfigHelpData.pm
M lib/pgBackRest/Expire.pm
M lib/pgBackRest/File.pm
M lib/pgBackRest/FileCommon.pm
M lib/pgBackRest/Manifest.pm
M lib/pgBackRest/Protocol/ThreadGroup.pm
M lib/pgBackRest/Restore.pm
M lib/pgBackRest/RestoreFile.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-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/lib/pgBackRestTest/BackupCommonTest.pm
M test/lib/pgBackRestTest/BackupTest.pm
M test/lib/pgBackRestTest/Common/ExecuteTest.pm
M test/lib/pgBackRestTest/Common/LogTest.pm
M test/lib/pgBackRestTest/Common/VmTest.pm
M test/lib/pgBackRestTest/CommonTest.pm
M test/lib/pgBackRestTest/CompareTest.pm
M test/lib/pgBackRestTest/ConfigTest.pm
M test/lib/pgBackRestTest/ExpireCommonTest.pm
Fixed some inaccurate statements in the user guide. Fixed typo in documentation code comments.
commit : 9a7d8b26cceb435d69378dd4bdc4eab74af11167
author : Cynthia Shang <[email protected]>
date : Thu, 14 Apr 2016 13:50:58 -0400
committer: David Steele <[email protected]>
date : Thu, 14 Apr 2016 13:50:58 -0400
M doc/doc.pl
M doc/xml/reference.xml
M doc/xml/user-guide.xml
M lib/pgBackRest/Config/ConfigHelpData.pm
New simpler configuration and consistent project/exe/path naming.
commit : 18fd25233b1db7b3197f5d8dc537d239dcfc7aba
author : David Steele <[email protected]>
date : Thu, 14 Apr 2016 09:30:54 -0400
committer: David Steele <[email protected]>
date : Thu, 14 Apr 2016 09:30:54 -0400
* The repo-path option now always refers to the repository where backups and archive are stored, whether local or remote, so the repo-remote-path option has been removed. The new spool-path option can be used to define a location for queueing WAL segments when archiving asynchronously. Otherwise, a local repository is no longer required.
* Implemented a new config format which should be far simpler to use. See the User Guide and Configuration Reference for details but for a simple configuration all options can now be placed in the stanza section. Options that are shared between stanzas can be placed in the [global] section. More complex configurations can still make use of command sections though this should be a rare use case.
* The default configuration filename is now pgbackrest.conf instead of pg_backrest.conf. This was done for consistency with other naming changes but also to prevent old config files from being loaded accidentally.
* The default repository name was changed from /var/lib/backup to /var/lib/pgbackrest.
* Lock files are now stored in /tmp/pgbackrest by default. These days /run/pgbackrest would be the preferred location but that would require init scripts which are not part of this release. The lock-path option can be used to configure the lock directory.
* Log files are now stored in /var/log/pgbackrest by default and no longer have the date appended so they can be managed with logrotate. The log-path option can be used to configure the lock directory.
* Executable filename changed from pg_backrest to pgbackrest.
M CHANGELOG.md
R086 bin/pg_backrest bin/pgbackrest
M doc/doc.pl
M doc/lib/BackRestDoc/Common/Doc.pm
M doc/lib/BackRestDoc/Common/DocConfig.pm
M doc/lib/BackRestDoc/Common/DocExecute.pm
M doc/lib/BackRestDoc/Common/DocManifest.pm
M doc/lib/BackRestDoc/Common/DocRender.pm
M doc/lib/BackRestDoc/Html/DocHtmlBuilder.pm
M doc/lib/BackRestDoc/Html/DocHtmlElement.pm
M doc/lib/BackRestDoc/Html/DocHtmlPage.pm
M doc/lib/BackRestDoc/Html/DocHtmlSite.pm
M doc/lib/BackRestDoc/Latex/DocLatex.pm
M doc/lib/BackRestDoc/Latex/DocLatexSection.pm
M doc/lib/BackRestDoc/Markdown/DocMarkdown.pm
M doc/lib/BackRestDoc/Markdown/DocMarkdownRender.pm
M doc/manifest.xml
M doc/xml/change-log.xml
M doc/xml/reference.xml
M doc/xml/user-guide.xml
R096 lib/BackRest/Archive.pm lib/pgBackRest/Archive.pm
R096 lib/BackRest/ArchiveInfo.pm lib/pgBackRest/ArchiveInfo.pm
R097 lib/BackRest/Backup.pm lib/pgBackRest/Backup.pm
R097 lib/BackRest/BackupCommon.pm lib/pgBackRest/BackupCommon.pm
R097 lib/BackRest/BackupFile.pm lib/pgBackRest/BackupFile.pm
R098 lib/BackRest/BackupInfo.pm lib/pgBackRest/BackupInfo.pm
R099 lib/BackRest/Common/Exception.pm lib/pgBackRest/Common/Exception.pm
R094 lib/BackRest/Common/Exit.pm lib/pgBackRest/Common/Exit.pm
R092 lib/BackRest/Common/Ini.pm lib/pgBackRest/Common/Ini.pm
R085 lib/BackRest/Common/Lock.pm lib/pgBackRest/Common/Lock.pm
R098 lib/BackRest/Common/Log.pm lib/pgBackRest/Common/Log.pm
R099 lib/BackRest/Common/String.pm lib/pgBackRest/Common/String.pm
R098 lib/BackRest/Common/Wait.pm lib/pgBackRest/Common/Wait.pm
R092 lib/BackRest/Config/Config.pm lib/pgBackRest/Config/Config.pm
R092 lib/BackRest/Config/ConfigHelp.pm lib/pgBackRest/Config/ConfigHelp.pm
R090 lib/BackRest/Config/ConfigHelpData.pm lib/pgBackRest/Config/ConfigHelpData.pm
R098 lib/BackRest/Db.pm lib/pgBackRest/Db.pm
R096 lib/BackRest/Expire.pm lib/pgBackRest/Expire.pm
R099 lib/BackRest/File.pm lib/pgBackRest/File.pm
R098 lib/BackRest/FileCommon.pm lib/pgBackRest/FileCommon.pm
R096 lib/BackRest/Info.pm lib/pgBackRest/Info.pm
R099 lib/BackRest/Manifest.pm lib/pgBackRest/Manifest.pm
R097 lib/BackRest/Protocol/Common.pm lib/pgBackRest/Protocol/Common.pm
R096 lib/BackRest/Protocol/CommonMaster.pm lib/pgBackRest/Protocol/CommonMaster.pm
R093 lib/BackRest/Protocol/CommonMinion.pm lib/pgBackRest/Protocol/CommonMinion.pm
R099 lib/BackRest/Protocol/IO.pm lib/pgBackRest/Protocol/IO.pm
R093 lib/BackRest/Protocol/RemoteMaster.pm lib/pgBackRest/Protocol/RemoteMaster.pm
R095 lib/BackRest/Protocol/RemoteMinion.pm lib/pgBackRest/Protocol/RemoteMinion.pm
R097 lib/BackRest/Protocol/ThreadGroup.pm lib/pgBackRest/Protocol/ThreadGroup.pm
R098 lib/BackRest/Restore.pm lib/pgBackRest/Restore.pm
R096 lib/BackRest/RestoreFile.pm lib/pgBackRest/RestoreFile.pm
R073 lib/BackRest/Version.pm 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
R097 test/lib/BackRestTest/BackupCommonTest.pm test/lib/pgBackRestTest/BackupCommonTest.pm
R098 test/lib/BackRestTest/BackupTest.pm test/lib/pgBackRestTest/BackupTest.pm
R097 test/lib/BackRestTest/Common/ExecuteTest.pm test/lib/pgBackRestTest/Common/ExecuteTest.pm
R097 test/lib/BackRestTest/Common/HostTest.pm test/lib/pgBackRestTest/Common/HostTest.pm
R098 test/lib/BackRestTest/Common/LogTest.pm test/lib/pgBackRestTest/Common/LogTest.pm
R098 test/lib/BackRestTest/Common/VmTest.pm test/lib/pgBackRestTest/Common/VmTest.pm
R089 test/lib/BackRestTest/CommonTest.pm test/lib/pgBackRestTest/CommonTest.pm
R097 test/lib/BackRestTest/CompareTest.pm test/lib/pgBackRestTest/CompareTest.pm
R090 test/lib/BackRestTest/ConfigTest.pm test/lib/pgBackRestTest/ConfigTest.pm
R096 test/lib/BackRestTest/Docker/ContainerTest.pm test/lib/pgBackRestTest/Docker/ContainerTest.pm
R095 test/lib/BackRestTest/ExpireCommonTest.pm test/lib/pgBackRestTest/ExpireCommonTest.pm
R097 test/lib/BackRestTest/FileTest.pm test/lib/pgBackRestTest/FileTest.pm
R094 test/lib/BackRestTest/HelpTest.pm test/lib/pgBackRestTest/HelpTest.pm
R093 test/lib/BackRestTest/IniTest.pm test/lib/pgBackRestTest/IniTest.pm
M test/test.pl
Migrated many functions from File.pm to FileCommon.pm.
commit : 885797e4b58a675487a3531ba16908c1d1e9f970
author : David Steele <[email protected]>
date : Wed, 13 Apr 2016 19:09:35 -0400
committer: David Steele <[email protected]>
date : Wed, 13 Apr 2016 19:09:35 -0400
This makes make the migrated file functions available to parts of the code that don't have access to a File object. They still exist as wrappers in the File object to support remote calls.
M doc/lib/BackRestDoc/Common/DocRender.pm
M doc/xml/user-guide.xml
M lib/BackRest/Backup.pm
M lib/BackRest/Common/Wait.pm
M lib/BackRest/Expire.pm
M lib/BackRest/File.pm
M lib/BackRest/FileCommon.pm
M lib/BackRest/Protocol/RemoteMinion.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-006.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-006.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-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
Changed some TBD comments from urgent to whenever.
commit : be8487dbad8a52f8b1f5083e3d7e2e3e47140dce
author : David Steele <[email protected]>
date : Wed, 13 Apr 2016 19:05:31 -0400
committer: David Steele <[email protected]>
date : Wed, 13 Apr 2016 19:05:31 -0400
M bin/pg_backrest
M doc/lib/BackRestDoc/Common/DocRender.pm
M lib/BackRest/Archive.pm
M lib/BackRest/Common/Log.pm
M lib/BackRest/File.pm
M lib/BackRest/Protocol/IO.pm
Change spacing in expect logs to accommodate DETAIL level.
commit : 723abadb750c78b661c9d29404455d4a95cfc7aa
author : David Steele <[email protected]>
date : Wed, 13 Apr 2016 18:55:34 -0400
committer: David Steele <[email protected]>
date : Wed, 13 Apr 2016 18:55:34 -0400
M doc/lib/BackRestDoc/Common/DocExecute.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/lib/BackRestTest/Common/LogTest.pm
Test VM build improvements.
commit : 64b2858bb50c6b5f5f3cc6934c6dab671c203bbe
author : David Steele <[email protected]>
date : Wed, 13 Apr 2016 18:47:29 -0400
committer: David Steele <[email protected]>
date : Wed, 13 Apr 2016 18:47:29 -0400
* Specific VMs can now be built by using --vm along with --vm-build.
* Docker caching can be disabled with --vm-force.
* ControlMaster is now used for al VMs to improve test speed.
M test/lib/BackRestTest/Docker/ContainerTest.pm
M test/test.pl
Improved error handling when remote closes unexpectedly.
commit : 0e4fdda6d8f7da0b737f2ffd3f0d1ad9ec3a33ab
author : David Steele <[email protected]>
date : Tue, 12 Apr 2016 15:50:25 -0400
committer: David Steele <[email protected]>
date : Tue, 12 Apr 2016 15:50:25 -0400
In conditions where an error is known to have occurred wait to try and capture the error in the first call that detects the error. Due to timing sometimes the error could be caught later, which worked, but it made the functionality inconsistent in testing.
M lib/BackRest/Protocol/CommonMaster.pm
M lib/BackRest/Protocol/IO.pm
Closed #184: Change test/log directory to test/expect.
commit : 8adbcccd02d133f9650486019911f41afe80100d
author : David Steele <[email protected]>
date : Wed, 6 Apr 2016 10:00:11 -0400
committer: David Steele <[email protected]>
date : Wed, 6 Apr 2016 10:00:11 -0400
This should make it clearer that these are expect logs for regression testing.
R100 test/log/backup-archive-get-001.log test/expect/backup-archive-get-001.log
R100 test/log/backup-archive-get-002.log test/expect/backup-archive-get-002.log
R100 test/log/backup-archive-get-003.log test/expect/backup-archive-get-003.log
R100 test/log/backup-archive-get-004.log test/expect/backup-archive-get-004.log
R100 test/log/backup-archive-get-005.log test/expect/backup-archive-get-005.log
R100 test/log/backup-archive-get-006.log test/expect/backup-archive-get-006.log
R100 test/log/backup-archive-get-007.log test/expect/backup-archive-get-007.log
R100 test/log/backup-archive-get-008.log test/expect/backup-archive-get-008.log
R100 test/log/backup-archive-push-001.log test/expect/backup-archive-push-001.log
R100 test/log/backup-archive-push-002.log test/expect/backup-archive-push-002.log
R100 test/log/backup-archive-push-003.log test/expect/backup-archive-push-003.log
R100 test/log/backup-archive-push-004.log test/expect/backup-archive-push-004.log
R100 test/log/backup-archive-push-005.log test/expect/backup-archive-push-005.log
R100 test/log/backup-archive-push-006.log test/expect/backup-archive-push-006.log
R100 test/log/backup-archive-push-007.log test/expect/backup-archive-push-007.log
R100 test/log/backup-archive-push-008.log test/expect/backup-archive-push-008.log
R100 test/log/backup-archive-stop-001.log test/expect/backup-archive-stop-001.log
R100 test/log/backup-archive-stop-002.log test/expect/backup-archive-stop-002.log
R100 test/log/backup-archive-stop-003.log test/expect/backup-archive-stop-003.log
R100 test/log/backup-archive-stop-004.log test/expect/backup-archive-stop-004.log
R100 test/log/backup-archive-stop-005.log test/expect/backup-archive-stop-005.log
R100 test/log/backup-archive-stop-006.log test/expect/backup-archive-stop-006.log
R100 test/log/backup-expire-001.log test/expect/backup-expire-001.log
R100 test/log/backup-synthetic-001.log test/expect/backup-synthetic-001.log
R100 test/log/backup-synthetic-002.log test/expect/backup-synthetic-002.log
R100 test/log/backup-synthetic-003.log test/expect/backup-synthetic-003.log
R100 test/log/backup-synthetic-004.log test/expect/backup-synthetic-004.log
R100 test/log/backup-synthetic-005.log test/expect/backup-synthetic-005.log
R100 test/log/backup-synthetic-006.log test/expect/backup-synthetic-006.log
R100 test/log/backup-synthetic-007.log test/expect/backup-synthetic-007.log
R100 test/log/backup-synthetic-008.log test/expect/backup-synthetic-008.log
R100 test/log/help-help-001.log test/expect/help-help-001.log
M test/lib/BackRestTest/Common/LogTest.pm
Next development cycle.
commit : aacc369e4fc5ff40c8731f47303c547934315988
author : David Steele <[email protected]>
date : Wed, 6 Apr 2016 09:41:33 -0400
committer: David Steele <[email protected]>
date : Wed, 6 Apr 2016 09:41:33 -0400
M CHANGELOG.md
M doc/xml/change-log.xml
M lib/BackRest/Version.pm