v2.00
Performance Improvements for Archive Push
Released February 23, 2018
Features:
- The
archive-push
command is now partially coded in C which allows the PostgreSQL archive_command to run significantly faster when processing status messages from the asynchronous archive process. (Reviewed by Cynthia Shang.)
Improvements:
- Improve check command to verify that the backup manifest can be built. (Contributed by Cynthia Shang.)
- Improve performance of HTTPS client. Buffering now takes the pending bytes on the socket into account (when present) rather than relying entirely on
select()
. In some instances the final bytes would not be flushed until the connection was closed. - Improve S3 delete performance. The constant
S3_BATCH_MAX
had been replaced with a hard-coded value of 2, probably during testing. - Allow any non-command-line option to be reset to default on the command-line. This allows options in pgbackrest.conf to be reset to default which reduces the need to write new configuration files for specific needs.
- The C library is now required. This eliminates conditional loading and eases development of new library features.
- 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.
- Rename
db-*
options topg-*
andbackup-*
options torepo-*
to improve consistency.repo-*
options are now indexed although currently only one is allowed.
Additional Notes
Documentation Features:
- All clusters in the documentation are initialized with checksums.
Documentation Improvements:
- List deprecated option names in documentation and command-line help.
- Clarify that S3 buckets must be created by the user. (Suggested by David Youatt.)