pg_auto_reindexer v1.4 for PostgreSQL, a tool designed to automatically identify and reindex bloated B-tree indexes while ensuring minimal locking, has been released. This capability is essential as indexes build up over time due to ongoing updates, deletions, and insertions, resulting in higher disk usage, reduced read efficiency, and a decline in database performance. The release encompasses significant code refactoring, bug resolution, and the introduction of the new "--jobs" option to enhance reindexing speed. The update includes enhancements to maintenance window management for overnight times and introduces a -jobs option to facilitate quicker reindexing.
pg_auto_reindexer v1.4
pg_auto_reindexer automatically detects and reindexes bloated B-tree indexes with minimal locking. For PostgreSQL versions 11 and earlier, it uses pg_repack; for PostgreSQL 12 and later, it uses REINDEX CONCURRENTLY.
Why do I need index maintenance?Over time, PostgreSQL indexes are prone to bloat. This occurs because updates, deletes, and inserts happen continuously, while concurrent transactions may still hold snapshots of old data. As a result, empty and unused pages accumulate inside the indexes, causing them to grow unnecessarily large. This leads to increased disk usage, slower read operations, and gradual degradation of overall database performance.Regular monitoring of index health and timely reindexing are essential to keep your database running efficiently and to prevent performance issues from growing unnoticed. New in version 1.4This release includes major code refactoring, bugfixes, and introduces the new
--jobs
option to control the number of parallel workers for faster reindexing.What's Changed
- Fix the shebang line for systems which do not have bash in /bin by @ivan in #8
- Fix
FATAL: database "Timing" does not exist
when there is a.psqlrc
containing\timing
. by @ivan in #9- Fix Shell linter warnings by @vitabaks in #10
- Disable failed_reindex_limit by default by @vitabaks in #11
- Code refactoring by @vitabaks in #12
- Fix maintenance window handling for overnight time ranges by @vitabaks in #13
- Add –jobs option to control parallel workers for reindexing by @vitabaks in #14
New Contributors
Full Changelog: v1.3...v1.4