pgmoneta 0.16.0
This is a feature release.
- Incremental backup support for PostgreSQL 17+
- Advanced filtering for pgmoneta-walinfo
- Prometheus/HTTPS support
- Docker / podman images
- Enhancements and bug fixes
Changelog
- Allow to use CRC32C hardware implementation on arm64 (@marsam / https://github.com/pgmoneta/pgmoneta/pull/450)
- File-by-file incremental backup combine (@Jubilee101 / https://github.com/pgmoneta/pgmoneta/pull/535)
- Remove trailing spaces (@tacerus / https://github.com/pgmoneta/pgmoneta/pull/489)
- Use GET_ENV macro for environment variable (@Annupamaa / https://github.com/pgmoneta/pgmoneta/pull/506)
- Use startup packets to set server version (@jchrys / https://github.com/pgmoneta/pgmoneta/pull/509)
- [#147] Native incremental backup/restore support for PostgreSQL 17 (@Jubilee101 / https://github.com/pgmoneta/pgmoneta/pull/479)
- [#415] Implemented the translation and filtering (@Mohab96 / https://github.com/pgmoneta/pgmoneta/pull/508)
- [#419] CI: Delete after Restore (@ashu3103 / https://github.com/pgmoneta/pgmoneta/pull/461)
- [#434] Get the segment size as an optional argument (@sh-ltanpour https://github.com/pgmoneta/pgmoneta/pull/459)
- [#436] Allow file based commands to run without a server (@shikharish / https://github.com/pgmoneta/pgmoneta/pull/449)
- [#446] Fix lz4 decompress logic (@shikharish / https://github.com/pgmoneta/pgmoneta/pull/447)
- [#460] Proper error checking in master_key() (@shikharish / https://github.com/pgmoneta/pgmoneta/pull/462)
- [#475] Make config argument optional and set default configuration path (@Mohab96 / https://github.com/pgmoneta/pgmoneta/pull/476)
- [#481] Clear functionality for core APIs (@Jubilee101 / https://github.com/pgmoneta/pgmoneta/pull/482)
- [#514] Print line numbers in pgmoneta_backtrace (@silver-ymz / https://github.com/pgmoneta/pgmoneta/pull/521)
- [#517] Added pgmoneta_linux_version function to extract os kernel Ver… (@Userfrom1995 / https://github.com/pgmoneta/pgmoneta/pull/518)
- [#524] Incremental backup restore size calculation (@ashu3103 / https://github.com/pgmoneta/pgmoneta/pull/590)
- [#525] Moved users, servers and admins to common config (@Mohab96 / https://github.com/pgmoneta/pgmoneta/pull/528)
- [#525] Split configuration into main, common and walinfo (@Mohab96 / https://github.com/pgmoneta/pgmoneta/pull/527)
- [#533] Feat : Add docker support to pgmoneta (@Arshdeep54 / https://github.com/pgmoneta/pgmoneta/pull/540)
- [#538] add --sort asc|desc option to list-backup command (@dancingactor / https://github.com/pgmoneta/pgmoneta/pull/554)
- [#542][#543] Rollup backup during deletion (@Jubilee101 / https://github.com/pgmoneta/pgmoneta/pull/580)
- [#545] Make systemd optional (@Arshdeep54 / https://github.com/pgmoneta/pgmoneta/pull/546)
- [#551] Enable workers for incremental backup combine (@Jubilee101 / https://github.com/pgmoneta/pgmoneta/pull/583)
- [#555] fix: macos compatibility (@botirk38 / https://github.com/pgmoneta/pgmoneta/pull/561)
- [#557] Workers: Use Deque (@dancingactor / https://github.com/pgmoneta/pgmoneta/pull/565)
- [#566] Add freeBSD support in CI (@Arshdeep54 / https://github.com/pgmoneta/pgmoneta/pull/572)
- [#567] encrypt/compress/decrypt/decompress without config (@dancingactor / https://github.com/pgmoneta/pgmoneta/pull/570)
- [#568] Improve CI Pipeline for pgmoneta (@Userfrom1995 / https://github.com/pgmoneta/pgmoneta/pull/569)
- [#573] Add version coverage for gcc and clang debug mode (@bassamadnan / https://github.com/pgmoneta/pgmoneta/pull/594)
- [#575] file logging: support environment variables (@nesangcode / https://github.com/pgmoneta/pgmoneta/pull/576)
- [#577] fix environment variables support (@nesangcode / https://github.com/pgmoneta/pgmoneta/pull/578)
- [#581] Allow incremental backup during hotstandby (@Jubilee / https://github.com/pgmoneta/pgmoneta/pull/582)
- [#600] Build: cmake 3.31+ (@Userfrom1995 / https://github.com/pgmoneta/pgmoneta/pull/604)
- admin: support password through environment (@tacerus / https://github.com/pgmoneta/pgmoneta/pull/488)
- feat: Enhance relpath error handling and validation (@7amo10 / https://github.com/pgmoneta/pgmoneta/pull/505)
New Contributors
- @7amo10
- @Annupamaa
- @Arshdeep54
- @Mohab96
- @Userfrom1995
- @bassamadnan
- @botirk38
- @dancingactor
- @jchrys
- @marsam
- @nesangcode
- @silver-ymz
- @tacerus
Commits
- bcfd5aa User1995 [#600] Build: cmake 3.31+
- 5153d53 Dancing [#557] Workers: Use Deque
- d77cd9c jesperpedersen uncrustify
- 8159b06 jesperpedersen Switch to Eisvogel 3.1.0
- 0132cfc jesperpedersen Switch to Eisvogel 3.1.0
- 4a0f13b jesperpedersen Switch to Eisvogel 3.1.0
- cb050a5 Haoran Zhang Update documents on incremenal backup
- bf036ce jesperpedersen Move tutorial
- 8718a1e jesperpedersen Move tutorial
- fec33f9 Arshdeep54 [#533] Fix Docker builds
- 5fd7696 Shikhar Soni [#499] Add HTTPS support for prometheus metrics
- 9137666 ashu3103 [#542] Incremental backup restore size calculation
- 40b6d20 jesperpedersen [#592] Move archive functions
- 35dbb07 bassamadnan [#573] Add version coverage for gcc and clang debug mode
- f6085bf jesperpedersen [#592] Remove pgmoneta from core APIs
- bf32d7b jesperpedersen [#592] libgen
- 5576e62 jesperpedersen [#592] Includes
- 076ad5b jesperpedersen [#592] Refactor functions
- 6a35d8a Haoran Zhang [#590] Move base/final file name to static
- 97d5199 Haoran Zhang [#586] Quick fix: save a copy of old manifest during rollup
- 7a7d01f Haoran Zhang [#551] Enable workers for incremental backup combine
- 863c8b5 jesperpedersen [#584] Admin fixes
- 3e5ee4a jesperpedersen [#584] Overflow guards
- 4fb5e77 jesperpedersen [#584] Memory leak
- 503ddd8 jesperpedersen [#584] Home directory
- ab303ca jesperpedersen [#544] Fix locking on error path
- 2215987 Haoran Zhang [#581] Allow incremental backup during hotstandby
- f1cc567 Haoran Zhang [#542][#543] Rollup backup during deletion
- 3211985 nesangcode [#577] fix environment variables support
- 2718fd2 nesangcode [#575] file logging: support environment variables
- f64b4f2 Arshdeep54 [#566] Add freeBSD support in CI
- d82c5e2 jesperpedersen Revert "[#557] Workers: Use Deque"
- 0a9b3d8 Dancing [#567] encrypt/compress/decrypt/decompress without config
- bda3faf User1995 [#568] Improve CI Pipeline for pgmoneta
- f864b6e Mohab [#415] Implemented translation and filtering
- 4a68c70 Botir Khaltaev [#555] chore: improve CI workflow and code maintainability
- 7929c3c Dancing [#557] Workers: Use Deque
- f9b5f95 jesperpedersen FreeBSD fixes
- 454bb43 Mohab [#537] Optimized CRC32 to use PCLMULQDQ when available
- cb7268d jesperpedersen uncrustify
- de9ef92 Mingzhuo Yin [#514] Print line numbers in pgmoneta_backtrace
- ec344bd dancing [pgmoneta#538] add --sort asc|desc option to list-backup command
- 1bd64e2 Ahmed Ashour [#505]: Improve relpath validation and error handling
- b428ba9 jesperpedersen [#544] Redefine locking
- addef67 Haoran Zhang [#553] open wal shipping and sftp wal file when crossing boundary
- 0d4058c Haoran Zhang [#553] Skip message header when copying into remain buffer
- 39b6302 jesperpedersen [#533] Reformat
- 6203d35 Arshdeep54 [pgmoneta#533] feat:add docker support to pgmoneta
- c305dd0 Haoran Zhang [#549] Cleanup workspace after incremental backup restore
- 6fc0048 Mohab [#525] Fixed a bug in
zstd_decompress
- 2a994a4 Arshdeep54 [#545] Make systemd optional
- fc44d5c jesperpedersen [#541] Add pgmoneta_delete_server_workspace
- 72db5ed Haoran Zhang [#510] File-by-file incremental backup combine
- 9fee6a0 Haoran Zhang [#539] Relink should not work on directory symlinks
- 09371c2 jesperpedersen [#534] Free backup
- 40f2b77 jesperpedersen [#510] Always create missing directories when copy
- 6ac53ea Mohab [#530] feat/cli-parser
- 52d40cd ashu3103 [#474] tscli impl
- 2c95e21 jesperpedersen [#510] API: Process a single file
- f3c221b jesperpedersen [#510] Add WORKSPACE
- 95e4196 Ahmed Ashour Enhance WAL file validation and error handling
- 5523327 jesperpedersen Remove const
- 376a9f1 Mohab [#525] Moved users, servers and admins to common config
- 8a0041a Mohab [#525] Splitted configuration into main, common and walinfo
- 9581e46 jesperpedersen uncrustify
- a5e7186 Aryan Arora [#520]Refactor time based config options
- 6b0232c Holo-xy Fix heap buffer overflow
- 574c442 jesperpedersen [#510] Make a base struct for workers
- 7c2250f jesperpedersen [#510] Align compression
- 91c918b jesperpedersen [#510] Remove WORKSPACE
- 5516fa5 jesperpedersen [#510] Error upon missing identifier/backup
- 681a5c6 jesperpedersen [#492] Unify workflow error codes
- 40bcbb0 Haoran Zhang [#492] Refactor incremental restore with simplified workflow
- d264817 jesperpedersen Add a Release build
- 7b93b08 jesperpedersen [#517] Fix release build
- 6377448 Haoran Zhang [#519]Handle unordinary server version parsing
- 307cb56 unconventional-guy [#517] Added pgmoneta_linux_version function to extract os kernel Version and name.
- cec2bf9 jesperpedersen [#510] Add NODE_RESTORE_TYPE
- 8299e3b jesperpedersen [#510] Rename some nodes
- da56950 jesperpedersen [#512] Reset file descriptor upon error
- 2422f34 jesperpedersen [#511] Remove pidfile upon coredump_cb
- 5d77567 jesperpedersen [#510] Incremental: Use WORKSPACE_ROOT
- f446b88 jchrys [#498] Use startup packets to set server version
- d8a3079 Annupamaa Use GET_ENV macro for environment variable
- b63e983 Ahmed Ashour Improve CLI error messages for better usability
- 4a0da3d jesperpedersen Move definition
- ed7778c jesperpedersen [#492] Change logging for ART and deque
- 0fc0ca6 jesperpedersen [#492] Better debug of ART interactions
- 876de58 Haoran Zhang [#467] Ref types shouldn't make copy since they don't do free
- 5dec0fd Haoran Zhang [#492] Log value type before insert at DEBUG mode
- da2e286 jesperpedersen Update email address
- 7337116 jesperpedersen [#492] Switch from deque to ART, and do common functions
- c9b515e jesperpedersen [#492] Simplify workflow
- c00e945 jesperpedersen [#492] Simplify workflow
- 1d8752f Haoran Zhang [#496] Simplify ART API signatures
- 729528f Haoran Zhang [#470] Index out of range check should be inclusive
- e7ff44f Haoran Zhang [#486] ART iterator remove
- 88f309c Haoran Zhang Text format should still have separating space if values are on the same line
- 14140ea Georg Pfuetzenreuter Remove trailing whitespaces
- e6c186c Georg Pfuetzenreuter admin: support password through environment
- f5008c8 Ashutosh [#438] Allow -s and -l combined filtering in walinfo
- a95de88 jesperpedersen [#483] CLI: Clear response when an error occurs
- 0a9bddf Haoran Zhang [#481] Clear functionality for core APIs
- 01a3408 jesperpedersen [#147] Fix relink directory handling
- 2ded823 Haoran Zhang [#147] Native incremental backup/restore support for PostgreSQL 17
- eb2ad5f jesperpedersen [#472] Move pgmoneta_exists() check up one level
- 687ee8f jesperpedersen Lower to trace
- 83ef376 Haoran Zhang [#472] do_link should not complain when file doesn't exist
- 3c64bd8 jesperpedersen [#477] Backup: Cleanup upon error
- 071689d jesperpedersen Lower to TRACE
- a3fd53b jesperpedersen [#472] Check if file exists
- 6b99303 jesperpedersen [#472] Guard workers
- d723f85 Mohab [#475] Make config argument optional in walinfo.c
- 35698eb jesperpedersen [#473] Limit number of workers
- 3704e84 jesperpedersen [#473] Limit number of workers
- 8fd02e3 jesperpedersen [#472] Don't start restore unless there is room
- 246daca jesperpedersen [#147] Add workspace configuration
- 7f18392 jesperpedersen [#471] Exclude backup_label and backup_manifest from linking
- b43b256 Haoran Zhang [#470] Return early if depth out of key range in ART delete/search
- e1fce3e Haoran Zhang [#469] Only link files when they are changed or added
- 2056b33 jesperpedersen Always remove uncrustify file
- a88cb4b Ashutosh Sharma [#419] CI: Delete after Restore
- 2dc2764 Annupamaa Adding support for MacOS build
- 87d02a6 jesperpedersen uncrustify
- 1d55367 Haoran Zhang [#467] Ref types should have the same to_string cb
- ba6580d Haoran Zhang [#468] add iterator_has_next
- ff194c7 Haoran Zhang [#467] Reference types for existing values
- d9fef0f jesperpedersen [#466] Reset keep_write, and only count valid responses
- 36c21eb jesperpedersen [#466] Send DEFAULT_BUFFER_SIZE at max
- 264f35f jesperpedersen [#465] log_rotation_age parsed incorrectly
- 222ef61 jesperpedersen [#464] Typo in backup struct
- c6ad912 Shikhar Soni [#460] Proper error checking in master_key()
- fb6f199 jesperpedersen NULL after fclose()
- cc0043f jesperpedersen Cbhange typecase for read_XYZ
- 788f7b4 jesperpedersen Disable ASAN on aarch64
- c57c307 Shikhar Soni [#456] Add -F/--format flag for pgmoneta-admin
- 949295e sh-soltanpour [#434] Calculate the WAL segment size
- db9025d jesperpedersen [#457] Missing cleanups for main errors
- 2f6bf60 jesperpedersen .partial: WARN -> INFO
- 586d2e3 jesperpedersen Increase sport to 6
- 646ad2d Haoran Zhang [#454] Minor API adjustments
- 693ae78 Haoran Zhang [#455] JSON remove by key
- 3de34a6 Haoran Zhang [#454] Read/write json from/to disk
- 82ea904 jesperpedersen Check readlink()
- 48b960f jesperpedersen [#453] Offline: Compression, encryption and retention
- 5ca10c1 jesperpedersen uncrustify
- 9116aaf jesperpedersen [#448] cli: compress -C bz2 causes stack overflow
- 36aaa8d jesperpedersen Remove trace
- fa2a214 Shikhar Soni [#436] Allow file based commands to run without a server
- 2f170a9 Haoran Zhang [#452] Deque peek/poll last
- afc86fd Mario Rodas [#451] Allow to use CRC32C hardware implementation on arm64
- a1dc9f6 Shikhar Soni [#446] Fix lz4 decompress logic
- 0097399 jesperpedersen Copyright 2024->2025
- 04c7adf Haoran Zhang [#443] allow symlinks in recursive decompression and decryption
- fcb69c1 Shikhar [#423] Add metrics for time and speed of each step of backup workflow
- 6608f0e jesperpedersen Add bzip2
- f311c42 Haoran Zhang [#147] remove_suffix should return a copy when no provided suffix is found
- 9914681 jesperpedersen [#441] restore: Memory leak
- 54a07b3 jesperpedersen [#147] Add summarize_wal
- e27e6e7 jesperpedersen [#440] walinfo: configuration -> config
- 3491126 jesperpedersen Include latest stable branch in testing
- 9853747 jesperpedersen [#439] Retain vs explicit delete
- 1baed55 Haoran Zhang [#147] Fetch block and segment size from server
- ab234f1 Haoran Zhang [#147] Exclude manifest from compression
- 3ff083c jesperpedersen Next is 0.16.0
Download
- Source code
- Advanced guide
- User guide
- Developer guide
- RPM for Fedora 41/42, RHEL 9.x and Rocky 9.x