pg_probackup 2.1.2 released

From: Grigory Smolkin <g(dot)smolkin(at)postgrespro(dot)ru>
To: pgsql-announce(at)postgresql(dot)org
Subject: pg_probackup 2.1.2 released
Date: 2019-05-20 17:20:23
Message-ID: 51a8ee7f-edd9-fda3-94ce-5ff8f4223986@postgrespro.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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(at)ozon(dot)ru(dot)
  * 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

Browse pgsql-announce by date

  From Date Subject
Next Message Jonathan S. Katz 2019-05-23 12:49:10 PostgreSQL 12 Beta 1 Released!
Previous Message David Fetter 2019-05-19 18:00:54 == PostgreSQL Weekly News - May 19, 2019 ==