- Fixed the quotation bug for indexes with names containing whitespaces (thanks to Rafał Fitt)
- Fixed the non working statement timeout in the reindexing process
- Made it use
DROP INDEX CONCURRENTLY
if version is>=9.2
- Fixed the randomness of the SET statements order in database adapters
- Made it to process TOAST tables and indexes providing bloat information and rebuilding instructions
- Set an additional protection against the "incorrect result of cleaning" error
- Fixed the dependency check leading to the inability to re-index some primary keys
- Turned off statement timeouts for
pgcompact
's sessions - Increased the
psql
response timeout to 10 hours - Removed the necessity to set
PERL5LIB
(thanks to Hubert "depesz" Lubaczewski) - Fixed the completion check leading to unfinished processing in some cases
- Made the re-indexation process more lock-friendly by getting rid of long waiting for exclusive locks
- Added usage examples to the
--help
output - Got rid of hard-coded connection parameters (thanks to Hubert "depesz" Lubaczewski)
- Allowed processing of the
postgres
andtemplate1
databases - Resolved the several simultaneously running instances collisions issue (thanks to Gonzalo Gil)
Note that pgcompactor
was renamed to pgcompact
.
- Set
lc_messages
toC
to simplify message processing - Renamed
pgcompactor
to pgcompact - Fixed the
lc_messages
invalid value issue - Reviewed documentation and licensing info
- Added a short list of
pgcompact
's abilities - Fixed the
$prog_name
in concatenation error - Added an experimental feature of compacting system catalog
- Excluded
pg_catalog.pg_index
from compacting list - Fixed wrong initial index size reporting after reindexing
- Fixed
psql
error trapping and adjusted error reporting - Improved the error processing in database adapters
- Reviewed the
pgcompact
's man - Adapted to comply with
GitHub
- Added future plans
- Refactored information files,
PgToolkit
is released under the PostgreSQL License now - Improved error messages, help hints and options' warnings.
- Added
-V
(--version
) functionality - Fixed the bug with storage parameters on tables and indexes
- Removed useless information from compacting results
- Added bloat information to the messages about reindex impossibility
- Made sizes pretty printed (kB, MB, GB, TB)
- Moved skipping messages to the
INFO
level - Fixed the infinity loop on the size change check bug
- Fixed the bug when reindex is skipped if table was not compacted but will be skipped the next round
- Fixed the bug of reindexing when
--dry-run
is specified - Optimized the pgstattuple based bloat calculation
- Refactored autonomous scripts building facilities, now the scripts
are available straight from the
fatpack
directory - Fixed the error when 0 or 1 pages left
- Fix the silent
--man
and--help
problem - Separated completion statistics and warnings
- Added a basic processing of the cases with tables/indexes deletion in the process of compacting
- Fixed the reindex syntax and added a comment with database name
- Fixed the partial indexes reindexing
- Increased verbosity on connection errors (thanks to Rural Hunter).
- Made it use
.pgpass
and environment variables (thanks to Rural Hunter) - Refactored the psql adapter to bidirectional communication what increased processing speed dramatically
- Got rid of the final exception in the cleaning stored function (thanks to Lonni Friedman).
- Added reindexing when table is skipped and
pgstattuple
installed - Fixed wrong
fillfactor
calculation for tables and indexes - Added the minimum pages restriction for indexes
- Added a check of base restrictions after processing
- Added a
session_replication_role
check in the cleaning function - Made reindexing of non
btree
indexes only when--force
is specified - Refactored the index dependencies check to not rebuild indexes that require heavy locks
- Solved the
psql
adapter quietness problem (thanks toe.sergey
for the bug report).
- Fixed the error when
-d
and/or-t
are specified - Fixed the bug with conforming strings
- Fixed the unicode name index altering bug
- Fixed the error output recognition in the psql adapter
- Prevented processing from interupting after deadlocks
- Fixed the "can not get bloat statistics" warning on empty tables
- Disabled printing incomplete statistics if table is processed
- Set
synchronous_commit
to off andsession_replication_role
to replica on the database level.
Take into consideration the new name of the tool.
- Renamed
pg_compactor
tool topgcompactor
- Added
--dry-run
- Added fillfactor to all the statistics calculations
- Fixed the reindex duration bug
- Got rid of the schema as a middle level
- Tables are sorted by size inside their database
- Added the ability of reindexing internal indexes like
PRIMARY KEY
andUNIQUE
- Added the reindexing necessity check based on the
pgstattuple
statistics - A lot of minor changes.
- Reworked reindex to be performed in any case when a table has been compacted or it has not (after the last iteration)
- Fixed the query for testing "always" and "replica" triggers
- Refactored the logic of bloat statistics to lower the amount of
heavy
pgstattuple
calls - Fixed the final statistics
- Added bloat statistics requests duration.
- Refactored out useless resource consuming
pgstattuple
calls - Added
DEBUG0
andDEBUG1
logging levels and applied to SQL queries logging - Turned off server side prepares for
DBI
drivers - Made some minor changes.