---
title: "Postgres 19's built-in bloat cleanup"
publication: "Postgres Weekly"
issue: 672
published_at: "2026-11-04"
canonical_url: "https://postgresweekly.com/issues/672"
---

Plus getting rid of a 4TB table, why connections close 'unexpectedly', and pgModeler's biggest release ever.        

#​672 — November 4, 2026 

[Web Version](https://postgresweekly.com/issues/672)  

Together with [![EDB Postgres AI\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,e_trim,w_1280,h_320/e_make_transparent/co_white,e_outline:37/icdh8kliebaqxnyq5k88.png)](https://www.enterprisedb.com/)   

Postgres Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/fuijuqlp9k2pt4psbneg.jpg)](https://www.snowflake.com/en/blog/engineering/postgres-19-repack-table-bloat/)  

[Postgres 19's `REPACK`: Built-In, Online Bloat Cleanup](https://www.snowflake.com/en/blog/engineering/postgres-19-repack-table-bloat/) — Craig's favorite new Postgres feature is the one he thinks DBAs will care about most. `REPACK` folds `VACUUM FULL` and `CLUSTER` into one command and adds a `CONCURRENTLY` mode that keeps the table readable and writable, using logical decoding (a la [`pg_squeeze`](https://www.cybertec-postgresql.com/en/products/pg_squeeze/)). He digs into its benefits and how to use it here. 

Craig Kerstiens (Snowflake)  

⭐ **Postgres 19 remains on track for November 19**, with RC2 due on November 12. [Jonathan Katz has posted the draft press release](https://www.postgresql.org/message-id/flat/bbd2c757-8ad7-4dde-9769-a19c3c99a488%40postgresql.org) for review, and the [draft release notes](https://www.postgresql.org/docs/19/release-19.html) continue to expand.  [![\](https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/e3350811.png)](https://www.enterprisedb.com/resources/webinar/click-checkout-sub-second-personalization-one-lakehouse?utm_source=affiliate_network&utm_medium=paid&utm_campaign=pt_ww_vcop_red-hat-webinar-tpar-20261103) 

[Sub-Second Personalization on One Lakehouse](https://www.enterprisedb.com/resources/webinar/click-checkout-sub-second-personalization-one-lakehouse?utm_source=affiliate_network&utm_medium=paid&utm_campaign=pt_ww_vcop_red-hat-webinar-tpar-20261103) — Live demo: See how EDB Postgres AI delivers sub-second next-best-action on one copy of data in Apache Iceberg. Postgres, WarehousePG and ClickHouse share one catalog, with no pipelines between engines. [Watch the demo](https://www.enterprisedb.com/resources/webinar/click-checkout-sub-second-personalization-one-lakehouse?utm_source=affiliate_network&utm_medium=paid&utm_campaign=pt_ww_vcop_red-hat-webinar-tpar-20261103). 

EDB sponsor   

[Getting Rid of a 4 Terabyte Table Efficiently](https://boringsql.com/posts/delete-4tb/) — How do you get rid of a 4 TB table on a primary with ten replicas with as little impact as possible? Radim compares the obvious `DROP TABLE` approach against batch deletes and a copy-and-swap, with the measured pros and cons of each. 

Radim Marek  

💡 In a similar vein, NexHealth has written up [how they moved 4 TB _out_ of a live Postgres database](https://www.nexhealth.com/resources/moving-4-tb-out-of-a-live-postgres-database-with-zero-downtime) into its own Aurora cluster with no downtime.  

**IN BRIEF:** 

- Want to ease into contributing to Postgres? Paul Jungwirth is running a [patch review workshop](https://www.postgresql.org/message-id/flat/CA%2BrenyUQj%3DOReb%2BuaN0-k6BjxrY6bxbDzdFpN-G5mCxGe0G5tg%40mail.gmail.com) where small teams will get to review a patch, with committers like Robert Haas critiquing the reviews. You can [sign up here](https://forms.gle/iZzvnR4jbkLf6God6).
- 🏴󠁧󠁢󠁳󠁣󠁴󠁿 Jimmy Angelakos [recaps October's _Postgres Edinburgh_ meetup](https://vyruss.org/blog/postgres-edinburgh-october-2026-meetup-recap.html), where Elizabeth Christensen covered what's new in Postgres 18 and 19.
- Supabase has opened a [public beta of OrioleDB](https://supabase.com/blog/orioledb-public-beta) and a [private alpha of Multigres](https://supabase.com/blog/multigres-private-alpha). OrioleDB's alternative Postgres storage engine needs no `VACUUM`, but it's not production-ready yet.
- [CloudNativePG is now a CNCF 'incubating' project](https://www.gabrielebartolini.it/articles/2026/11/cloudnativepg-reaches-cncf-incubation-another-rung-on-the-ladder/). Gabriele Bartolini tells the project's story from its 2019 start at 2ndQuadrant to ~247 million operator downloads today.   

[Burnt TOAST: Why DBAs Dread Large Text Columns](https://www.pgedge.com/blog/burnt-toast) — A tour of how Postgres stores oversized column values, with benchmarks showing why keeping the heap small can speed up scans and updates that leave those values untouched, and why fetching them can still be expensive. 

Shaun Thomas (pgEdge)  

💡 Sticking to the TOAST theme, Franck Pachot ponders: [do TOAST's compression and out-of-line thresholds suit](https://dev.to/franckpachot/postgresql-document-compression-toast-thresholds-storage-policies-and-page-size-oh4) typical JSONB document sizes?  

[`'server closed the connection unexpectedly'` Explained and Measured](https://now-next.nl/en/insights/postgresql-server-closed-the-connection-unexpectedly/) — Chris reproduces connection failures across six clients on Postgres 13, 15, 17 and 18, showing why the same failure produces different diagnostics, and why a lost connection during a `COMMIT` can leave the outcome uncertain. 

Chris van Eijk   

📄 [Logical Replication Beyond One Writer](https://tapoueh.org/blog/2026/11/postgres-logical-replication-beyond-one-writer/) – A walkthrough of building multi-region replication, testing failover and handling schema changes, with a runnable Docker lab. Dimitri Fontaine 

📊 [Benchmarking Vector Search in Six Database Engines](https://www.percona.com/blog/benchmarking-vector-search-in-six-database-engines/) – Postgres and pgvector go up against MongoDB, MariaDB, AliSQL and Valkey. Evgeniy Patlan (Percona) 

📄 [How Replication Slots Can Fill Your Disk](https://techcommunity.microsoft.com/t5/microsoft-blog-for-postgresql/the-invisible-storage-leak-how-replication-slots-can-fill-azure/ba-p/4565392) Anugya Sinha (Microsoft) 

📄 [How Real is 'Autonomous Postgres'?](https://vibhorkumar.wordpress.com/2026/11/02/autonomous-postgres-at-pgconf-eu-2026-from-scripts-to-self-driving-and-the-primitives-in-between/) Vibhor Kumar (EDB)       

📰 Classifieds   

📺 [New 4-hour freeCodeCamp course](https://www.youtube.com/watch?v=gYTA8nQN030): Watch a 1.6-second Postgres query drop to 10 ms with TimescaleDB continuous aggregates.      

**RELEASES AND CODE:**   

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/okrdnkb2yf4sxr0mofwq.jpg)](https://github.com/nullptrlabs/pgmodeler/releases/tag/v2.0.0)  

- [pgModeler 2.0](https://pgmodeler.io/blog/2026/10/30/pgmodeler-200-the-biggest-release-in-the-history-of-the-project) _(above)_ – Billed as _"the biggest release in the history of the project"_, the database modelling tool gets a multi-scene canvas and Postgres 18 support, but moves import, diff and SQL execution to a paid 'Plus' edition.
- [Melange](https://melange.sh/) – Compiles Zanzibar-style, relationship-based authorization from [OpenFGA](https://openfga.dev/) models into PL/pgSQL functions, so a permission check is just a `SELECT check_permission(...)` away, with no separate service or store.
- 🌐 [PostGIS 3.7.0](https://postgis.net/2026/10/PostGIS-3.7.0/) – The geospatial extension (now targeting Postgres 19) adds coverage edges, Float16 rasters and faster `ST_DWithin`. Postgres 12/13 support is dropped, and the geocoder and address standardizer move to separate repos.
- 🔒 [PostgreSQL Anonymizer 3.3](https://www.postgresql.org/about/news/postgresql-anonymizer-33-major-security-update-3423/) – Dalibo's data-masking extension fixes 12 vulnerabilities and existing users are urged to upgrade.
- 🔒 [pgAdmin 4 v9.19](https://www.pgadmin.org/docs/pgadmin4/9.19/release_notes_9_19.html) – Fixes 15 CVEs. Server-mode users should upgrade, setting two new admin allowlists first.
- [Postgres.js 4.0](https://github.com/porsager/postgres/releases/tag/v4.0.0) – Node.js driver rewritten with a scheduler to stop slow queries blocking fast ones, SCRAM channel binding and two security fixes.
- [TimescaleDB 2.31](https://www.tigerdata.com/blog/adaptive-integer-compression-aic-in-timescaledb) – Tiger Data's time-series extension gains a new integer compressor (_off by default_ for now, but expected to be on by default in 2.32) that can make databases ~10% smaller and typical queries ~50% faster.
- [pg_duckdb 1.2.0](https://github.com/duckdb/pg_duckdb/releases/tag/v1.2.0) – The DuckDB-in-Postgres extension moves to [DuckDB 2.0](https://duckdb.org/2026/10/21/announcing-duckdb-200) and adds initial Postgres 19 support. It's _'not ready for production use'_ for now.
- [pg_lion 0.3](https://github.com/cgkanchi/pg_lion) – A bitmap-based inverted index type (inspired by [roaring bitmaps](https://vikramoberoi.com/posts/a-primer-on-roaring-bitmaps-what-they-are-and-how-they-work/), hence the name!) for faster counts, facets and `GROUP BY` on large tables.
- [Reylo 0.7](https://reylo.dev/) – Import plain `.sql` files into TypeScript with types inferred from your database. From the creator of [Zod](https://zod.dev/).    

**Got a new email?** You can [change your address here](https://postgresweekly.com/edit_subscription/*|UID|*). 

--- 

**Bored of us?** [Click here to stop getting Postgres Weekly](https://postgresweekly.com/leave/*|UID|*). 

--- 

**Got a link for us?** Reply and tell us. We can't include everything but we'll look at anything you send. _Thanks!_ 

--- 

Published by Cooper Press Ltd.
Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom 

Postgres, PostgreSQL and the Slonik Logo are trademarks or registered trademarks of the PostgreSQL Community Association of Canada. 

[Stop getting this newsletter](https://postgresweekly.com/leave/*|UID|*).
