<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Mvcc on Kuldeep Pisda</title><link>https://kdpisda.in/tag/mvcc/</link><description>Recent content in Mvcc on Kuldeep Pisda</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sun, 27 Sep 2026 09:00:00 +0530</lastBuildDate><atom:link href="https://kdpisda.in/tag/mvcc/index.xml" rel="self" type="application/rss+xml"/><item><title>Postgres 19's New REPACK Command Can Make pg_dump Silently Skip a Table</title><link>https://kdpisda.in/postgres-19-repack-concurrently-mvcc-pg-dump/</link><pubDate>Sun, 27 Sep 2026 09:00:00 +0530</pubDate><guid>https://kdpisda.in/postgres-19-repack-concurrently-mvcc-pg-dump/</guid><description>&lt;p&gt;PostgreSQL 19 Beta 4 shipped on September 24 with REPACK, a new SQL command that reclaims table bloat and reorganizes storage in place, folding VACUUM FULL and CLUSTER into one command.[1] The version anyone actually wants is &lt;code&gt;REPACK (CONCURRENTLY) tablename&lt;/code&gt;: it rewrites a bloated table without taking the table offline, something Postgres core has never done and that the community has covered for years with the &lt;code&gt;pg_repack&lt;/code&gt; extension. Nine days after the beta shipped, a bug report on the pgsql-hackers mailing list showed the sharpest edge of that feature: run &lt;code&gt;pg_dump&lt;/code&gt; while a &lt;code&gt;REPACK CONCURRENTLY&lt;/code&gt; is mid-flight, and &lt;code&gt;pg_dump&lt;/code&gt; can exit successfully having written a backup file where the target table has a &lt;code&gt;COPY&lt;/code&gt; header and zero data rows.[2] The table has 1,000 rows. The dump has none. Nothing in the exit code says so.&lt;/p&gt;</description></item></channel></rss>