mirror of
https://github.com/postgrespro/pg_probackup.git
synced 2025-03-04 15:51:29 +02:00
- 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.
Note: For now there are tests only for Linix
Check physical correctness of restored instances:
Apply this patch to disable HINT BITS: https://gist.github.com/gsmol/2bb34fd3ba31984369a72cc1c27a36b6
export PG_PROBACKUP_PARANOIA=ON
Check archive compression:
export ARCHIVE_COMPRESSION=ON
Enable compatibility tests:
export PGPROBACKUPBIN_OLD=/path/to/previous_version_pg_probackup_binary
Specify path to pg_probackup binary file. By default tests use <Path to Git repository>/pg_probackup/
export PGPROBACKUPBIN=<path to pg_probackup>
Usage:
pip install testgres
pip install psycopg2
export PG_CONFIG=/path/to/pg_config
python -m unittest [-v] tests[.specific_module][.class.test]