54dd6f3ed4
Add asynchronous, parallel archive-get.
...
This feature maintains a queue of WAL segments to help reduce latency when PostgreSQL requests a WAL segment with restore_command.
2018-04-30 17:27:39 -04:00
89d3476e32
Refactor archive common functions in preparation for parallel async archive-get.
2018-04-29 10:16:59 -04:00
88a633da17
Divide tests into three types (unit, integration, performance).
...
Many options that were set per test can instead be inferred from the types, i.e. container, c, expect, and individual.
Also finish renaming Perl unit tests with the -perl suffix.
2018-04-24 09:12:25 -04:00
79b7552940
Rename archive-queue-max option to archive-push-queue-max.
...
This avoids confusion with the archive-get-queue-max option. The old option name will continue to be accepted.
2018-04-18 19:37:35 -04:00
cf0ec44ede
Rename Perl tests so they don't conflict with their C counterparts.
2018-04-17 12:03:03 -04:00
f0250dab4b
Move async forking and more error handling to C.
...
The Perl process was exiting directly when called but that interfered with proper locking for the forked async process. Now Perl returns results to the C process which handles all errors, including signals.
2018-04-12 20:42:26 -04:00
3bcf637aee
Move archive-stop and expire tests to the mock module.
...
These are mock integration tests so they should be grouped with the other mock integration tests.
2018-04-08 12:57:02 -04:00
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
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
d992851456
Rename Perl tests so they don't conflict with their C counterparts.
2018-01-16 12:36:22 -05:00
2ed426a70b
Remove deprecated archive-max-mb option.
2017-11-27 20:43:44 -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
7cf955425e
The C library is now required.
...
This eliminates conditional loading and eases development of new library features.
2017-11-26 17:45:00 -05:00
8a3425ec04
Automate generation of WAL and pg_control test files.
...
The existing static files would not work with 32-bit or big-endian systems so create functions to generate these files dynamically rather than creating a bunch of new static files.
2017-11-18 20:02:54 -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
b03c26968a
Repository encryption support.
...
Contributed by Cynthia Shang.
2017-11-06 12:51:12 -05:00
d989cf8ac2
Replace dynamically built class hierarchies in I/O layer with fixed parent() calls.
2017-10-22 19:07:17 -04:00
e1cb9ae86a
Improve labeling for errors in helper processes.
2017-10-21 14:40:14 -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
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
a10a22127d
Consolidate archive-get test into new archive test.
2017-06-22 18:51:39 -04:00
edada21866
Rename archive-push unit test.
...
This is part of the archive consolidation but is committed separately so that git will follow the rename.
2017-06-21 08:45:58 -04:00
2337be8636
Consolidate archive-push tests into new archive test.
2017-06-21 08:38:53 -04:00
11ee528e0e
Rename Archive modules to remove redundancy.
2017-06-21 08:02:21 -04:00
051c961151
S3 repository support.
2017-06-12 10:52:32 -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
5296747271
Move backup modules into Backup directory.
2017-05-15 16:01:00 -04:00
2a23157bf2
Move modules in Protocol directory in subdirectories.
2017-05-15 11:12:14 -04:00
c31da3f961
Moved test and env modules to new directories to avoid namespace conflicts with common tests.
2017-05-12 16:43:04 -04:00