pgbackrest (2.33-1) unstable; urgency=medium * New Upstream Release: - Bug Fixes: * Fix option warnings breaking async archive-get/archive-push. * Fix memory leak in backup during archive copy. * Fix stack overflow in cipher passphrase generation. * Fix repo-ls / on S3 repositories. - Features: * Multiple repository support. * GCS support for repository storage. * Add archive-header-check option. - Improvements: * Include recreated system databases during selective restore. * Exclude content-length from S3 signed headers. * Consolidate less commonly used repository storage options. * Allow custom config-path default with ./configure --with-configdir. * Log archive copy during backup. - Documentation Improvements: * Update reference to include links to user guide examples. * Update selective restore documentation with caveats. * Add compress-type clarification to archive-copy documentation. * Add compress-level defaults per compress-type value. * Add note about required NFS settings being the same as PostgreSQL. * d/control: Add libyaml-libyaml-perl to D-B. -- Adrian Vondendriesch Tue, 06 Apr 2021 19:22:00 +0200 pgbackrest (2.32-1) unstable; urgency=medium * New Upstream Release: - Bug Fixes: * Fix resume after partial delete of backup by prior resume. - Features: * Add repo-ls command. * Add repo-get command. * Add archive-mode-check option. - Improvements: * Improve archive-get performance. -- Adrian Vondendriesch Wed, 10 Feb 2021 18:28:28 +0100 pgbackrest (2.31-1) unstable; urgency=medium * d/control: Add check-pgbackrest in Suggests. (Closes: #970724) * New Upstream Release: - Bug Fixes: * Allow [, #, and space as the first character in database names. * Create standby.signal only on PostgreSQL 12 when restore type is standby. - Features: * Expire history files. * Report page checksum errors in info command text output. * Add repo-azure-endpoint option. * Add pg-database option. - Improvements: * Improve info command output when a stanza is specified but missing. * Improve performance of large file lists in backup/restore commands. * Add retries to PostgreSQL sleep when starting a backup. - Documentation Improvements: * Replace RHEL/CentOS 6 documentation with RHEL/CentOS 8. -- Adrian Vondendriesch Tue, 08 Dec 2020 13:14:27 +0100 pgbackrest (2.30-1) unstable; urgency=low * Bug Fixes: - Error with hints when backup user cannot read pg_settings. * Features: - PostgreSQL 13 support. * Improvements: - Improve PostgreSQL version identification. - Improve working directory error message. - Add hint about starting the stanza when WAL segment not found. - Add hint for protocol version mismatch. * Documentation Improvements: - Add note that pgBackRest versions must match when running remotely. - Move info command text to the reference and link to user guide. - Update yum repository path for CentOS/RHEL user guide. -- Adrian Vondendriesch Thu, 08 Oct 2020 17:28:15 +0200 pgbackrest (2.29-1) unstable; urgency=low [ Debian Janitor ] * Bump debhelper from deprecated 9 to 10. * Update standards version to 4.5.0, no changes needed. [ Adrian Vondendriesch ] * New Upstream Release: - Bug Fixes: * Suppress errors when closing local/remote processes. Since the command has completed it is counterproductive to throw an error but still warn to indicate that something unusual happened. * Fix issue with = character in file or database names. - Features: * Automatically retrieve temporary S3 credentials on AWS instances. * Add archive-mode option to disable archiving on restore. - Improvements: * PostgreSQL 13 beta3 support. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. * Asynchronous list/remove for S3/Azure storage. * Improve memory usage of unlogged relation detection in manifest build. * Proactively close file descriptors after forking async process. * Delay backup remote connection close until after archive check. * Improve detailed error output. * Improve TLS error reporting. - Documentation Bug Fixes: * Add none to compress-type option reference and fix example. * Add missing azure type in repo-type option reference. * Fix typo in repo-cipher-type option reference. - Documentation Improvements: * Clarify that expire must be run regularly when expire-auto is disabled. -- Adrian Vondendriesch Thu, 03 Sep 2020 10:16:38 +0200 pgbackrest (2.28-1) unstable; urgency=medium * New Upstream Release: - Bug Fixes: * Fix restore --force acting like --force --delta. This caused restore to replace files based on timestamp and size rather than overwriting, which meant some files that should have been updated were left unchanged. Normal restore and restore --delta were not affected by this issue. - Features: * Azure support for repository storage. * Add expire-auto option. This allows automatic expiration after a successful backup to be disabled. - Improvements: * Asynchronous S3 multipart upload. * Automatic retry for backup, restore, archive-get, and archive-push. * Disable query parallelism in PostgreSQL sessions used for backup control. * PostgreSQL 13 beta2 support. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. * Improve handling of invalid HTTP response status. * Improve error when pg1-path option missing for archive-get command. * Add hint when checksum delta is enabled after a timeline switch. * Use PostgreSQL instead of postmaster where appropriate. - Documentation Bug Fixes: * Fix incorrect example for repo-retention-full-type option. * Remove internal commands from HTML and man command references. - Documentation Improvements: * Update PostgreSQL versions used to build user guides. Also add version ranges to indicate that a user guide is accurate for a range of PostgreSQL versions even if it was built for a specific version. * Update FAQ for expiring a specific backup set. * Update FAQ to clarify default PITR behavior. -- Adrian Vondendriesch Thu, 23 Jul 2020 11:05:19 +0200 pgbackrest (2.27-1) unstable; urgency=medium * New Upstream Release: - Bug Fixes: * Fix issue checking if file links are contained in path links. * Allow pg-path1 to be optional for synchronous archive-push. * The expire command now checks if a stop file is present. * Handle missing reason phrase in HTTP response. * Increase buffer size for lz4 compression flush. * Ignore pg-host* and repo-host* options for the remote command. * Fix possibly missing pg1-* options for the remote command. - Features: * Time-based retention for full backups. The --repo-retention-full-type option allows retention of full backups based on a time period, specified in days. * Ad hoc backup expiration. Allow the user to remove a specified backup regardless of retention settings. * Zstandard compression support. Note that setting compress-type=zst will make new backups and archive incompatible (unrestorable) with prior versions of pgBackRest. * bzip2 compression support. Note that setting compress-type=bz2 will make new backups and archive incompatible (unrestorable) with prior versions of pgBackRest. * Add backup/expire running status to the info command. - Improvements: * Expire WAL archive only when repo-retention-archive threshold is met. WAL prior to the first full backup was previously expired after the first full backup. Now it is preserved according to retention settings. * Add local MD5 implementation so S3 works when FIPS is enabled. * PostgreSQL 13 beta1 support. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but pgBackRest will be updated with each release to keep pace. * Reduce buffer-size default to 1MiB. * Throw user-friendly error if expire is not run on repository host. * d/control: Update B-D to support new compression algorithms: - libbz2-dev and - libzstd-dev -- Adrian Vondendriesch Wed, 27 May 2020 09:06:59 +0200 pgbackrest (2.26-1) unstable; urgency=medium * New Upstream Release: - Bug Fixes: * Remove empty subexpression from manifest regular expression. MacOS was not happy about this though other platforms seemed to work fine. - Improvements: * Non-blocking TLS implementation. * Only limit backup copy size for WAL-logged files. The prior behavior could possibly lead to postgresql.conf or postgresql.auto.conf being truncated in the backup. * TCP keep-alive options are configurable. * Add io-timeout option. -- Adrian Vondendriesch Sat, 25 Apr 2020 12:58:04 +0200 pgbackrest (2.25-3) unstable; urgency=medium * d/rules: Add --bindir flag to configure. -- Adrian Vondendriesch Mon, 30 Mar 2020 11:33:53 +0200 pgbackrest (2.25-2) unstable; urgency=medium * d/control: Add liblz4-dev as B-D. -- Adrian Vondendriesch Sun, 29 Mar 2020 12:02:30 +0200 pgbackrest (2.25-1) unstable; urgency=medium [ Debian Janitor ] * Use secure URI in Homepage field. * Set upstream metadata fields: Bug-Database, Bug-Submit, Repository, Repository-Browse. * Update standards version to 4.4.1, no changes needed. [ Adrian Vondendriesch ] * New Upstream Release: - Features: * Add lz4 compression support. Note that setting compress-type=lz4 will make new backups and archive incompatible (unrestorable) with prior versions of pgBackRest. * Add --dry-run option to the expire command. Use dry-run to see which backups/archive would be removed by the expire command without actually removing anything. - Improvements: * Improve performance of remote manifest build. * Fix detection of keepalive options on Linux. * Add configure host detection to set standards flags correctly. * Remove compress/compress-level options from commands where unused. These commands (e.g. restore, archive-get) never used the compress options but allowed them to be passed on the command line. Now they will error when these options are passed on the command line. If these errors occur then remove the unused options. * Limit backup file copy size to size reported at backup start. If a file grows during the backup it will be reconstructed by WAL replay during recovery so there is no need to copy the additional data. -- Adrian Vondendriesch Sat, 28 Mar 2020 19:02:59 +0100 pgbackrest (2.24-1) unstable; urgency=medium * Bug Fixes: - Prevent defunct processes in asynchronous archive commands. - Error when archive-get/archive-push/restore are not run on a PostgreSQL host. - Read HTTP content to eof when size/encoding not specified. - Fix resume when the resumable backup was created by Perl. In this case the resumable backup should be ignored, but the C code was not able to load the partial manifest written by Perl since the format differs slightly. Add validations to catch this case and continue gracefully. * Features: - Auto-select backup set on restore when time target is specified. Auto-selection is performed only when --set is not specified. If a backup set for the given target time cannot not be found, the latest (default) backup set will be used. * Improvements: - Skip pg_internal.init temp file during backup. - Add more validations to the manifest on backup. * Documentation Improvements: - Prevent lock-bot from adding comments to locked issues. -- Adrian Vondendriesch Wed, 26 Feb 2020 16:46:36 +0100 pgbackrest (2.23-1) unstable; urgency=medium * New Upstream Release (Closes: #949425) - Bug Fixes: * Fix missing files corrupting the manifest. If a file was removed by PostgreSQL during the backup (or was missing from the standby) then the next file might not be copied and updated in the manifest. If this happened then the backup would error when restored. - Improvements: * Use pkg-config instead of xml2-config for libxml2 build options. * Validate checksums are set in the manifest on backup/restore. * debian/control: Add pkg-config to B-D. -- Adrian Vondendriesch Mon, 27 Jan 2020 18:08:12 +0100 pgbackrest (2.22-1) unstable; urgency=medium * New Upstream Release: - Bug Fixes: * Fix error in timeline conversion. The timeline is required to verify WAL segments in the archive after a backup. The conversion was performed base 10 instead of 16, which led to errors when the timeline was ≥ 0xA. -- Adrian Vondendriesch Wed, 22 Jan 2020 10:08:22 +0100 pgbackrest (2.21-1) unstable; urgency=medium * New Upstream Release: - Bug Fixes: * Fix options being ignored by asynchronous commands. The asynchronous archive-get/archive-push processes were not loading options configured in command configuration sections, e.g. [global:archive-get]. * Fix handling of \ in filenames. \ was not being properly escaped when calculating the manifest checksum which prevented the manifest from loading. Since instances of \ in cluster filenames should be rare to nonexistent this does not seem likely to be a serious problem in the field. - Features: * pgBackRest is now pure C. * Add pg-user option. Specifies the database user name when connecting to PostgreSQL. If not specified pgBackRest will connect with the local OS user or PGUSER, which was the previous behavior. * Allow path-style URIs in S3 driver. - Improvements: * The backup command is implemented entirely in C. * debian/copyright: update copyright dates * debian/control: - Add Rules-Requires-Root. - Update Standards-Version to 4.4.0 (no changes required). - Remove libperl-dev B-D. - Remove perl dependency. -- Adrian Vondendriesch Sat, 18 Jan 2020 20:22:03 +0100 pgbackrest (2.20-1) unstable; urgency=medium * New Upstream Release: - Bug Fixes: * Fix archive-push/archive-get when PGDATA is symlinked. These commands tried to use cwd() as PGDATA but this would disagree with the path configured in pgBackRest if PGDATA was symlinked. If cwd() does not match the pgBackRest path then chdir() to the path and make sure the next cwd() matches the result from the first call. * Fix reference list when backup.info is reconstructed in expire command. Since the backup command is still using the Perl version of reconstruct this issue will not express unless 1) there is a backup missing from backup.info and 2) the expire command is run directly instead of running after backup as usual. This unlikely combination of events means this is probably not a problem in the field. * Fix segfault on unexpected EOF in gzip decompression. -- Adrian Vondendriesch Fri, 13 Dec 2019 21:16:34 +0100 pgbackrest (2.19-1) unstable; urgency=medium * New Upstream Release: - Bug Fixes: * Fix remote timeout in delta restore. When performing a delta restore on a largely unchanged cluster the remote could timeout if no files were fetched from the repository within protocol-timeout. Add keep-alives to prevent remote timeout. * Fix handling of repeated HTTP headers. When HTTP headers are repeated they should be considered equivalent to a single comma-separated header rather than generating an error, which was the prior behavior. - Improvements: * JSON output from the info command is no longer pretty-printed. Monitoring systems can more easily ingest the JSON without linefeeds. External tools such as jq can be used to pretty-print if desired. * The check command is implemented entirely in C. - Documentation Improvements: * Document how to contribute to pgBackRest. * Document maximum version for auto-stop option. - Test Suite Improvements: * Fix container test path being used when --vm=none. * Fix mismatched timezone in expect test. * Don't autogenerate embedded libc code by default. * d/patches: Update ppc64le patch. -- Adrian Vondendriesch Fri, 15 Nov 2019 19:46:21 +0100 pgbackrest (2.18-1) unstable; urgency=medium * New Upstream Release: - Features: * PostgreSQL 12 support. * Add info command set option for detailed text output. The additional details include databases that can be used for selective restore and a list of tablespaces and symlinks with their default destinations. * Add standby restore type. This restore type automatically adds standby_mode=on to recovery.conf for PostgreSQL < 12 and creates standby.signal for PostgreSQL ≥ 12, creating a common interface between PostgreSQL versions. - Improvements: * The restore command is implemented entirely in C. - Documentation Improvements: * Document the relationship between db-timeout and protocol-timeout. * Add documentation clarifications regarding standby repositories. * Add FAQ for time-based Point-in-Time Recovery. * d/pgbackrest.logrotate: Adjust logrotate conf. Add missing copytruncate. -- Adrian Vondendriesch Mon, 28 Oct 2019 17:41:53 +0100 pgbackrest (2.17-2) unstable; urgency=medium * d/patches: - Import a patch provided by upstream that prevents a gcc compiler bug on ppc64 on older distribution like stretch. -- Adrian Vondendriesch Mon, 28 Oct 2019 17:29:44 +0100 pgbackrest (2.17-1) unstable; urgency=medium * New Upstream Release: - Bug Fixes: * Improve slow manifest build for very large quantities of tables/segments. * Fix exclusions for special files. - Improvements: * The stanza-create/update/delete commands are implemented entirely in C. * The start/stop commands are implemented entirely in C. * Create log directories/files with 0750/0640 mode. - Documentation Bug Fixes: * Fix yum.p.o package being installed when custom package specified. - Documentation Improvements: * Build pgBackRest as an unprivileged user. * Install logrotate config. -- Adrian Vondendriesch Wed, 04 Sep 2019 18:00:02 +0200 pgbackrest (2.16-1) unstable; urgency=medium * New Upstream Release: - Bug Fixes: * Retry S3 RequestTimeTooSkewed errors instead of immediately terminating. * Fix incorrect handling of transfer-encoding response to HEAD request. * Fix scoping violations exposed by optimizations in gcc 9. - Features: * Add repo-s3-port option for setting a non-standard S3 service port. - Improvements: * The local command for backup is implemented entirely in C. * The check command is implemented partly in C. * Adjust dependencies. -- Adrian Vondendriesch Thu, 08 Aug 2019 20:33:32 +0200 pgbackrest (2.15.1-1) unstable; urgency=medium * New Upstream Release: - Bug Fixes: * Fix archive retention expiring too aggressively. - Improvements: * The expire command is implemented entirely in C. * The local command for restore is implemented entirely in C. * Remove hard-coded PostgreSQL user so $PGUSER works. * Honor configure --prefix option. * Rename repo-s3-verify-ssl option to repo-s3-verify-tls. The new name is preferred because pgBackRest does not support any SSL protocol versions (they are all considered to be insecure). The old name will continue to be accepted. - Documentation Improvements: * Add FAQ to the documentation. * Use wal_level=replica in the documentation for PostgreSQL ≥ 9.6. * d/rules: Use --prefix parameter in configure script. -- Adrian Vondendriesch Thu, 27 Jun 2019 15:58:27 +0200 pgbackrest (2.14-1) unstable; urgency=medium * New Upstream release: - Bug Fixes: * Fix segfault when process-max > 8 for archive-push/archive-get. - Improvements: * Bypass database checks when stanza-delete issued with force. * Add configure script for improved multi-platform support. - Documentation Features: * Add user guides for CentOS/RHEL 6/7. -- Adrian Vondendriesch Fri, 31 May 2019 13:30:11 +0200 pgbackrest (2.13-1) unstable; urgency=medium * New Upstream release: - Bug Fixes: * Fix zero-length reads causing problems for IO filters that did not expect them. * Fix reliability of error reporting from local/remote processes. * Fix Posix/CIFS error messages reporting the wrong filename on write/sync/close. -- Adrian Vondendriesch Fri, 19 Apr 2019 10:26:04 +0200 pgbackrest (2.12-1) unstable; urgency=medium * d/rules. Add hardening flags "+all". * New Upstream release: - IMPORTANT NOTE: The new TLS/SSL implementation forbids dots in S3 bucket names per RFC-2818. This security fix is required for compliant hostname verification. - Bug Fixes: * Fix issues when a path option is / terminated. * Fix issues when log-level-file=off is set for the archive-get command. * Fix C code to recognize host:port option format like Perl does. * Fix issues with remote/local command logging options. - Improvements: * The archive-push command is implemented entirely in C. * Increase process-max limit to 999. * Improve error message when an S3 bucket name contains dots. - Documentation Improvements: * Clarify that S3-compatible object stores are supported. -- Adrian Vondendriesch Sat, 13 Apr 2019 17:09:19 +0200 pgbackrest (2.11-1) unstable; urgency=medium * Update d/rules to represent Makefile changes. * New Upstream release: - Bug Fixes: * Fix possible truncated WAL segments when an error occurs mid-write. * Fix info command missing WAL min/max when stanza specified. * Fix non-compliant JSON for options passed from C to Perl. - Improvements: * The archive-get command is implemented entirely in C. * Enable socket keep-alive on older Perl versions. * Error when parameters are passed to a command that does not accept parameters. * Add hints when unable to find a WAL segment in the archive. * Improve error when hostname cannot be found in a certificate. * Add additional options to backup.manifest for debugging purposes. - Documentation Improvements: * Update default documentation version to PostgreSQL 10. -- Adrian Vondendriesch Tue, 12 Mar 2019 11:18:19 +0100 pgbackrest (2.10-1) unstable; urgency=medium [ Adrian Vondendriesch ] * Bug Fixes: - Add unimplemented S3 driver method required for archive-get. - Fix check for improperly configured pg-path. [ Christoph Berg ] * Update PostgreSQL Maintainers address. -- Adrian Vondendriesch Mon, 11 Feb 2019 19:00:50 +0100 pgbackrest (2.08-2) unstable; urgency=medium * Change default permissions of newly created pgbackrest directories and config files. (Closes: #920268) - Especially /var/lib/pgbackrest might contain sensitive information and shouldn't be readable by others. Change default permissions to 0750. - /etc/pgbackrest.conf might contain encryption keys. Change default permissions to 0640. -- Adrian Vondendriesch Wed, 23 Jan 2019 14:33:15 +0100 pgbackrest (2.08-1) unstable; urgency=medium * New Upstream release: - Bug Fixes: * Remove request for S3 object info directly after putting it. * Correct archive-get-queue-max to be size type. * Add error message when current user uid/gid does not map to a name. * Error when --target-action=shutdown specified for PostgreSQL < 9.5. - Improvements: * Set TCP keepalives on S3 connections. * Reorder info command text output so most recent backup is output last. * Change file ownership only when required. * Redact authentication header when throwing S3 errors. * d/control: - Add libxml2-dev to B-D - Bump Standards-Version to 4.3.0 - Slightly improve package long description -- Adrian Vondendriesch Mon, 07 Jan 2019 17:39:12 +0100 pgbackrest (2.07-1) unstable; urgency=medium * New Upstream release: - Bug Fixes: * Fix issue with archive-push-queue-max not being honored on connection error. * Fix static WAL segment size used to determine if archive-push-queue-max has been exceeded. * Fix error after log file open failure when processing should continue. - Features: * Automatically enable backup checksum delta when anomalies (e.g. timeline switch) are detected. - Improvements: * Retry all S3 5xx errors rather than just 500 internal errors. -- Adrian Vondendriesch Sun, 18 Nov 2018 13:37:00 +0100 pgbackrest (2.06-1) unstable; urgency=medium * New Upstream release: - Bug Fixes: * Fix missing URI encoding in S3 driver. * Fix incorrect error message for duplicate options in configuration files. * Fix incorrectly reported error return in info logging. A return code of 1 from the archive-get was being logged as an error message at info level but otherwise worked correctly. - Features: * Add checksum delta for incremental backups which uses checksums rather than timestamps to determine if files have changed. * PostgreSQL 11 support, including configurable WAL segment size. - Improvements: * Ignore all files in a linked tablespace directory except the subdirectory for the current version of PostgreSQL. Previously an error would be generated if other files were present and not owned by the PostgreSQL user. * Improve info command to display the stanza cipher type. * Improve support for special characters in filenames. * Allow delta option to be specified in the pgBackRest configuration file. -- Adrian Vondendriesch Tue, 16 Oct 2018 19:01:33 +0200 pgbackrest (2.05-1) unstable; urgency=medium * d/control: Add zlib1g-dev to B-D. * New Upstream release: - Bug Fixes: * Fix issue where relative links in $PGDATA could be stored in the backup with the wrong path. This issue did not affect absolutelinks and relative tablespace links were caught by other checks. * Remove incompletely implemented online option from the check command. Offline operation runs counter to the purpose of this command, which is to check if archiving and backups are working correctly. * Fix issue where errors raised in C were not logged when called from Perl. pgBackRest properly terminated with the correct error code but lacked an error message to aid in debugging. * Fix issue when a boolean option (e.g. delta) was specified more than once. - Features: * Allow any option to be set in an environment variable. This includes options that previously could only be specified on the command line, e.g. stanza, and secret options that could not be specified on the command-line, e.g. repo1-s3-key-secret. * Exclude temporary and unlogged relation (table/index) files from backup. Implemented using the same logic as the patches adding this feature to PostgreSQL, 8694cc96 and 920a5e50. Temporary relation exclusion is enabled in PostgreSQL ≥ 9.0. Unlogged relation exclusion is enabled in PostgreSQL ≥ 9.1, where the feature was introduced. * Allow arbitrary directories and/or files to be excluded from a backup. Misuse of this feature can lead to inconsistent backups so read the --exclude documentation carefully before using. * Add log-subprocess option to allow file logging for local and remote subprocesses. * PostgreSQL 11 Beta 3 support. - Improvements: * Allow zero-size files in backup manifest to reference a prior manifest regardless of timestamp delta. * Improve asynchronous archive-get/archive-push performance by directly checking status files. * Improve error message when a command is missing the stanza option. -- Adrian Vondendriesch Mon, 03 Sep 2018 20:35:16 +0200 pgbackrest (2.04-2) unstable; urgency=medium * d/rules: - Fix the documentation build process by adjusting the content of command output cache that is required to building the docs (Closes: #903245). -- Adrian Vondendriesch Sat, 07 Jul 2018 14:08:32 +0200 pgbackrest (2.04-1) unstable; urgency=medium * New Upstream release: - Critical Bug Fix for Backup Resume: **IMPORTANT NOTE**: This release fixes a critical bug in the backup resume feature. All resumed backups prior to this release should be considered inconsistent. A backup will be resumed after a prior backup fails, unless resume=n has been specified. A resumed backup can be identified by checking the backup log for the message "aborted backup of same type exists, will be cleaned to remove invalid files and resumed". If the message exists, do not use this backup or any backup in the same set for a restore and check the restore logs to see if a resumed backup was restored. If so, there may be inconsistent data in the cluster. - Bug Fixes: * Fix critical bug in resume that resulted in inconsistent backups. A regression in v0.82 removed the timestamp comparison when deciding which files from the aborted backup to keep on resume. See note above for more details. * Fix error in selective restore when only one user database exists in the cluster. * Fix non-compliant ISO-8601 timestamp format in S3 authorization headers. AWS and some gateways were tolerant of space rather than zero-padded hours while others were not. - Features: * PostgreSQL 11 Beta 2 support. - Improvements: * Improve the HTTP client to set content-length to 0 when not specified by the server. S3 (and gateways) always set content-length or transfer-encoding but HTTP 1.1 does not require it and proxies (e.g. HAProxy) may not include either. * Set search_path = 'pg_catalog' on PostgreSQL connections. -- Adrian Vondendriesch Fri, 06 Jul 2018 10:24:40 +0200 pgbackrest (2.03-1) unstable; urgency=medium * Drop C library. * Update Suggests. Include: - libio-socket-ssl-perl - libxml-libxml-perl * New Upstream release: - Bug Fixes: * Fix potential buffer overrun in error message handling. * Fix archive write lock being taken for the synchronous archive-get command. - Improvements: * Embed exported C functions and Perl modules directly into the pgBackRest executable. * Use time_t instead of __time_t for better portability. * Print total runtime in milliseconds at command end. -- Adrian Vondendriesch Tue, 29 May 2018 10:45:42 +0200 pgbackrest (2.02-1) unstable; urgency=medium [ Christoph Berg ] * Install C module to "vendor" directory. Thanks Niko Tyni! (Closes: #896121) [ Adrian Vondendriesch ] * New Upstream release: - Bug Fixes * Fix directory syncs running recursively when only the specified directory should be synced. * Fix archive-copy throwing "path not found" error for incr/diff backups. * Fix failure in manifest build when two or more files in PGDATA are linked to the same directory. * Fix delta restore failing when a linked file is missing. * Fix rendering of key/value and list options in help. - Features: * 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. * Add support for additional pgBackRest configuration files in the directory specified by the --config-include-path option. Add --config-path option for overriding the default base path of the --config and --config-include-path option. * Add repo-s3-token option to allow temporary credentials tokens to be configured. pgBackRest currently has no way to request new credentials so the entire command (e.g. backup, restore) must complete before the credentials expire. - Improvements: * Update the archive-push-queue-max, manifest-save-threshold, and buffer-size options to accept values in KB, MB, GB, TB, or PB where the multiplier is a power of 1024. * Make backup/restore path sync more efficient. Scanning the entire directory can be very expensive if there are a lot of small tables. The backup manifest contains the path list so use it to perform syncs instead of scanning the backup/restore path. * Show command parameters as well as command options in initial info log message. * Rename archive-queue-max option to archive-push-queue-max to avoid confusion with the new archive-get-queue-max option. The old option name will continue to be accepted -- Adrian Vondendriesch Wed, 25 Apr 2018 11:35:11 +0200 pgbackrest (2.01-1) unstable; urgency=medium * New Upstream release: - Bug Fixes: * Fix --target-action and --recovery-option options being reported as invalid when restoring with --type=immediate. * Immediately error when a secure option (e.g. repo1-s3-key) is passed on the command line. Since pgBackRest would not pass secure options on to sub-processes an obscure error was thrown. The new error is much clearer and provides hints about how to fix the problem. Update command documentation to omit secure options that cannot be specified on the command-line. * Fix issue passing --no-config to embedded Perl. * Fix issue where specifying log-level-stderr > warn would cause a local/remote process to error on exit due to output found on stderr when none was expected. The max value for a local/remote process is now error since there is no reason for these processes to emit warnings. * Fix manifest test in the check command when tablespaces are present. - Improvements: * Error when multiple arguments are set in the config file for an option that does not accept multiple arguments. * Remove extraneous sudo commands from src/Makefile. - See http://pgbackrest.org/release.html#2.01 * d/patches: - Drop Makefile patch. -- Adrian Vondendriesch Wed, 21 Mar 2018 12:11:46 +0100 pgbackrest (2.00-1) unstable; urgency=medium * New Upstream release: - 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. - Improvements: * Improve check command to verify that the backup manifest can be built. * 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 filesfor 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 to pg-* and backup-* options to repo-* to improve consistency. repo-* options are now indexed although currently only one is allowed. - See http://pgbackrest.org/release.html#2.00 -- Adrian Vondendriesch Tue, 27 Feb 2018 17:12:39 +0100 pgbackrest (1.28-1) unstable; urgency=medium * New Upstream release: - Bug Fixes: * Fixed inability to restore a single database contained in a tablespace using --db-include. * Ensure latest db-id is selected on when matching archive.info to backup.info. This provides correct matching in the event there are system-id and db-version duplicates (e.g. after reverting a pg_upgrade). * Fixed overly chatty error message when reporting an invalid command. - Features: * Add stanza-delete command to cleanup unused stanzas. - Improvements: * Improve stanza-create command so that it does not error when the stanza already exists. -- Adrian Vondendriesch Sat, 03 Feb 2018 14:58:32 +0100 pgbackrest (1.27-1) unstable; urgency=medium * New Upstream release: - Bug Fixes: * Fixed an issue that suppressed locality errors for backup and restore. When a backup host is present, backups should only be allowed on the backup host and restores should only be allowed on the database host unless an alternate configuration is created that ignores the remote host. * 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. * Fixed an issue where the --no-config option was not passed to child processes. This meant the child processes would still read the local config file and possibly cause unexpected behaviors. * Fixed info command to eliminate "db (prior)" output if no backups or archives exist for a prior version of the cluster. - See http://pgbackrest.org/release.html#1.27 -- Adrian Vondendriesch Thu, 21 Dec 2017 17:59:43 +0100 pgbackrest (1.26-1) unstable; urgency=medium * New Upstream release: - Bug Fixes: * Fixed an issue that could cause copying large manifests to fail during restore. * Fixed incorrect WAL offset for 32-bit architectures. * 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 an issue with invalid backup groups being set correctly on restore. If the backup cannot map a group to a name it stores the group in the manifest as false then uses either the owner of $PGDATA to set the group during restore or failing that the group of the current user. This logic was not working correctly because the selected group was overwriting the user on restore leaving the group undefined and the user incorrectly set to the group. * Fixed an issue passing parameters to remotes. When more than one db was specified the path, port, and socket path would for db1 were passed no matter which db was actually being addressed. - Features: * Repository encryption support. - See http://www.pgbackrest.org/release.html#1.26 * d/control: Add libssl-dev to B-D. * d/tests: Fix error handling in "suite" test -- Adrian Vondendriesch Wed, 22 Nov 2017 22:11:32 +0100 pgbackrest (1.25-1) unstable; urgency=medium * New Upstream release: - Bug Fixes: * Fix custom settings for compress-level option being ignored. * Remove error when overlapping timelines are detected. Overlapping timelines are valid in many Point-in-Time-Recovery (PITR) scenarios. * Fix instances where database-id was not rendered as an integer in JSON info output. - Features: * Improve performance of list requests on S3. - See http://www.pgbackrest.org/release.html#1.25 * Bump Standards-Version to 4.1.1. -- Adrian Vondendriesch Wed, 25 Oct 2017 15:17:11 +0200 pgbackrest (1.24-1) unstable; urgency=medium * New Upstream release: - Bug Fixes: * Fixed an issue where warnings were being emitted in place of lower priority log messages during backup from standby initialization. * Fixed an issue where some db-* options (e.g. db-port) were not being passed to remotes. - Features: * Exclude contents of pg_snapshots, pg_serial, pg_notify, and pg_dynshmem from backup since they are rebuilt on startup. * Exclude pg_internal.init files from backup since they are rebuilt on startup. - See http://www.pgbackrest.org/release.html#1.24 -- Adrian Vondendriesch Fri, 29 Sep 2017 10:33:45 +0200 pgbackrest (1.23-1) unstable; urgency=medium * New Upstream release: - Bug Fixes: * Fixed an issue that could cause compression to abort on growing files. * Fixed an issue with keep-alives not being sent to the remote from the local process. - Features: * Up to seven standbys can be configured for backup from standby. * PostgreSQL 10 support. * Allow content-length (in addition to chunked encoding) when reading XML data to improve compatibility with third-party S3 gateways. - Refactoring: * Configuration rules are now pulled from the C library when present. * Increase HTTP timeout for S3. * Add HTTP retries to harden against transient S3 network errors. - See http://www.pgbackrest.org/release.html#1.23 -- Adrian Vondendriesch Mon, 04 Sep 2017 10:23:18 +0200 pgbackrest (1.22-1) unstable; urgency=medium * New Upstream release: - Retry after internal S3 errors - Changed info command output - Configurable ssh ports (--backup-ssh-port / --db-ssh-port) - See http://www.pgbackrest.org/release.html#1.21 as well as #1.22 -- Adrian Vondendriesch Thu, 10 Aug 2017 10:17:56 +0200 pgbackrest (1.20-1) unstable; urgency=medium * New Upstream release: - See http://www.pgbackrest.org/release.html#1.19 * Bump Standards-Version to 4.0.0. * Disable libc test on big-endian systems (Closes: #865545). The current test implementation doesn't work on big-endian systems. * Drop patches merged by upstream. -- Adrian Vondendriesch Wed, 28 Jun 2017 08:38:49 +0200 pgbackrest (1.19-1) unstable; urgency=medium * New Upstream release: - This release introduces S3 Support. - see http://www.pgbackrest.org/release.html#1.19 for more information. * d/rules: Run libc tests through dh_auto_test. * d/tests: Use -k to enable checksums for initdb in tests suite. * d/patches: Fix format in libc (%u vs %lu). * d/patches: Add upstream patch to fix libc alignment on 32 bit systems. -- Adrian Vondendriesch Sat, 15 Apr 2017 11:34:48 +0200 pgbackrest (1.18-1) unstable; urgency=medium * New Upstream release. See http://www.pgbackrest.org/release.html#1.18 * debian/tests: add a simple test suite. Thanks to Hendrik Siewert. -- Adrian Vondendriesch Thu, 13 Apr 2017 15:54:51 +0200 pgbackrest (1.17-2) experimental; urgency=medium * Build the C-library without a packlist to make the build reproducible. -- Adrian Vondendriesch Fri, 17 Mar 2017 22:32:04 +0100 pgbackrest (1.17-1) experimental; urgency=medium * New Upstream release. See http://www.pgbackrest.org/release.html#1.17 -- Adrian Vondendriesch Tue, 14 Mar 2017 07:59:05 +0100 pgbackrest (1.16-1) experimental; urgency=medium * New Upstream release. See http://www.pgbackrest.org/release.html#1.15. -- Adrian Vondendriesch Fri, 03 Mar 2017 11:33:02 +0100 pgbackrest (1.15-1) experimental; urgency=medium * New Upstream release. * Build and ship new C-Library * Change architecture from all to any -- Adrian Vondendriesch Sat, 11 Feb 2017 21:55:21 +0100 pgbackrest (1.12-1) unstable; urgency=medium * New Upstream release. * Update rules files to clean up build files. * Run wrap-and-sort. -- Adrian Vondendriesch Thu, 15 Dec 2016 10:30:19 +0100 pgbackrest (1.11-1) unstable; urgency=medium * New Upstream release. -- Adrian Vondendriesch Fri, 18 Nov 2016 08:16:24 +0100 pgbackrest (1.10-1) unstable; urgency=medium * New Upstream release. -- Adrian Vondendriesch Thu, 10 Nov 2016 17:30:43 +0100 pgbackrest (1.09-1) unstable; urgency=medium * New Upstream release. -- Adrian Vondendriesch Tue, 11 Oct 2016 09:01:49 +0200 pgbackrest (1.08-1) unstable; urgency=medium * New Upstream releaase. -- Adrian Vondendriesch Thu, 15 Sep 2016 10:12:21 +0200 pgbackrest (1.07-1) unstable; urgency=medium * New Upstream release. -- Adrian Vondendriesch Wed, 07 Sep 2016 14:39:04 +0200 pgbackrest (1.06-1) unstable; urgency=medium * New Upstream release. -- Adrian Vondendriesch Fri, 26 Aug 2016 11:58:18 +0200 pgbackrest (1.04-2) unstable; urgency=medium * Change postinst behaviour. Only set permissions if no prior version was installed. -- Adrian Vondendriesch Tue, 02 Aug 2016 11:34:57 +0200 pgbackrest (1.04-1) unstable; urgency=medium * New upstream release. -- Adrian Vondendriesch Sat, 30 Jul 2016 16:47:25 +0200 pgbackrest (1.03-1) unstable; urgency=medium * New upstream release. -- Adrian Vondendriesch Mon, 04 Jul 2016 07:54:34 +0200 pgbackrest (1.02-2) unstable; urgency=medium * Implicit use SOURCE_DATE_EPOCH in txt2man. Remove MANDATE. * Build docs with custom variable "html-footer" to get a reproducible build. -- Adrian Vondendriesch Mon, 20 Jun 2016 14:02:52 +0200 pgbackrest (1.02-1) unstable; urgency=medium [ Adrian Vondendriesch ] * New upstream release. * Drop patches included in upstream version. * Ship manpage based on upstream template. * Change owner of pgbackrest.conf to postgres. * Change architecture from any to all. * Modify package description. * Remove PostgreSQL version from stanza example. [ Christoph Berg ] * debian/tests: Add simple "version" test. -- Adrian Vondendriesch Mon, 13 Jun 2016 13:16:50 +0200 pgbackrest (1.01-1) unstable; urgency=medium * New upstream release. * Add libdbd-pg-perl to Depends. * Add postgresql-common to Depends. * Change owner of pgbackrest directories to postgres in postinst. * Bump standards version. * Create a pgbackrest-doc package which contains the html documentation. * Ship own manage. * patches: * add upstream sprintf patch * add upstream documentation patches -- Adrian Vondendriesch Wed, 01 Jun 2016 20:57:29 +0200 pgbackrest (1.00-1) unstable; urgency=medium * New upstream release. * Rename config file from pg_backrest.conf to pgbackrest.conf. -- Adrian Vondendriesch Tue, 03 May 2016 20:48:13 +0200 pgbackrest (0.9-1) unstable; urgency=medium * Initial release -- Adrian Vondendriesch Sun, 13 Mar 2016 17:29:17 +0100