# Postgres Bloat Minimization

DevFeed: [Postgres Bloat Minimization](<https://devfeed.tech/articles/postgres-bloat-minimization-497.md>)

Original publisher: [Read original article](<https://supabase.com/blog/postgres-bloat>)

Author: Pavel Borisov

Published: 2024-04-26T07:00:00Z

Content type: article

Language: en

Sources: [Supabase Blog](<https://devfeed.tech/sources/supabase-blog.md>)

Topics: [Database](<https://devfeed.tech/topics/database.md>), [Transactions](<https://devfeed.tech/topics/transactions.md>), [Supabase](<https://devfeed.tech/topics/supabase.md>)

Tags: [cli](<https://devfeed.tech/tags/cli.md>), [database](<https://devfeed.tech/tags/database.md>), [filesystem](<https://devfeed.tech/tags/filesystem.md>), [locks](<https://devfeed.tech/tags/locks.md>), [postgres](<https://devfeed.tech/tags/postgres.md>), [speed](<https://devfeed.tech/tags/speed.md>), [transactions](<https://devfeed.tech/tags/transactions.md>)

## AI overview

This article explains how Postgres stores table data in heap files and how updates create multiple row versions until vacuum or autovacuum removes obsolete versions. It describes free-space and visibility maps, table bloat, aggressive vacuuming, exclusive locks, and pg_repack as an alternative for reclaiming filesystem space. It also mentions checking bloat through the Supabase CLI.

## Source excerpt

Understanding and minimizing Postgres table bloat