be90028100
Rename db-* options to pg-* and backup-* options to repo-* to improve consistency.
...
* repo-* options are now indexed although only one is allowed.
* List deprecated option names in documentation and command-line help.
2018-02-03 18:27:38 -05:00
a91a648019
Config parsing no longer implemented in Perl.
...
Options are passed to Perl as JSON from the C process.
2018-01-28 21:37:09 -05:00
2cc9b2287b
The archive-push command is now partially coded in C.
...
This allows the PostgreSQL archive_command to run significantly faster when processing status messages from the asynchronous archive process.
2018-01-17 15:52:00 -05:00
ef3ef85c33
Fixed an issue where WAL was not expired on PostgreSQL 10.
...
This was caused by a faulty regex that expected all PostgreSQL major versions to be X.X.
Reported by Adam Brusselback.
2017-12-18 18:51:19 -05:00
74d6398ad2
The pgbackrest executable is now a C binary instead of Perl.
...
This allows certain time-critical commands (like async archive-push) to run more quickly.
2017-11-26 18:43:51 -05:00
6ef2167e97
Fixed an issue retrieving WAL for old database versions.
...
After a stanza-upgrade it should still be possible to restore backups from the previous version and perform recovery with archive-get. However, archive-get only checked the most recent db version/id and failed.
Also clean up some issues when the same db version/id appears multiple times in the history.
Fixed by Cynthia Shang.
Reported by Clinton Adams.
2017-11-16 17:18:51 -05:00
550d4fb9c5
Fix incorrect WAL offset for 32-bit architectures.
...
Fixed by Javier Wilson.
2017-11-16 16:53:49 -05:00
b03c26968a
Repository encryption support.
...
Contributed by Cynthia Shang.
2017-11-06 12:51:12 -05:00
d82fe88031
Fix custom settings for compress-level option being ignored.
...
Reported by Jens Wilke.
2017-10-22 18:05:46 -04:00
c94e52f697
Remove error when overlapping timelines are detected.
...
Overlapping timelines are valid in many Point-in-Time-Recovery (PITR) scenarios.
Reported by blogh.
2017-10-16 14:34:44 -04:00
904b83747c
Perl error handler recognizes errors thrown from the C library.
2017-10-16 10:47:31 -04:00
4d6c56b4d7
Open log file after async process is completely separated from the main process.
...
This prevents the main process from also logging to the file.
Suggested by Jens Wilke.
2017-09-20 08:08:36 -04:00
fcb7c6fd1d
PostgreSQL 10 support.
2017-09-01 12:29:34 -04:00
1e0ed07455
Configuration rules are now pulled from the C library when present.
2017-08-25 16:47:47 -04:00
9e248a6627
Minor optimizations to package loads and ordering for archive-get and archive-push commands.
2017-06-27 17:54:30 -04:00
fdabf33604
Revert removal of Ubuntu 12.04 and PostgreSQL 8.3.
2017-06-27 15:58:02 -04:00
cc0e3f843e
Remove support for PostgreSQL 8.3.
2017-06-21 17:24:36 -04:00
11ee528e0e
Rename Archive modules to remove redundancy.
2017-06-21 08:02:21 -04:00
de7fc37f88
Storage and IO layer refactor:
...
Refactor storage layer to allow for new repository filesystems using drivers. (Reviewed by Cynthia Shang.)
Refactor IO layer to allow for new compression formats, checksum types, and other capabilities using filters. (Reviewed by Cynthia Shang.)
2017-06-09 17:51:41 -04:00
2a23157bf2
Move modules in Protocol directory in subdirectories.
2017-05-15 11:12:14 -04:00
5bf4f52e3d
Fixed the info command so the WAL archive min/max displayed is for the current database version.
...
Fixed by Cynthia Shang.
2017-05-12 15:49:14 -04:00
3d84f2ce5e
Improvements to Ini.pm.
...
* Refactor Ini.pm to facilitate testing.
* Complete statement/branch coverage for Ini.pm.
* Improved functions used to test/munge manifest and info files.
2017-04-10 13:24:45 -04:00
eb4918d018
Fixed locking bug and refactoring.
...
* Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push. (Reported by Jens Wilke.)
* Simplify locking scheme. Now, only the master process will hold write locks (archive-push, backup) and not all the local and remote worker processes as before.
2017-04-07 10:31:49 -04:00
b2f43b5601
Allow functions to accept optional parameters as a hash.
...
Refactor File->list() and fileList() to accept optional parameters.
2017-04-04 21:17:19 -04:00
beead043ac
Added stanza-upgrade command.
...
The stanza-upgrade command provides a mechanism for upgrading a stanza after upgrading to a new major version of PostgreSQL.
Contributed by Cynthia Shang.
2017-04-03 10:42:55 -04:00
bc2bb040c5
Fixed an issue where an archive-push error would not be retried.
...
It would instead return errors to PostgreSQL indefinitely (unless the .error file was manually deleted).
Reported by Jens Wilke.
2017-02-13 09:57:10 -05:00
2237c3fc1b
Added documentation for parallel archive-push.
2017-02-05 10:35:53 -05:00
8b5f37c2a8
Added archive and backup WAL ranges to the info command.
2017-02-05 10:31:29 -05:00
43ada9fb33
Improved, multi-process implementation of asynchronous archiving.
2017-01-27 11:02:27 -05:00
7d1347cdec
Split the archive-get and archive-push commands into separate modules.
2017-01-10 19:59:32 -05:00
155c808163
Split the check command out of the Archive.pm module.
2017-01-10 19:54:51 -05:00
b58045f575
Moved the Archive modules to the Archive directory.
2017-01-10 19:51:20 -05:00