1
0
mirror of https://github.com/pgbackrest/pgbackrest.git synced 2024-12-14 10:13:05 +02:00
Commit Graph

163 Commits

Author SHA1 Message Date
David Steele
4e2c14623b Work on issue #48: Abandon threads and go to processes
More separation of the protocol and remote layers than was done in issue #106.
Settings are passed to the remote via command-line parameters rather than in the protocol.
2015-06-18 15:39:30 -04:00
David Steele
9511f9c35c Implemented issue #106: Roll pg_backup_remote into pg_backrest 2015-06-17 11:26:07 -04:00
David Steele
57640d1ac3 Implemented issue #96: Executable names 2015-06-14 08:37:37 -04:00
David Steele
148836fe44 Implemented issue #26: Info command.
* Includes updating the manifest to format 4.  It turns out the manifest and .info files were not very good for providing information.  A format update was required anyway so worked through the backlog of changes that would require a format change.

* Multiple database versions are now supported in the archive.  Does't actually work yet but the structure should be good.

* Tests use more constants now that test logs can catch name regressions.
2015-06-13 18:25:49 -04:00
David Steele
13e4eec629 Implement issue #90: Move archive-max-mb archive-stop checks to end of archive-push. 2015-05-29 11:41:19 -04:00
David Steele
7ace66e544 Implement issue #68: Allow duplicate WAL to be pushed if the checksum matches. 2015-05-29 08:12:39 -04:00
David Steele
a4974f8996 Fix for issue #70: command line help improvements 2015-05-26 15:29:42 -04:00
David Steele
2dac171642 More modular locking - this is the first part of a series of improvements. 2015-04-22 16:39:53 -04:00
David Steele
cb153f7242 Docs and comment fixes. 2015-04-19 17:27:40 -04:00
David Steele
f1cc1d6123 Refactored backup manifest update by centralizing the code. 2015-04-11 15:02:04 -04:00
David Steele
7081c8b867 New model where threads are created early and destroyed late.
Backups now work like restores in terms of how jobs are queued.
Split out BackupFile and RestoreFile for easier multi-threading/processing.
2015-04-07 07:34:37 -04:00
David Steele
984fceea67 Moved archive functions from pg_backrest.pl and Backup.pl to Archive.pm.
Moved Remote code from pg_backrest.pl to Config.pm.
Added version specific code to regression tests and Db.pm.
archive-push checks for duplicate WAL in the archive.
archive-push reads the db sys id to match up WAL to the correct archive.
2015-04-01 15:58:33 -04:00
David Steele
58d6c37f4a Changed permission to mode in manifest. 2015-03-23 17:17:43 -04:00
David Steele
1729fa1c51 Added unit tests for expiration. 2015-03-17 18:31:05 -04:00
David Steele
f4f31302f0 Broke archive-required into two options: backup-wal-check and backup-wal-store. 2015-03-16 14:45:53 -04:00
David Steele
882f068254 All config options can now be provided on the command-line.
Lots of name changes, but more thought needed there.
Still needs cleanup.
2015-03-12 12:15:19 -04:00
David Steele
ae6bdecfaf Split command-line parameter processing out into a separate file. This is in preparation allowing all parameters to be specified/overridden on the command line, with pg_backrest.conf being option. 2015-03-08 13:26:09 -04:00
David Steele
3d0d308a98 Made all warnings FATAL.
Fixed one bug that was exposed.
2015-03-03 00:57:20 -05:00
David Steele
7dbb11e8b8 Added buffer-size param and added config validation improvements. 2015-03-02 22:58:32 -05:00
David Steele
8e8f2f3c77 New config options compress-level and compress-level-network to control compression levels. 2015-03-02 20:36:12 -05:00
David Steele
23102f19e5 All copy() cases generate checksums during copy.
Unit tests for bAppendChecksum option for copy().
2015-03-01 22:23:52 -05:00
David Steele
76391dde90 Archive checksums are not calculated in stream. 2015-03-01 16:42:27 -05:00
David Steele
7ede058b45 Backup checksums are no longer optional. 2015-02-28 20:31:56 -05:00
David Steele
28326d6b4c File->copy now returns hash and size in all cases, though the local copies are not optimal. They just call hash_size(). 2015-02-28 19:07:29 -05:00
David Steele
1ba176285e Work on restore/recovery docs. 2015-01-31 17:10:19 -05:00
David Steele
267efbd71d Fixed restore::thread-max 2015-01-31 15:37:59 -05:00
David Steele
e524c4dd1a Timeline unit tests are working.
Options from config file are being written to recovery.conf.
Fixed issue with .history files not being picked up by archive-xfer.
2015-01-31 13:48:09 -05:00
David Steele
cd9df8b4f8 Renamed uninit to cleanup. 2015-01-31 09:05:05 -05:00
David Steele
11c257296a In the end it was a single non-undefed reference holding up the show. The Backup file should be split into Archive, Backup, Expire, and made into objects. That would cut down on this kind of nastiness. 2015-01-30 20:16:21 -05:00
David Steele
50e015a838 Revert "Abortive attempt at cleaning up some thread issues - I realized the issue is in mixing threads and objects too liberally. Trying another approach but want to keep this code for historical and reference purposes."
This reverts commit e95631f82a.
2015-01-30 18:58:49 -05:00
David Steele
e95631f82a Abortive attempt at cleaning up some thread issues - I realized the issue is in mixing threads and objects too liberally. Trying another approach but want to keep this code for historical and reference purposes. 2015-01-30 14:55:55 -05:00
David Steele
60550cd45b Archive async now works local, but there is a pending bug to make sure archive::path != backup::path.
Added code to be sure that restore will not try to log into the backup path unless it is local.
2015-01-28 00:28:21 -05:00
David Steele
13544d51bf Recovery is working for none and default, but unit tests are not complete. 2015-01-27 11:44:23 -05:00
David Steele
f59aae101d Ready to start writing recovery unit tests. 2015-01-26 14:59:58 -05:00
David Steele
ac22c314a9 Working on plumbing for recovery options. 2015-01-26 11:01:24 -05:00
David Steele
eeffd62a12 Working on recovery options. 2015-01-25 17:27:46 -05:00
David Steele
e1c5f7f8ed Now able to check for specific errors in unit tests - as long as they are raised with an error code. 2015-01-23 18:28:39 -05:00
David Steele
21c715b25c Restore tablespace remaps are working. 2015-01-22 20:11:33 -05:00
David Steele
131d910906 New structure for --delta and --force params. 2015-01-08 15:43:43 -05:00
David Steele
d6d57e654e Fixed the way wait was done after the manifest is created. Previously, waits were done for base and each tablespace which is not very efficient. Now one wait is done after the entire manifest is built. Also storing the exact time that copy began. 2015-01-06 13:08:56 -05:00
David Steele
91b06bef47 File->manifest detects files that are modified in the future. 2015-01-03 14:22:59 -05:00
David Steele
46ba3a18df Ownership code runs through - may not work for all cases. 2014-12-30 11:59:57 -05:00
David Steele
9f8f33f957 Working on restore options and integration with unit tests. 2014-12-23 18:52:38 -05:00
David Steele
a96b83beb8 Restore can now remap base/tablespace locations.
Made Restore more modular.
2014-12-23 15:03:06 -05:00
David Steele
2db71e91ad Basic restore functionality is working. 2014-12-22 11:24:32 -05:00
David Steele
1557327d2b Restore cleans out missing files and some basic unit tests. 2014-12-19 17:49:56 +00:00
David Steele
1dc00c9d4b Starting on restore functionality, finally. 2014-12-18 16:42:54 +00:00
David Steele
93c7ef3c9e Moved some code into a more logical order. 2014-12-18 14:56:01 +00:00
David Steele
c76a8d64d0 Moved more config logic to Config.pm 2014-12-16 17:41:54 +00:00
David Steele
6124558347 Moved config functions to a new file. 2014-12-15 22:20:42 +00:00
David Steele
3a54eaf9de Last backup type is now checked - still need a unit test for it. 2014-10-14 08:27:50 -04:00
David Steele
aafc0fef69 Removed Moose from the Db object. 2014-10-10 16:03:33 -04:00
David Steele
2c173ba53e Removed moose from File object. 2014-10-10 15:13:28 -04:00
David Steele
3d86adadb5 Remote object now using ProcessAsync for de/compression.
Removed dependency on Moose from Remote.
2014-10-08 13:54:31 -04:00
David Steele
991afe3b16 Merge from dev-0.30.
Squashed commit of the following:

commit f3a012eb86702297ac06c9ae7c3da6a2eae41136
Author: David Steele <david@pgmasters.net>
Date:   Wed Oct 1 19:05:57 2014 -0400

    Fixed an issue where archive-get was not returning 1 if the archive directory did not exist.  This happens when it is trying to retrieve archive log 00 and that has not been pushed from the master yet.
2014-10-02 10:55:38 -04:00
David Steele
5151b103e8 Formatting. 2014-09-29 23:10:53 -04:00
David Steele
5f30ae3c46 Merge branch 'dev-0.30' of https://github.com/dwsteele/pg_backrest into dev 2014-09-29 19:51:51 -04:00
David Steele
aab5ec2943 Converting _ to -. Last one I hope. 2014-09-29 19:39:28 -04:00
David Steele
82b0bc0e72 Fixed relative path issue in archive-get. 2014-09-29 22:51:02 +00:00
David Steele
7ed6587c42 ISSUE-11: Added --no-start-stop and --force options. 2014-09-19 17:51:51 -04:00
David Steele
65f89bd643 Using ' instead of " where appropriate. 2014-09-16 08:55:40 -04:00
David Steele
c5192e0fa5 More docs, changed hardline default to Y. 2014-09-15 18:12:30 -04:00
David Steele
b9b038b328 Added docs and fixed spaces. 2014-09-14 20:06:45 -04:00
David Steele
9555775d72 Retention defaults, single-quotes. 2014-09-14 15:55:27 -04:00
David Steele
fa82d5f0af Added help (issue #10) 2014-08-15 10:48:50 -04:00
David Steele
e8e7c82b14 pg_backrest.pl returns version.
Version is also stored in the backup path in the version and backup.manifest files.
Merged the two date string functions.
2014-08-12 20:00:52 -04:00
David Steele
6b4a8fbc21 Unit tests now working on Ubuntu 12.04 2014-08-10 21:22:17 -04:00
David Steele
0298e8dd16 Created unit tests for files deleted by the db during backup. 2014-08-10 15:02:14 -04:00
David Steele
09e2351ae8 Test log mode is working. 2014-08-09 18:35:55 -04:00
David Steele
2d9f027e3a Cleanup, work on test framework. 2014-07-27 18:13:23 -04:00
David Steele
a849f2d2fd Removed remaining decencies on Config::IniFiles 2014-07-27 14:26:07 -04:00
David Steele
6f4310db42 Changes for testing - finished changing config to local implementation. 2014-07-27 14:03:21 -04:00
David Steele
9d9dae418b Added archive-put unit tests.
Lots of other unit test improvements.
2014-07-15 22:32:41 -04:00
David Steele
8d398e4bff Starting on archive unit tests. 2014-07-13 10:37:16 -04:00
David Steele
353cdb6b31 Local archiving is working again. 2014-07-12 19:03:39 -04:00
David Steele
934b7dbe9b De/compression is now done in threads instead of forked processes. 2014-06-29 17:23:34 -04:00
David Steele
c85413ec68 Lots of improvements to unit tests. A few bug fixes. 2014-06-29 10:53:39 -04:00
David Steele
f9ec149ffe Working on unit tests. 2014-06-28 14:32:34 -04:00
David Steele
97b9560e5c Fixed binary_xfer() issue. Now seems to work in all cases. 2014-06-28 11:47:21 -04:00
David Steele
9c160a03e3 Some refinements to compression. 2014-06-23 19:08:36 -04:00
David Steele
e1829bb2d2 First fully working backup in a while. 2014-06-23 18:54:00 -04:00
David Steele
88bbbb4222 Fighting with a relative path issue in archive logging. 2014-06-22 20:19:13 -04:00
David Steele
5d01aac92e Working on backup - mostly working except for the last archive step. 2014-06-22 16:05:00 -04:00
David Steele
f91dce259f Working on backup unit tests. 2014-06-22 14:51:28 -04:00
David Steele
3c748c4b10 More work on unit tests. 2014-06-22 10:54:31 -04:00
David Steele
0b597d8da9 Working on getting backup running again. 2014-06-22 10:30:17 -04:00
David Steele
0dd15dd216 Cleanup. 2014-06-21 20:08:49 -04:00
David Steele
7c161be995 manifest() and list() are working. 2014-06-21 18:19:37 -04:00
David Steele
53f1d3c78e path_create() working. 2014-06-21 15:46:26 -04:00
David Steele
80206a28e9 Ignore missing source in copy() working. 2014-06-21 12:22:25 -04:00
David Steele
e1903d53d0 copy() works when both files are local or both files are remote. 2014-06-21 11:05:29 -04:00
David Steele
3af5239800 Various compression options working in copy(). 2014-06-21 08:42:30 -04:00
David Steele
d162ce203d Trying to get various compression options working in copy(). 2014-06-15 18:32:43 -04:00
David Steele
adf654edb3 In-stream compression now working in copy. 2014-06-15 15:56:45 -04:00
David Steele
d568b6525b copy() works with remote in either direction. 2014-06-14 20:47:32 -04:00
David Steele
79f85fe6c4 Finally a working copy() with new protocol. 2014-06-14 19:50:54 -04:00
David Steele
3a32363a56 Working on copy. 2014-06-12 21:56:20 -04:00
David Steele
166318d00d Moved remaining libraries and other files. 2014-06-07 16:25:20 -04:00
David Steele
31b05eaab3 Moved pg_backrest_utility. 2014-06-07 16:13:41 -04:00
David Steele
0a8a5c7ed4 Refactoring - added version file. 2014-06-07 16:06:46 -04:00