pg_probackup 2.1.2 released - Mailing list pgsql-announce
From | Grigory Smolkin |
---|---|
Subject | pg_probackup 2.1.2 released |
Date | |
Msg-id | 51a8ee7f-edd9-fda3-94ce-5ff8f4223986@postgrespro.ru Whole thread Raw |
List | pgsql-announce |
PostgreSQL Professional are proud to announce the release of pg_probackup 2.1.2. pg_probackup is a utility to manage backup and recovery of PostgreSQL database cluster. It is designed to perform periodic full and incremental page-level backups of the PostgreSQL instance that enable you to restore the server in case of a failure. Changes since 2.0.26: Portability: * Windows support is now considered stable. Installers with pg_probackup binaries for Windows are available on Download link below. Bugfixes: * On Windows "permission denied" errors were silently ignored. Because pg_probackup uses PostgreSQL code for directory access, bugfix was submitted to PostgreSQL community: https://www.postgresql.org/message-id/flat/2cad7829-8d66-e39c-b937-ac825db5203d%40postgrespro.ru. Reported by Yuri Kurenkov. * Path to PGDATA was not canonicalized. On Windows this could lead to producing empty backups. Reported by Yuri Kurenkov. * Previously `archive-push` command did not use O_EXCL flag when creating ".partial" file. In rare case of two PostgreSQL instances concurrently pushing the same WAL segment it could lead to corruption of pushed WAL segment. * Usage of parent link in `merge`, `restore` and `backup` commands instead of time sorting makes incremental chains more robust to time lapses and other anomalies. * Now after successful `merge`attribute "program_version" of the target backup is updated, CRC of a unchanged files are recalculated and WAL mode of parent backup is inherited from parent. * Changing backup metadata is now atomic. * Backups with missing or emtpy ".control" files can now be deleted via `delete` command. * Now handling of empty or containing garbage ".rotation" files is more lenient, WARNING is issued now instead of ERROR. * Now during backup for PG >= 10 skipped directory directory "log" instead on "pg_log". As previously this behavior can be changed via `--backup-pg-log` flag. * Disappeared during backup files were marked as 'not changed', now they just evicted from file list. Improvements: * Remote backup and restore using SSH. It uses an operation model when backup catalog is located on local machine, while PostgreSQL is located on remote machine, the only exceptions are archive-push and archive-get commands which are always launched from database server side. For remote mode to work a local ssh binary is used. Currently remote operations are not supported on Windows, but work on it is in progress. Can be used via new options: `--remote-proto`, `--remote-host`, `--remote-port`, `--remote-user`, `--remote-path` and `--ssh-options`. All `--remote-*` and `--ssh-*` options can be used with `add-instance`, `set-config`, `backup`, `restore`, `archive-push` and `archive-get` commands. * Merge partially-expired incremental chains during backups retention purge. This is the analog of Oracle 'Incrementally Updated Backups' feature. Can be used via `--merge-expired` flag for `backup` and `delete` commands. Can be used only if `retention-window` policy is set. * Support of external directories via new option `--external-dirs`. It can be used for adding to backup any files and directories located outside of PGDATA, e.g. configs, logs and scripts. Flag `--skip-external-dirs` allows to skip restoring of external directories during `restore`. Also during `restore` external directories can be remapped via `--external-mapping` option. * New command `checkdb` provides additional facilities to check PostgreSQL instance. It allows to validate all data files located in PGDATA via block checksums matching and page header sanity checks. Optionally all indexes in all databases in PostgreSQL instance can be logically verified using extensions 'amcheck' or 'amcheck_next'. New options and flags: `--amcheck`, `--skip-block-validation` and `--heapallindexed`. * New flag `--temp-slot` allows user to use temporary replication slot for STREAM backups. Default temp slot name is "pg_probackup_slot" which can be changed via `--slot` option. * Flag `--dry-run` for `delete` and `backup` commands allows to perform a trial retention purge run without any changes. * Additional support of threads by `validate` command. Now it use multiple threads defined by `-j` option for checking WAL files. * Flag `--no-validate` can now be used with `backup` command. It allows not to force validation after successful backup. * Improved speed of parsing compressed WAL segments, previously some pages were readed twice, which broke gzip optimization for sequential access. Because pg_probackup uses PostgreSQL code for WAL parsing patch was submitted to PostgreSQL community: https://www.postgresql.org/message-id/flat/2ddf4a32-517e-d6f4-d992-4a63b6035bfd%40postgrespro.ru. Reported by Alex Ignatov alexign@ozon.ru. * Now invalid backups will be deleted during retention purge, if they are not guarded by retention. * For merged backup show merge_time in "Time" column of `show` command output in plain format. * Options `--master-*` and `--replica-timeout` are deprecated. Deprecated options are still usable for the purpose of backward compatibility. * Now an absolute path to pg_probackup binary is used in restore_command option of recovery.conf file generated by `restore` command. * Options `--time`, `--xid`, `--lsn`, `--timeline` and flags `--inclusive`, `--immediate` are deprecated. New options `--recovery-target-time`, `--recovery-target-xid`, `--recovery-target-lsn`, `--recovery-target-inclusive`, `--recovery-target-timeline` and `--recovery-target` should be used instead. Deprecated options and flags are still usable for the purpose of backward compatibility. * Option `--restore-target` has two allowed values: `immediate` which is identical to deprecated flag `--immediate` and `latest` which stands for default recovery behavior - recover to the end of the all available WAL log. * Previously locking was done at instance level, because of that concurrent operations at backup-level were impossible. Now locking is done at the backup level, so different operations on different backups should not interfere with each other. * Column "Time" of `show` command output in plain format for RUNNING backups now calculated on the fly. * Attribute "START LSN" of backup now written to backup meta right after start of the backup, not at the end of the backup. It will be needed for a future `resume` feature. Download -------- https://github.com/postgrespro/pg_probackup -- Grigory Smolkin Postgres Professional: http://www.postgrespro.com The Russian Postgres Company
pgsql-announce by date: