mirror of
https://github.com/postgrespro/pg_probackup.git
synced 2025-01-07 13:40:17 +02:00
ba8410686b
- 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. |
||
---|---|---|
.. | ||
expected | ||
helpers | ||
__init__.py | ||
archive.py | ||
auth_test.py | ||
backup_test.py | ||
cfs_backup.py | ||
cfs_restore.py | ||
cfs_validate_backup.py | ||
compatibility.py | ||
compression.py | ||
delete_test.py | ||
delta.py | ||
exclude.py | ||
false_positive.py | ||
init_test.py | ||
locking.py | ||
logging.py | ||
merge.py | ||
option_test.py | ||
page.py | ||
pgpro560.py | ||
pgpro589.py | ||
pgpro2068.py | ||
ptrack.py | ||
Readme.md | ||
remote.py | ||
replica.py | ||
restore_test.py | ||
retention_test.py | ||
show_test.py | ||
snapfs.py | ||
time_stamp.py | ||
validate_test.py |
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]