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

60 Commits

Author SHA1 Message Date
David Steele
a0a3d1e97e Closed #122: 9.5 Integration
The archive_mode = always setting is not included but is covered by issue #125.
2016-01-13 20:35:12 -05:00
David Steele
ba098d7b91 Fixed an issue where longer-running backups/restores would timeout when remote and threaded.
Keepalives are now used to make sure the remote for the main process does not timeout while the thread remotes do all the work.  The error messages for timeouts was also improved to make debugging easier.
2015-12-24 10:32:25 -05:00
David Steele
ddd4c14773 Implemented issue #129: Stop/Start Commands.
Implemented issue #136: Add stderr back into protocol layer.

There were also miscellaneous bug fixes and improvements to buffering in IO.pm.
2015-10-08 11:43:56 -04:00
David Steele
ac3c0d43ab Implemented issue #132: Improved command-line help.
Implemented issue #133: Dynamic module loading where possible.
2015-09-08 07:31:24 -04:00
David Steele
6a9377a0a9 Code cleanup and refactoring to standardize on patterns that have evolved over time. 2015-08-29 14:20:46 -04:00
David Steele
61c729b37b Worked on issue #122: 9.5 Integration.
Skip copying tablespace_map instead of deleting it later.
Cleaned up the skip code for pg_control as well.
2015-08-07 10:21:08 -04:00
David Steele
4e7bd4468a Worked on issue #122: 9.5 Integration.
Most tests are working now.  What's not working:

1) --target-resume option fails because pause_on_recovery setting was removed.  Need to implement to the new 9.5 option and make that work with older versions in a consistent way.
2) No tests for the new .partial WAL segments that can be generated on timeline switch.
2015-08-06 16:36:55 -04:00
David Steele
f3199d13b1 Implement issue #115: When restoring copy pg_control last. 2015-07-16 11:12:48 -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
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
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
9aa41ee76b Added tablespace setting to allow compact database restores for development, staging, etc. 2015-05-08 18:34:27 -04:00
David Steele
1ac4b781fd Better info logging for restore. Most of the messages were debug before and some important ones were missing. 2015-05-07 15:56:56 -06: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
279bd07623 Each option is assigned a source to designate where it came from (param, config, default).
operationWrite() created to easily pass parameters on to a new process.
2015-04-19 17:29:52 -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
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
7ede058b45 Backup checksums are no longer optional. 2015-02-28 20:31:56 -05:00
David Steele
f6b9ab7326 Minor param fix. 2015-02-28 10:28:25 -05:00
David Steele
f93c6caec2 Backup/restore copy will be run in the main process when thread-max=1. I've resisted this change because it adds complexity, but I have to accept that threads are not stable on all platforms. Or maybe any platform. 2015-02-28 10:23:33 -05:00
David Steele
b9378d94a2 Working on removing threads from instream compress/decompression. 2015-02-26 09:22:05 -05:00
David Steele
d2602a5c07 Tracking down a lockup in the restore threads. It doesn't happen in backup - they are the same except that restore uses the ThreadGroup object. I'm beginning to think that threads and objects don't play together very nicely. Objects in threads seems OK, but threads in objects, not so much. 2015-02-03 20:33:33 -05:00
David Steele
d93b246a69 Empty restore queues in a non-blocking way. 2015-02-02 19:34:34 -05:00
David Steele
7f38461c68 Remove ThreadQueue->end(). Not supported on all platforms. 2015-02-02 18:48:33 -05:00
David Steele
a6d3b7e1a9 Working on checking restores against the manifest. Current issue is that the manifest does not always record the final size of the file - it may change while the file is being copied. This is fine in principal but makes testing a pain. 2015-01-31 23:04:24 -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
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
499d6c8422 Added tests for all --delta --force combinations.
Added error check for postmaster running.
Added error check for path not empty.
2015-01-28 13:14:46 -05:00
David Steele
a59bd8c328 Restores except for type=none are mostly working. There are some failing unit tests to fix. 2015-01-27 22:59:59 -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
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
df4b50b977 Restore with base path remap working. 2015-01-22 19:04:55 -05:00
David Steele
8a7ee1bb1f Integration of new Manifest object. 2015-01-20 14:13:35 -05:00
David Steele
131d910906 New structure for --delta and --force params. 2015-01-08 15:43:43 -05:00
David Steele
2e09df2cec More work on new manifest object. 2015-01-08 12:04:56 -05:00
David Steele
0085e88966 Added File-owner() 2015-01-07 12:58:21 -05:00
David Steele
4f5ad8496d Integrating new manifest object. 2015-01-07 10:59:43 -05:00
David Steele
297b22cb2b Added INFO level logging when paths/files/links are removed during the clean phase of restore deltas. 2015-01-02 14:15:15 -05:00
David Steele
fb948de559 Fixed some minor issues in ownership code found by unit tests. 2014-12-31 12:28:16 -05:00
David Steele
7e083e8749 Restore as root is now working. 2014-12-31 11:20:46 -05:00
David Steele
0805055d4b More work on restore ownership code. 2014-12-30 15:41:43 -05:00