David Steele
23e6267adc
Implemented issue #20 : Convert Postgres calls from psql to DBD::Pg.
2015-08-05 12:32:12 -04:00
David Steele
f8a2da9400
Work on issue #48 : Abandon threads and go to processes
...
* Major refactoring of the protocol layer to support this work.
* Fixed protocol issue that was preventing ssh errors (especially connect) from being logged.
2015-08-05 08:43:41 -04:00
David Steele
38f48be3cf
Improvements to help to make it more dynamic depending on environment.
...
Changed PgBackRest to pgBackRest.
2015-07-02 10:05:13 -04:00
David Steele
7248795b91
Work on issue #48 : Abandon threads and go to processes
...
Replaced IPC::System::Simple and Net::OpenSSH with IPC::Open3 to eliminate CPAN dependency for multiple distros. Using open3 will also be used for local processes so it make sense to switch now.
2015-06-29 22:07:42 -04:00
David Steele
61dfeca3c1
Fixed issue #108 : Incompatibility with Perl 5.10.1
2015-06-21 12:06:13 -04:00
David Steele
06c2904212
Change operation constants and functions to command.
2015-06-18 16:55:09 -04:00
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