- 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
- validate file block by block by default, not only in case of file-level checksum corruption;
- add an option: --skip-block-validation to disable this behaviour;
- calculate file checksum at the same time as validate blocks;
Do not change the CRC as this makes its check senseless. Instead, read the
pg_control of vanilla to the pg_control strcucture of vanilla
(ControlFileDataOriginal) and print its values as is done in vanilla.
Thanks to Arthur Zakirov for reporting this.
Also: fix checking of byte ordering mismatch of pg_control in pg_probackup.
- remove outdated comment about ptrack
- stop compatibility tests from launching two times
- make test_tablespace_in_pgdata_pgpro_1376 clean up after itself
- 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
Using CRC-32C to calculate checksum of pg_control gives same value for different backups.
It might be because pg_control stores its content plus checksum of the content.