Hacker News new | ask | show | jobs
by 978e4721a 2213 days ago
Is vacuumin postgres still basically means that you need downtime?
1 comments

Vacuuming is online, with some performance hit while it's underway.
The latest release has multi-threaded vacuuming so it goes much quicker these days.
Aside of auto vacuuming, there is also VACUUM FULL [1] which does an exclusive lock on the table. If you look for an alternative option for reorganizing tables in online mode, try the pg_repack extension [2].

[1] https://www.postgresql.org/docs/current/sql-vacuum.html [2] https://reorg.github.io/pg_repack/

Vacuum is online, but with a caveat iirc, it locks the table with a lock that does not block inserts/updates/reads. But if your application use exclusive locks, things can get blocked.