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
b777525f62
Added --exe param to allow testing of packaged versions.
...
Updates to u12 vagrant vm.
2015-07-11 17:16:35 -04:00
David Steele
8b7fd99637
Added vagrant configuration for Ubuntu 12.04.
...
Changes to regression tests to work better with VMs.
2015-07-06 21:00:48 -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
f210fe99c3
Implemented issue #109 : Move VERSION into source code.
...
Also stopped replacing FORMAT number which explains the large number of test log changes. FORMAT should change very rarely and cause test log failures when it does.
2015-06-22 13:11:07 -04:00
David Steele
61dfeca3c1
Fixed issue #108 : Incompatibility with Perl 5.10.1
2015-06-21 12:06:13 -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
22e126eda7
Fix for logic that removes trailing spaces from code.
2015-06-17 15:40:12 -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
b865070edd
Experimental 9.5 support. Unit tests are not working yet.
2015-06-14 10:12:36 -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
200e3b26fe
Prevent log test regexp replacement when multithreaded. Logging should be completely disabled in this case.
2015-05-29 22:11:51 -04:00
David Steele
5fd4f3bd5b
Improvements to log testing.
...
Replaced tokens are now numbered to give a more accurate rendition of the logs.
Some formatting improvements.
2015-05-29 14:39:43 -04:00
David Steele
3083e5fc7e
Fix for issue #83 : Provide more helpful error message during archive-stop situations.
...
Fix for issue #84 : archive-async in combination with archive-max-mb doesn't work as documented.
Unit tests for archive stop.
2015-05-28 13:17:34 -04:00
David Steele
ca0c866d3b
Implement issue #71 : log a message when waiting for a checkpoint
...
Some other log improvements
2015-05-26 12:26:59 -04:00
David Steele
5c43e7035a
Implement issue #79 : Support comment characters in config file
2015-05-26 11:36:03 -04:00
David Steele
d5335b40e8
Fix for issue #80 : enabling archive-copy causes failing differential & incremental backups
2015-05-22 14:49:14 -04:00
David Steele
a0d985b7ad
Fixed an issue where an absolute path was not written into recovery.conf when the restore was run with a relative path.
2015-05-07 17:37:25 -05:00
David Steele
328c2ca5c0
Much better resume:
...
1) Re-checksums files that have checksums in the manifest
2) Recopies files that do not have a checksum
3) Saves the manifest at regular intervals to preserve checksums
4) Unit tests for all cases (that I can think of)
2015-05-06 18:24:34 -06:00
David Steele
56588f6fdd
Log testing can now be enabled for certain deterministic tests. This works by comparing the generated logs against a previous copy. Currently only enabled for the backup/synthetic tests.
2015-05-05 11:08:48 -06:00
David Steele
43d86e64a4
First pass at tests comparing rsync to backrest. Decent results, but room for improvement.
...
All tests local over SSH with rsync default compression, 4 threads and default compression on backrest. Backrest default is gzip = 6, assuming rsync is the same.
On a 1GB DB:
rsync time = 32.82
backrest time = 19.48
backrest is 171% faster.
On a 5GB DB:
rsync time = 171.16
backrest time = 86.97
backrest is 196% faster.
2015-04-07 18:36:59 -04:00
David Steele
3f651a8ce8
Unit tests will now work across all installed versions of Postgres.
...
Created a function to list all supported versions. Now used for all version checking.
2015-04-02 22:07:23 -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
a998119cba
Various option and unit test fixes.
2015-03-24 18:50:14 -04:00
David Steele
58d6c37f4a
Changed permission to mode in manifest.
2015-03-23 17:17:43 -04:00
David Steele
66c474abe2
A few unit test fixes.
2015-03-23 15:45:25 -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
7509b01e22
Added format to manifest to identify a manifest/dir structure version.
2015-03-03 21:21:07 -05:00
David Steele
3d0d308a98
Made all warnings FATAL.
...
Fixed one bug that was exposed.
2015-03-03 00:57:20 -05:00
David Steele
7ede058b45
Backup checksums are no longer optional.
2015-02-28 20:31:56 -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
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
19e455afc1
Some fixes in unit tests - more needed.
2015-01-28 16:25:38 -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
a3b3f98f66
Fixed some issues with remote backups after restore (unit test bugs only).
2015-01-22 20:55:16 -05:00
David Steele
21c715b25c
Restore tablespace remaps are working.
2015-01-22 20:11:33 -05:00
David Steele
df4b50b977
Restore with base path remap working.
2015-01-22 19:04:55 -05:00
David Steele
82969eb497
Wrote some helper functions to make backup unit tests simpler.
...
Fixed an issue with checksum generation in resume.
2015-01-22 17:43:19 -05:00
David Steele
b53cb9f64e
Unit tests for backup resume.
...
Improved warning message when a backup cannot be resumed.
2015-01-22 10:54:02 -05:00
David Steele
fc2838d60f
All references to old-style manifest eliminated (hopefully).
2015-01-21 18:37:49 -05:00
David Steele
2449d7384c
Wrote a new test to check rsync collisions.
2015-01-03 12:56:44 -05:00
David Steele
9f8f33f957
Working on restore options and integration with unit tests.
2014-12-23 18:52:38 -05:00
David Steele
9086728b73
Restore removes paths/files/links and recreated paths/links.
2014-12-21 10:11:17 -05:00
David Steele
6124558347
Moved config functions to a new file.
2014-12-15 22:20:42 +00:00
David Steele
602db70d6a
More backup unit tests.
2014-10-20 11:44:36 -04:00
David Steele
66a5da6fd1
More work on backup unit tests - added tablespace tests.
2014-10-19 16:30:16 -04:00