Tags: postgrespro/ptrack
Tags
Release 2.2.0 TL;DR Since version 2.2 we use a different algorithm for tracking changed pages. Thus, data recorded in the `ptrack.map` using pre 2.2 versions of `ptrack` is incompatible with newer versions. After extension upgrade and server restart old `ptrack.map` will be discarded with `WARNING` and initialized from the scratch. * `ptrack` now uses two slots to record page change information. It helps significantly reduce number of false positives with the same `ptrack.map_size`. See #5 for details. Many thanks to @funny-falcon for ideas, theory and review! * `ptrack_get_pagemapset()` now also displays a number of changed blocks per file. * Added `ptrack_get_change_stat(start_lsn pg_lsn)` that can desplay statistic of changes (number of files, pages and size in MB) since specified `start_lsn`.
Release 2.1.0 Both `ptrack` engine and public SQL API are now inside extension. Only certain required hooks have been left as a PostgreSQL core . Also many things have changed since 2.0.0: * Fixed many compatibility bugs: alignment issues with atomics usage on Win32, with atomics simulation via spinlocks. * Added versioning into the `ptrack` map. * Added automated standalone testing with `pg_probackup` via travis-ci in different modes, including a 'legacy' mode, i.e. with `EXEC_BACKEND` and `--disable-atomics`. * Removed `pg_ptrack_get_block`.
Ptrack is a fast block-level incremental backup engine for PostgreSQL. Currently `ptrack` codebase is split approximately 50%/50% between PostgreSQL core and extension. All public SQL API methods are placed in the `ptrack` extension, while the main engine is still in core. Credits to: * Konstantin Knizhnik * Anastasia Lubennikova * Alexey Kondratov