Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Reorganize tables in PostgreSQL databases with minimal locks
C Makefile PLpgSQL

Avoid symbol conflict causing segfault when pg_statsinfo is installed.

Control symbol visibility for functions exported in the pg_repack
shared library, to avoid symbol conflicts with other libraries,
particularly those which may be loaded via shared_preload_libraries
and use conflicting function definitions of our common pgut code,
such as pg_statsinfo.

Verified this fix on my Debian x86_64 machine with PostgreSQL 9.4 and
pg_statsinfo 3.0.2. Would be nice to test this fix on a few other
platforms such as OS X, though I had some difficulty getting
pg_statsinfo to build on OS X. Hopefully closes Issue #43, thanks
to bwtakacy for the report and demonstration of the commited fix in
latest commit 949c0ad150
@schmiddy schmiddy authored


pg_repack -- Reorganize tables in PostgreSQL databases with minimal locks

pg_repack is a PostgreSQL extension which lets you remove bloat from tables and indexes, and optionally restore the physical order of clustered indexes. Unlike CLUSTER and VACUUM FULL it works online, without holding an exclusive lock on the processed tables during processing. pg_repack is efficient to boot, with performance comparable to using CLUSTER directly.

Please check the documentation (in the doc directory or online) for installation and usage instructions.

All users of pg_reorg 1.1.9 or earlier, and pg_repack 1.2.0-beta1 or earlier, are urged to upgrade to the latest pg_repack version to fix a serious data corruption issue.

What about pg_reorg?

pg_repack is a fork of the pg_reorg project, which has proven hugely successful. Unfortunately new feature development on pg_reorg has slowed or stopped since late 2011.

pg_repack was initially released as a drop-in replacement for pg_reorg, addressing some of the shortcomings of the last pg_reorg version (such as support for PostgreSQL 9.2 and EXTENSION packaging) and known bugs.

pg_repack 1.2 introduces further new features (parallel index builds, ability to rebuild only indexes) and bugfixes. In some cases its behaviour may be different from the 1.1.x release so it shouldn't be considered a drop-in replacement: you are advised to check the documentation before upgrading from previous versions.

Something went wrong with that request. Please try again.