Migrating production infrastructure? Get up to ₹10,000 in migration credits. Apply now
voroaDocs
Voroa Postgres

Repacking tables: reclaiming space in PostgreSQL

Why a PostgreSQL table keeps on growing even after you delete rows, what repacking does about that, and what you can do about bloat on Voroa right now.

What this covers

PostgreSQL does not free space when you delete or update a row. The old version is marked dead and the space is reused later for new rows in the same table, which means a table that has churned heavily stays large on disk even though it holds few live rows. This is called bloat, and it costs you both storage and query speed, because scans still read the empty space. Repacking rewrites the table compactly and hands the space back, ideally without locking the table for the whole operation.

A managed repack operation is not available on Voroa today. You can still reduce bloat yourself by running PostgreSQL’s own maintenance commands over a connection, keeping in mind that the command which fully reclaims space takes a lock on the table while it runs.

What you can do today

Last updated August 13, 2026