- Bugfix: reading of compressed WAL files was very slow, it happened because xlogreader was in habit of reading XLOG page twice, which breaks zlib optimization for sequential access. See https://commitfest.postgresql.org/22/1994 for additional info. Reported by Alex Ignatov.
- Bugfix: previously path to PGDATA was not canonicalized. On Windows this could lead to producing empty backups. Additionally during investigation another bug was found: readdir() silently ignored 'permission denied' errors. See https://www.postgresql.org/message-id/2cad7829-8d66-e39c-b937-ac825db5203d%40postgrespro.ru for additional info. Reported by Yuri Kurenkov.
- Bugfix: archive-push didn`t 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.
- Minor bugfix: disappeared during backup files were marked as 'not changed', now they just evicted from file list.
- Minor bugfix: skip 'log' directory during backup for PG >= 10. Reported by triwada.
- Improvement: previously locking was done at instance level, because of that concurrent operations were impossible, now it is done at the backup level, so restore of backup A won`t interfere with validation of backup B.
- Improvement: previously restore was relying on sort order when restoring incremental backups, now it`s relying on parent chain.
- Minor improvement: when using show command "Time" for RUNNING backups now calculated on the fly.
- Minor improvement: START LSN of backup now written to backup meta right after receiving, not at the end of the backup. It will be needed for "resume" feature.
- Bugfix: fixed undefined behaviour in case of undefined compression algorithm
- Bugfix: correctly calculate backup size after MERGE
- Bugfix: fixed MERGE of compressed and uncompressed backups
- Bugfix: remove unnecessary remaining files after MERGE
- Bugfix: consider target LSN (--lsn parameter) during validating WAL
- Improvement: check backup program_version during VALIDATE, do not support forward compatibility
- Improvement: improve Windows support
- Improvement: improve support of tablespaces within PGDATA
- Major bugfix: incorrect handling of badly compressed blocks, previously there was a risk to restore block in uncompressed state, if compressed size was equal or larger than BLCKSZ
- Impromevent: backup from replica >= 9.6 no longer need connection to master
- Workaround: wrong minRecPoint in PostgreSQL thanks to commit 8d68ee6(block from future), overwrite minRecPoint with latest applied LSN
- Impromevent: merge is now considered stable feature
- Impromevent: validation now use more conservative and paranoid approach to file validation, during validation pg_probackup also check block checksumm, make sanity check based on block header information and try to detect blocks from future
- New validate/restore options:
'--skip-block-validation' - disable aforementioned approach to file validation
- Multiple minor fixes
- Calculate checksum for backuped files using CRC-32, validate pre 2.0.22 backups using CRC-32C
- Do not backup unchanged _vm,_fsm, pg_clog, pg_multixact, etc files
- Write program-version only during backup
- Minor fixes and bug fixes
- Fix CVE-2018-1058. Use schema name explicitly in all function calls.
- Fix: Handle datafiles in directory global as datafiles.
- Fix: Do not copy ptrack files from directory global to backup anymore.
- Check if --instance is specified for VALIDATE with target parameters
- Adjust README package installation instruction.
- fix infinite loop in page validation
- fix segfault in parallel ptrack connections
- allow to use delete-wal option wihtout delete-expired(in accordance with documentation)
- allow to use pg_ptrack_get_block if it`s available and page is invalid
- help update
- testgres 1.3 support
- pglz is not thread-safe, do not allow multithread backup with pglz compression
- multiple minor fixes
- fixed race conditions in ptrack and page backups
- fixed parallel ptrack backup interruption
- added new backup state 'ORPHAN' which means that one of previous backups is corrupted
- Do not include not changed relations into the PAGE backup
- Correct procedure of obtaining backup_label and tablespace_map via SQL for exclusive backups
- Do PTRACK backups only for ptrack_version >= 1.4
- Do not include unlogged relations into the backup.
- Use exclusive backup for PTRACK backups.
- Do not throw an error if the file was truncated during backup.
- Fix password prompt interruption
- Check if the password provided by a user is empty
- Fix incremental backups: do not include into backup files, that didn't changed since previous backup.
- Add PG version into backup meta infromation