<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Postgres Weekly</title>
    <description>A weekly email roundup of Postgres news and articles</description>
    <link>https://postgresweekly.com/</link>
    <item>
      <title>Postgres 19's bumpy road to release</title>
      <link>https://postgresweekly.com/issues/666</link>
      <description>

  

    
    
    
  




&lt;table border=0 cellpadding=0 cellspacing=0 align="center" border="0"&gt;
  &lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em;"&gt;
  &lt;div&gt;    
    &lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;
&lt;td align="left" style="padding-left: 4px; font-size: 15px; line-height: 1.48em;"&gt;&lt;p&gt;#​666 — September 23, 2026&lt;/p&gt;&lt;/td&gt;
&lt;td align="right" style="padding-right: 4px; font-size: 15px; line-height: 1.48em;"&gt;&lt;p&gt;&lt;a href="https://postgresweekly.com/link/190723/rss" style=" color: #0088bb;"&gt;Web Version&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    
    &lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0 12px;"&gt;&lt;p&gt;Postgres Weekly&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr style="line-height: 1.0em;"&gt;&lt;td style="font-size: 15px; line-height: 1.0em;"&gt;
  &lt;a href="https://postgresweekly.com/link/190698/rss" style=" color: #0088bb; line-height: 1.0em;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/orpeyafvjtdmeurbgwki.jpg" width="640" style="    line-height: 1.0em;    "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://postgresweekly.com/link/190698/rss" title="www.pgedge.com" style=" color: #0088bb; font-size: 1.1em; line-height: 1.4em;"&gt;Looking Forward to Postgres 19: Epilogue&lt;/a&gt;&lt;/span&gt; — Postgres 19 is having an eventful beta, with several headline features pulled and no release date. Shaun digs into why via the &lt;code&gt;pgsql-hackers&lt;/code&gt; mailing list, and suggests AI-assisted review is surfacing bugs faster than committers can handle them. For the &lt;em&gt;good&lt;/em&gt; news, Elizabeth Garrett Christensen &lt;a href="https://postgresweekly.com/link/190699/rss" style=" color: #0088bb;"&gt;lists what's still shipping&lt;/a&gt;, like parallel autovacuum and &lt;code&gt;ON CONFLICT DO SELECT&lt;/code&gt;.&lt;/p&gt;
  &lt;p&gt;Shaun Thomas (pgEdge) &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;&lt;p&gt;💡 &lt;b&gt;Beta 4 is expected tomorrow (September 24).&lt;/b&gt; &lt;a href="https://postgresweekly.com/link/190700/rss" style=" color: #0088bb; font-weight: 600;"&gt;This &lt;em&gt;draft&lt;/em&gt; release announcement&lt;/a&gt; lists the reverts, and a release candidate should follow in early October.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  &lt;a href="https://postgresweekly.com/link/190701/rss" style=" color: #0088bb;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/e12423d6.png" width="110" height="110" style="padding-top: 12px; padding-left: 12px;     line-height: 100%; "&gt;&lt;/a&gt;
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://postgresweekly.com/link/190701/rss" title="www.tigerdata.com" style=" color: #0088bb; font-size: 1.05em;"&gt;Analytics Shouldn't Mean a Second Database&lt;/a&gt;&lt;/span&gt; — A dashboard query slows as data grows, and the fix is usually a warehouse plus a pipeline: sync jobs, lag, stale copies. TimescaleDB extends the Postgres you already run, so analytics stay fast on live data. &lt;a href="https://postgresweekly.com/link/190701/rss" style=" color: #0088bb;"&gt;Get $1000 credit to start&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;Tiger Data (creators of TimescaleDB) &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #997 !important; padding: 1px 4px; "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;&lt;span style="text-transform: uppercase;    font-weight: 600; font-size: 1.3em;"&gt;In Brief&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;ul&gt;
&lt;li&gt;🔎 PlanetScale &lt;a href="https://postgresweekly.com/link/190702/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;has launched TIN&lt;/a&gt;, a fast BM25 full-text search index for Postgres. It's closed source and PlanetScale-only, though they do offer &lt;a href="https://postgresweekly.com/link/190703/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Lead&lt;/a&gt;, an open source &lt;em&gt;"slow but correct substitute"&lt;/em&gt; for testing TIN queries locally.&lt;/li&gt;
&lt;li&gt;🎧 Over on &lt;em&gt;Talking Postgres&lt;/em&gt;, Claire Giordano &lt;a href="https://postgresweekly.com/link/190704/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;spoke with Peter Eisentraut&lt;/a&gt; about his 25 years of contributing to Postgres, which began with &lt;code&gt;psql&lt;/code&gt; tab completion.&lt;/li&gt;
&lt;li&gt;🇨🇦 &lt;a href="https://postgresweekly.com/link/190705/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;PGConf.dev 2027&lt;/a&gt; takes place May 11–14 in Montréal. Registration is open. It's always popular and you can watch &lt;a href="https://postgresweekly.com/link/190706/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;📺 this year's talks here&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://postgresweekly.com/link/190707/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Google has previewed native BM25 search&lt;/a&gt; in AlloyDB and Cloud SQL, built atop the &lt;a href="https://postgresweekly.com/link/190708/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;&lt;code&gt;pg_textsearch&lt;/code&gt;&lt;/a&gt; extension.&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;&lt;span style="font-size: 1.2em;"&gt;⚙️&lt;/span&gt; &lt;span style="text-transform: uppercase;    font-weight: 600; font-size: 1.3em;"&gt;Operations &amp;amp; Performance&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr style="line-height: 1.0em;"&gt;&lt;td style="font-size: 15px; line-height: 1.0em;"&gt;
  &lt;a href="https://postgresweekly.com/link/190709/rss" style=" color: #0088bb; line-height: 1.0em;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/f967fqujsh9acwnl9qvn.jpg" width="640" style="    line-height: 1.0em;      "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://postgresweekly.com/link/190709/rss" title="www.percona.com" style=" color: #0088bb; font-size: 1.05em;"&gt;pgBackRest Compression: How Much CPU is a Smaller Backup Worth?&lt;/a&gt;&lt;/span&gt; — A benchmark of pgBackRest's compression algorithms and levels to find where extra CPU stops paying off in smaller backups. Spoiler: &lt;em&gt;"Zstandard at a low level is the sweet spot"&lt;/em&gt;.&lt;/p&gt;
  &lt;p&gt;Agustín Gallego (Percona) &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://postgresweekly.com/link/190710/rss" title="tapoueh.org" style=" color: #0088bb; font-size: 1.05em;"&gt;Ten Years of Postgres Logical Replication&lt;/a&gt;&lt;/span&gt; — A tour of what each Postgres release (from 10 to 19) added to logical replication, shown through building a multi-server write setup using only core features.&lt;/p&gt;
  &lt;p&gt;Dimitri Fontaine &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://postgresweekly.com/link/190711/rss" title="www.dbos.dev" style=" color: #0088bb; font-size: 1.05em;"&gt;When Deleting Old Rows Costs More Than the Work&lt;/a&gt;&lt;/span&gt; — Some lessons for anyone with big tables where bulk deletes can cost more than the writes. DBOS's engineers share some fixes, like replacing cascading deletes with batched deletes and running manual vacuums.&lt;/p&gt;
  &lt;p&gt;Kraft and Li (DBOS) &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;📄 &lt;a href="https://postgresweekly.com/link/190712/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Where Postgres Stores Row Locks&lt;/a&gt; – Every row lock ends up as a write to the heap page, as revealed by &lt;code&gt;pageinspect&lt;/code&gt;. &lt;cite&gt;Radim Marek&lt;/cite&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;&lt;span style="font-size: 1.2em;"&gt;🛠️&lt;/span&gt; &lt;span style="text-transform: uppercase;    font-weight: 600; font-size: 1.3em;"&gt;Tools and Releases&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr style="line-height: 1.0em;"&gt;&lt;td style="font-size: 15px; line-height: 1.0em;"&gt;
  &lt;a href="https://postgresweekly.com/link/190713/rss" style=" color: #0088bb; line-height: 1.0em;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/w0fiwim4hc6clvxcy8ra.jpg" width="640" style="    line-height: 1.0em;      "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://postgresweekly.com/link/190713/rss" title="github.com" style=" color: #0088bb; font-size: 1.05em;"&gt;pgcli 4.7: The Friendlier &lt;code&gt;psql&lt;/code&gt; Now Works in Scripts Too&lt;/a&gt;&lt;/span&gt; — A popular alternative to &lt;code&gt;psql&lt;/code&gt; for interactive work, with context-aware autocompletion, syntax highlighting, and named queries. v4.7 makes it more useful for scripting, with psql-style &lt;code&gt;-c&lt;/code&gt;, &lt;code&gt;-f&lt;/code&gt; and &lt;code&gt;-t&lt;/code&gt; flags, plus &lt;code&gt;-y&lt;/code&gt; to skip destructive command prompts.&lt;/p&gt;
  &lt;p&gt;the dbcli project &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://postgresweekly.com/link/190714/rss" title="github.com" style=" color: #0088bb; font-size: 1.05em;"&gt;pgwrh 1.0 Alpha: Read Scaling with Sharded Replicas&lt;/a&gt;&lt;/span&gt; — An experimental extension that shards a partitioned table across read replicas, with each holding only part of the data and fetching the rest from peers. Not for production!&lt;/p&gt;
  &lt;p&gt;Michał Kłeczek &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://postgresweekly.com/link/190715/rss" title="www.commandprompt.com" style=" color: #0088bb; font-size: 1.05em;"&gt;pgColumnar 1.0 Alpha 4: A Columnar Table Access Method&lt;/a&gt;&lt;/span&gt; — A columnar storage option for Postgres tables. This alpha can lay tables out along a &lt;a href="https://postgresweekly.com/link/190716/rss" style=" color: #0088bb;"&gt;Hilbert curve&lt;/a&gt;, so range filters read up to 2x fewer row groups than with Z-order.&lt;/p&gt;
  &lt;p&gt;Joshua D. Drake (Command Prompt) &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/190717/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;TimescaleDB 2.30&lt;/a&gt; – Tiger Data's time-series extension makes &lt;code&gt;ORDER BY ... LIMIT&lt;/code&gt; queries fast even on hypertables with huge numbers of chunks.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/190718/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;PostgreSQL Anonymizer 3.2&lt;/a&gt; – Dalibo's data masking extension adds faster pseudonymization functions and includes fixes for 3 critical vulnerabilities.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/190719/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;pgAdmin 4 v9.18&lt;/a&gt; – The popular Postgres management tool.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px;"&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
    &lt;p&gt;📰 Classifieds&lt;/p&gt;
  &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;🚀 Triple your Postgres productivity. &lt;a href="https://postgresweekly.com/link/190720/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;pgEdge AI DBA Workbench&lt;/a&gt;: AI monitoring &amp;amp; diagnostics for ANY Postgres v14+. &lt;a href="https://postgresweekly.com/link/190720/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Open source&lt;/a&gt;.&lt;/p&gt;
 
&lt;p&gt;🎟️ Join us at &lt;a href="https://postgresweekly.com/link/190721/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Supabase Select&lt;/a&gt; on October 2. Learn from the industry’s best builders and meet people building developer tools. &lt;a href="https://postgresweekly.com/link/190721/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Apply to attend with 25% off: SUPAWEEKLY&lt;/a&gt;.&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;&lt;span style="text-transform: uppercase;    font-weight: 600; font-size: 1.3em;"&gt;And Finally…&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr style="line-height: 1.0em;"&gt;&lt;td style="font-size: 15px; line-height: 1.0em;"&gt;
  &lt;a href="https://postgresweekly.com/link/190722/rss" style=" color: #0088bb; line-height: 1.0em;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/yp3rlgkd8o5yxbhj9l2b.jpg" width="640" style="    line-height: 1.0em;      "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;span&gt;🤖&lt;/span&gt; &lt;a href="https://postgresweekly.com/link/190722/rss" title="rohanbansal.com" style=" color: #0088bb; font-size: 1.05em;"&gt;Teaching a 4B Model to Write 81% Faster Query Plans&lt;/a&gt;&lt;/span&gt; — As a sabbatical project at the Recurse Center, a developer used reinforcement learning to train a small model to write &lt;code&gt;pg_hint_plan&lt;/code&gt; hints for join-heavy benchmark queries (and, on its best runs, it beat Postgres's own plans!). An intriguing read.&lt;/p&gt;
  &lt;p&gt;Rohan Bansal &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
     
&lt;/div&gt;
  &lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;




&lt;img src="https://postgresweekly.com/open/666/rss" width="1" height="1" /&gt;</description>
      <pubDate>Wed, 23 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://postgresweekly.com/issues/666</guid>
    </item>
    <item>
      <title>Tom Lane on threads, MVCC and 30 years of Postgres</title>
      <link>https://postgresweekly.com/issues/665</link>
      <description>

  

    
    
    
  




&lt;table border=0 cellpadding=0 cellspacing=0 align="center" border="0"&gt;
  &lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em;"&gt;
  &lt;div&gt;    
    &lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;
&lt;td align="left" style="padding-left: 4px; font-size: 15px; line-height: 1.48em;"&gt;&lt;p&gt;#​665 — September 16, 2026&lt;/p&gt;&lt;/td&gt;
&lt;td align="right" style="padding-right: 4px; font-size: 15px; line-height: 1.48em;"&gt;&lt;p&gt;&lt;a href="https://postgresweekly.com/link/190403/rss" style=" color: #0088bb;"&gt;Web Version&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    
    &lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0 12px;"&gt;&lt;p&gt;Postgres Weekly&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr style="line-height: 1.0em;"&gt;&lt;td style="font-size: 15px; line-height: 1.0em;"&gt;
  &lt;a href="https://postgresweekly.com/link/190374/rss" style=" color: #0088bb; line-height: 1.0em;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/fs6z3yph6p3jzdk4akbg.jpg" width="640" style="    line-height: 1.0em;    "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://postgresweekly.com/link/190374/rss" title="www.snowflake.com" style=" color: #0088bb; font-size: 1.1em; line-height: 1.4em;"&gt;Tom Lane on 30 Years of Postgres Architecture&lt;/a&gt;&lt;/span&gt; — The hugely prolific Postgres core team member (who also co-wrote the original PNG spec!) tackles a &lt;em&gt;lot&lt;/em&gt; here, including why Postgres uses processes rather than threads, reliability, MVCC, and how v13 was his least favorite version. There's also &lt;a href="https://postgresweekly.com/link/190375/rss" style=" color: #0088bb;"&gt;▶️ an hour-long video&lt;/a&gt; of the entire interview.&lt;/p&gt;
  &lt;p&gt;Elizabeth Garrett Christensen and Tom Lane &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  &lt;a href="https://postgresweekly.com/link/190373/rss" style=" color: #0088bb;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/9c656ab3.jpg" width="189" height="130" style="padding-top: 12px; padding-left: 12px;     line-height: 100%; "&gt;&lt;/a&gt;
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://postgresweekly.com/link/190373/rss" title="dashboard.render.com" style=" color: #0088bb; font-size: 1.05em;"&gt;Render Runs Postgres Alongside Your Apps&lt;/a&gt;&lt;/span&gt; — Spin up a production-ready Postgres database in seconds. Connect from web services, background workers, and agent workflows over a private network, all on one platform. Manage backups, scaling, and high availability without the operational overhead. &lt;a href="https://postgresweekly.com/link/190373/rss" style=" color: #0088bb;"&gt;Start free and scale from there&lt;/a&gt;.&lt;/p&gt;
  &lt;p&gt;Render &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #997 !important; padding: 1px 4px; "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://postgresweekly.com/link/190376/rss" title="planetscale.com" style=" color: #0088bb; font-size: 1.05em;"&gt;The Lifecycle of a Sharded Postgres Query&lt;/a&gt;&lt;/span&gt; — PlanetScale has &lt;a href="https://postgresweekly.com/link/190377/rss" style=" color: #0088bb;"&gt;launched Neki&lt;/a&gt;, a sharded Postgres system where a router speaks the wire protocol and plans queries across shards of standard Postgres servers. This illustrated walkthrough is the more interesting read, though.&lt;/p&gt;
  &lt;p&gt;PlanetScale Team &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;&lt;p&gt;💡 PlanetScale is &lt;a href="https://postgresweekly.com/link/190378/rss" style=" color: #0088bb; font-weight: 600;"&gt;'undecided'&lt;/a&gt; as to whether Neki will be open sourced. &lt;a href="https://postgresweekly.com/link/190379/rss" style=" color: #0088bb; font-weight: 600;"&gt;Citus&lt;/a&gt; is the established open-source distributed Postgres option, taking a more integrated extension-based approach instead.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;&lt;strong&gt;IN BRIEF:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/190380/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;postgres-contrib.org now has a submissions form&lt;/a&gt; for telling them about non-code Postgres contributions (talks, meetups, translations, reviews, mentoring). No account or email is needed.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🇨🇳 你会说中文吗？Ruohang Feng &lt;a href="https://postgresweekly.com/link/190381/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;has unveiled &lt;code&gt;pgsql.cc&lt;/code&gt;&lt;/a&gt;, a Chinese-language Postgres site with full Chinese documentation for 11 versions.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🇨🇭 &lt;a href="https://postgresweekly.com/link/190382/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;CERN PGDay 2027&lt;/a&gt; takes place on February 12, 2027 at CERN in Geneva. A &lt;a href="https://postgresweekly.com/link/190383/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;CFP is open&lt;/a&gt; until November 8.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🇪🇺 &lt;a href="https://postgresweekly.com/link/190384/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;PGConf.EU 2026&lt;/a&gt; is only a month away on October 20–22 in Valencia, Spain.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://postgresweekly.com/link/190385/rss" title="tapoueh.org" style=" color: #0088bb; font-size: 1.05em;"&gt;Plan Advice in Postgres 19&lt;/a&gt;&lt;/span&gt; — Two new modules, &lt;code&gt;pg_plan_advice&lt;/code&gt; and &lt;code&gt;pg_stash_advice&lt;/code&gt;, let you capture planner advice, selectively enforce it, and apply advice automatically by query ID. Dimitri shows off the workflow.&lt;/p&gt;
  &lt;p&gt;Dimitri Fontaine &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://postgresweekly.com/link/190386/rss" title="boringsql.com" style=" color: #0088bb; font-size: 1.05em;"&gt;The Unbearable Lightness of 'One More Index'&lt;/a&gt;&lt;/span&gt; — Adding an index to tackle a problem on a hot table can seem sensible, but the costs can quickly rack up as they accumulate. This post looks at the tradeoffs involved and how to assess them.&lt;/p&gt;
  &lt;p&gt;Radim Marek &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;span&gt;📊&lt;/span&gt; &lt;a href="https://postgresweekly.com/link/190387/rss" title="vondra.me" style=" color: #0088bb; font-size: 1.05em;"&gt;Postgres Development Activity Over 28 Years&lt;/a&gt;&lt;/span&gt; — Armed with charts, Tomas shows how the &lt;code&gt;pgsql-hackers&lt;/code&gt; list has got much busier over time, while commits and insertions/deletions have been slowly and steadily growing.&lt;/p&gt;
  &lt;p&gt;Tomas Vondra &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://postgresweekly.com/link/190388/rss" title="aws.amazon.com" style=" color: #0088bb; font-size: 1.05em;"&gt;Troubleshooting Row Lock Contention in Amazon Aurora PostgreSQL&lt;/a&gt;&lt;/span&gt; — How to trace row lock contention with built-in views, &lt;code&gt;pgrowlocks&lt;/code&gt;, and lock-wait logging. &lt;a href="https://postgresweekly.com/link/190389/rss" style=" color: #0088bb;"&gt;Part two&lt;/a&gt; covers using AWS's tooling to locate the contention, then explores ways to fix it.&lt;/p&gt;
  &lt;p&gt;Kumar and Manivasakan (Amazon) &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;📄 &lt;a href="https://postgresweekly.com/link/190390/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Optimizing Aggregates: What Can an Extension Do?&lt;/a&gt; – Using Postgres 19's new planner hook to prototype stripping a needless sort from &lt;code&gt;SUM(x ORDER BY x)&lt;/code&gt;. &lt;cite&gt;Andrei Lepikhov&lt;/cite&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px;"&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
    &lt;p&gt;📰 Classifieds&lt;/p&gt;
  &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;🎟️ Join us at &lt;a href="https://postgresweekly.com/link/190391/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Supabase Select&lt;/a&gt; and learn how we’re building the next generation operating system for Postgres with Multigres. &lt;a href="https://postgresweekly.com/link/190391/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Apply to attend with 25% off: SUPAWEEKLY&lt;/a&gt;.&lt;/p&gt;
 
&lt;p&gt;🧊 Paying SSD prices for data nobody reads? &lt;a href="https://postgresweekly.com/link/190392/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;ColdFront tiers old Postgres rows to S3 automatically&lt;/a&gt;, the open source way.&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;&lt;strong&gt;RELEASES AND CODE:&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://postgresweekly.com/link/190393/rss" title="pgrust.com" style=" color: #0088bb; font-size: 1.05em;"&gt;pgrust 0.3: A Rust Rewrite of Postgres, Now Ready to Try&lt;/a&gt;&lt;/span&gt; — A noteworthy milestone for a Rust reimplementation of Postgres that you're invited to try on real world workloads (in a non-critical environment!). &lt;a href="https://postgresweekly.com/link/190394/rss" style=" color: #0088bb;"&gt;v0.3&lt;/a&gt; now tracks Postgres 18.6 and focuses on reliability. There's also &lt;a href="https://postgresweekly.com/link/190395/rss" style=" color: #0088bb;"&gt;a browser-based demo&lt;/a&gt; so you can kick the tires without installing it. &lt;a href="https://postgresweekly.com/link/190396/rss" style=" color: #0088bb;"&gt;GitHub repo&lt;/a&gt;.&lt;/p&gt;
  &lt;p&gt;Michael Malis &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://postgresweekly.com/link/190397/rss" title="clickhouse.com" style=" color: #0088bb; font-size: 1.05em;"&gt;WalShadow: Replicating Postgres to ClickHouse from Physical WAL&lt;/a&gt;&lt;/span&gt; — A new open-source engine to replicate Postgres data into ClickHouse without logical decoding. ClickHouse reports ~200ms commit-to-visible latency.&lt;/p&gt;
  &lt;p&gt;Sai Srirampur (ClickHouse) &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://postgresweekly.com/link/190398/rss" title="blog.dalibo.com" style=" color: #0088bb; font-size: 1.05em;"&gt;PostgreSQL Migrator 1.0: Migrate Oracle and MySQL to Postgres&lt;/a&gt;&lt;/span&gt; — A single-binary tool for migrating Oracle and MySQL/MariaDB databases, with a web UI for spotting problems and fast &lt;code&gt;COPY&lt;/code&gt;-based data transfers.&lt;/p&gt;
  &lt;p&gt;Étienne Bersac (Dalibo) &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/190399/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;OrioleDB beta17&lt;/a&gt; – Supabase's alternative storage engine for Postgres adds &lt;code&gt;CREATE INDEX CONCURRENTLY&lt;/code&gt; and &lt;code&gt;REINDEX CONCURRENTLY&lt;/code&gt; for btree indexes, page checksums, and cross-major &lt;code&gt;pg_upgrade&lt;/code&gt; support.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/190400/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;pgstream 1.5&lt;/a&gt; – CDC for Postgres that replicates DDL and schema changes too.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/190401/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;PostgREST 16.3&lt;/a&gt; – Serve a fully RESTful API from any existing database.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/190402/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;pgmq 1.13.0&lt;/a&gt; – The lightweight message queue extension.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
     
&lt;/div&gt;
  &lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;




&lt;img src="https://postgresweekly.com/open/665/rss" width="1" height="1" /&gt;</description>
      <pubDate>Wed, 16 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://postgresweekly.com/issues/665</guid>
    </item>
    <item>
      <title>Postgres 19 loses SQL/PGQ (and its release date)</title>
      <link>https://postgresweekly.com/issues/664</link>
      <description>

  

    
    
    
  




&lt;table border=0 cellpadding=0 cellspacing=0 align="center" border="0"&gt;
  &lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em;"&gt;
  &lt;div&gt;    
    &lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;
&lt;td align="left" style="padding-left: 4px; font-size: 15px; line-height: 1.48em;"&gt;&lt;p&gt;#​664 — September 9, 2026&lt;/p&gt;&lt;/td&gt;
&lt;td align="right" style="padding-right: 4px; font-size: 15px; line-height: 1.48em;"&gt;&lt;p&gt;&lt;a href="https://postgresweekly.com/link/190110/rss" style=" color: #0088bb;"&gt;Web Version&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    
    &lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0 12px;"&gt;&lt;p&gt;Postgres Weekly&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr style="line-height: 1.0em;"&gt;&lt;td style="font-size: 15px; line-height: 1.0em;"&gt;
  &lt;a href="https://postgresweekly.com/link/190039/rss" style=" color: #0088bb; line-height: 1.0em;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/eqdy9a7btdaispdwx0yl.jpg" width="640" style="    line-height: 1.0em;    "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://postgresweekly.com/link/190039/rss" title="www.postgresql.org" style=" color: #0088bb; font-size: 1.1em; line-height: 1.4em;"&gt;The &lt;em&gt;Scary&lt;/em&gt; Postgres 19 Patch Contest&lt;/a&gt;&lt;/span&gt; — It’s not even Halloween yet, but in this fascinating thread on the &lt;code&gt;pgsql-hackers&lt;/code&gt; list Robert Haas set out with Claude to &lt;em&gt;“evaluate which v19 patches were the scariest”&lt;/em&gt;. One of them, &lt;a href="https://postgresweekly.com/link/190040/rss" style=" color: #0088bb;"&gt;SQL/PGQ property graphs&lt;/a&gt;, has since &lt;a href="https://postgresweekly.com/link/190041/rss" style=" color: #0088bb;"&gt;been dropped&lt;/a&gt; from v19, but five remain…&lt;/p&gt;
  &lt;p&gt;Robert Haas et al. &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;&lt;p&gt;💡 There's some &lt;a href="https://postgresweekly.com/link/190042/rss" style=" color: #0088bb; font-weight: 600;"&gt;more background to SQL/PGQ's removal&lt;/a&gt; in a separate thread on &lt;code&gt;pgsql-hackers&lt;/code&gt; too.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  &lt;a href="https://postgresweekly.com/link/190109/rss" style=" color: #0088bb;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/8a4895a1.png" width="153" height="110" style="padding-top: 12px; padding-left: 12px;     line-height: 100%; "&gt;&lt;/a&gt;
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://postgresweekly.com/link/190109/rss" title="paradedb.com" style=" color: #0088bb; font-size: 1.05em;"&gt;Coming Soon: ParadeDB Cloud&lt;/a&gt;&lt;/span&gt; — We're building a fully managed ParadeDB: one Postgres for your application data, full-text search, vector retrieval, and aggregations. &lt;a href="https://postgresweekly.com/link/190109/rss" style=" color: #0088bb;"&gt;Our early access waitlist is open now&lt;/a&gt;.&lt;/p&gt;
  &lt;p&gt;ParadeDB &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #997 !important; padding: 1px 4px; "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;&lt;strong&gt;POSTGRES 19: A FOURTH BETA AND SOME HARD CHOICES:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Originally expected later this month, Postgres 19's release date is now &lt;a href="https://postgresweekly.com/link/190043/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;officially TBD&lt;/a&gt;, with a fourth beta expected on September 24. But &lt;a href="https://postgresweekly.com/link/190039/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;the 'scary patch' thread&lt;/a&gt; &lt;em&gt;(above)&lt;/em&gt; shows that what's going to be in it remains an open question:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/190044/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Tom Lane was &lt;em&gt;"quite afraid"&lt;/em&gt; of SQL/PGQ&lt;/a&gt; two weeks before it was pulled, with fixes still under discussion that needed catalog changes: &lt;em&gt;"I'd be willing to bet dinner that if we ship it in v19 there will be post-release bug discoveries that are unfixable until v20."&lt;/em&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/190045/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;David Rowley argued&lt;/a&gt; for setting &lt;em&gt;"the revert bar a bit lower this year"&lt;/em&gt;, given a perceived reduction in developer time available. &lt;a href="https://postgresweekly.com/link/190046/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Bruce Momjian noted&lt;/a&gt; the volume of security/CVE fixes is having an impact here.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;And &lt;a href="https://postgresweekly.com/link/190047/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Joshua Drake suggested moving the release to spring 2027&lt;/a&gt;, rather than removing features: &lt;em&gt;"I would rather have a late 19 than all these great features and hard work gutted."&lt;/em&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://postgresweekly.com/link/190048/rss" title="hdombrovskaya.wordpress.com" style=" color: #0088bb; font-size: 1.05em;"&gt;How to Optimize When You Can’t Do Anything&lt;/a&gt;&lt;/span&gt; — Hettie had a production query on a 750GB, 16 billion row table that suddenly ran slow. Creating the right index wasn’t an option (it’d take over a day) but a close look at the underlying data led to an ingenious fix.&lt;/p&gt;
  &lt;p&gt;Henrietta Dombrovskaya &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;&lt;strong&gt;IN BRIEF:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;🇺🇸 &lt;a href="https://postgresweekly.com/link/190049/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;The PostgreSQL@SCaLE CFP is open&lt;/a&gt; till November 1. The Postgres track runs April 1-2 at &lt;a href="https://postgresweekly.com/link/190050/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;SCaLE 24x&lt;/a&gt; in Pasadena.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🇮🇳 &lt;a href="https://postgresweekly.com/link/190051/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;PGConf India 2027&lt;/a&gt; is back next March 2-5 in Bengaluru. &lt;a href="https://postgresweekly.com/link/190052/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;The CFP&lt;/a&gt; is open till October 15.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/190053/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Postgres's RPM repo now covers Amazon Linux 2023&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://postgresweekly.com/link/190054/rss" title="thebuild.com" style=" color: #0088bb; font-size: 1.05em;"&gt;Sixteen Locks Ought to Be Enough for Anybody&lt;/a&gt;&lt;/span&gt; — Did you know that, when planning a query, Postgres takes a (weak) lock on every index on the table whether it uses them or not? This is usually fine, but &lt;em&gt;until Postgres 18&lt;/em&gt; this could sting once a query touched more than 16 tables and indexes combined.&lt;/p&gt;
  &lt;p&gt;Christophe Pettus &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;📄 &lt;a href="https://postgresweekly.com/link/190055/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Inserting State Transitions in Postgres&lt;/a&gt; – An append-only status table gives you full history, but two concurrent transitions can both insert. Here's how to prevent the conflicts. &lt;cite&gt;Thiago Araújo Silva (thoughtbot)&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://postgresweekly.com/link/190056/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;From the Trenches: My Path Through Postgres&lt;/a&gt; – Twenty years of Postgres war stories, from a one-time MySQL advocate. &lt;cite&gt;Shaun Thomas&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://postgresweekly.com/link/190057/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Fix Circular Role Dependencies Before Upgrading RDS and Aurora Postgres&lt;/a&gt;  &lt;cite&gt;Ravi Teja Adabala (Amazon)&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://postgresweekly.com/link/190058/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Postgres Calculations and the Ambiguity of &lt;code&gt;NULL&lt;/code&gt;&lt;/a&gt;  &lt;cite&gt;Christopher Winslett (Crunchy Data)&lt;/cite&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px;"&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
    &lt;p&gt;📰 Classifieds&lt;/p&gt;
  &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;🧊 Paying SSD prices for data nobody reads? &lt;a href="https://postgresweekly.com/link/190059/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;ColdFront tiers old Postgres rows to S3 automatically&lt;/a&gt;, the open source way.&lt;/p&gt;
 
&lt;p&gt;🎟️ Join us at &lt;a href="https://postgresweekly.com/link/190060/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Supabase Select&lt;/a&gt; on October 2. Get first-hand information about what's coming soon in Supabase. &lt;a href="https://postgresweekly.com/link/190060/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Apply to attend with 25% off: SUPAWEEKLY&lt;/a&gt;.&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;&lt;strong&gt;RELEASES AND CODE:&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr style="line-height: 1.0em;"&gt;&lt;td style="font-size: 15px; line-height: 1.0em;"&gt;
  &lt;a href="https://postgresweekly.com/link/190061/rss" style=" color: #0088bb; line-height: 1.0em;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/varezths9zhsyun4zhhh.jpg" width="640" style="    line-height: 1.0em;      "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://postgresweekly.com/link/190061/rss" title="rynr.dev" style=" color: #0088bb; font-size: 1.05em;"&gt;Kafgres: A Kafka-Compatible Broker Embedded Inside Postgres&lt;/a&gt;&lt;/span&gt; — A &lt;a href="https://postgresweekly.com/link/190062/rss" style=" color: #0088bb;"&gt;pgrx&lt;/a&gt;-powered extension that serves the Kafka wire protocol from a Postgres background worker, so standard Kafka clients can produce, consume, and rebalance consumer groups against topics stored in your database.&lt;/p&gt;
  &lt;p&gt;Raynor Elgie &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://postgresweekly.com/link/190063/rss" title="clickhouse.com" style=" color: #0088bb; font-size: 1.05em;"&gt;chdb: An Extension for Fast Imports from S3, GCS and Azure&lt;/a&gt;&lt;/span&gt; — ClickHouse’s chDB engine, wrapped as an extension for bulk imports and exports. &lt;code&gt;COPY&lt;/code&gt; (or &lt;code&gt;CREATE TABLE&lt;/code&gt;) can pull Parquet, Avro, ORC, Arrow and more from S3, GCS, Azure or over HTTP. Early days, but promising.&lt;/p&gt;
  &lt;p&gt;David Wheeler (ClickHouse) &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/190064/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;pg_hardstorage 1.4&lt;/a&gt; – Featured in &lt;a href="https://postgresweekly.com/link/190111/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;issue 654&lt;/a&gt;, Cybertec's streaming-first single Go binary backup/recovery tool has continued to mature, and 1.4 is a fix-heavy release, notably for its pgBackRest, Barman and WAL-G compatibility shims.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/190065/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;Ivory 2.0&lt;/a&gt; – A web UI originally for operating HA Postgres clusters running under Patroni, but now with a plugin architecture for supporting systems like MongoDB and Redis too.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/190066/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;Barman 3.20&lt;/a&gt; – EDB's backup/recovery manager adds streaming multipart uploads to Google Cloud Storage, Zstd cloud backups, and faster compressed restores.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/190067/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;pg_cron 1.6.8&lt;/a&gt; – Adding Postgres 19 and native Windows build support.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🌐 &lt;a href="https://postgresweekly.com/link/190068/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;PostGIS 3.7.0 RC2&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
     
&lt;/div&gt;
  &lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;




&lt;img src="https://postgresweekly.com/open/664/rss" width="1" height="1" /&gt;</description>
      <pubDate>Wed, 9 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://postgresweekly.com/issues/664</guid>
    </item>
    <item>
      <title>MERGE/SPLIT PARTITION reverted again</title>
      <link>https://postgresweekly.com/issues/663</link>
      <description>

  

    
    
    
  




&lt;table border=0 cellpadding=0 cellspacing=0 align="center" border="0"&gt;
  &lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em;"&gt;
  &lt;div&gt;    
    &lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;
&lt;td align="left" style="padding-left: 4px; font-size: 15px; line-height: 1.48em;"&gt;&lt;p&gt;#​663 — September 2, 2026&lt;/p&gt;&lt;/td&gt;
&lt;td align="right" style="padding-right: 4px; font-size: 15px; line-height: 1.48em;"&gt;&lt;p&gt;&lt;a href="https://postgresweekly.com/link/189763/rss" style=" color: #0088bb;"&gt;Web Version&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
    
    &lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0 12px;"&gt;&lt;p&gt;Postgres Weekly&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr style="line-height: 1.0em;"&gt;&lt;td style="font-size: 15px; line-height: 1.0em;"&gt;
  &lt;a href="https://postgresweekly.com/link/189731/rss" style=" color: #0088bb; line-height: 1.0em;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/hfb97u0pwpy9p7faaaif.jpg" width="640" style="    line-height: 1.0em;    "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://postgresweekly.com/link/189731/rss" title="boringsql.com" style=" color: #0088bb; font-size: 1.1em; line-height: 1.4em;"&gt;Read Your Own Writes Off the Primary: &lt;code&gt;WAIT FOR&lt;/code&gt; Measured&lt;/a&gt;&lt;/span&gt; — Last week, we shared an item explaining &lt;a href="https://postgresweekly.com/link/189732/rss" style=" color: #0088bb;"&gt;what Postgres 19's &lt;code&gt;WAIT FOR&lt;/code&gt; &lt;em&gt;is&lt;/em&gt;&lt;/a&gt;. Now, Radim puts it to the test: naive replica reads were stale 992 times out of 1,000 even over loopback, but &lt;code&gt;WAIT FOR&lt;/code&gt; gets that to zero with ~1-2ms overhead.&lt;/p&gt;
  &lt;p&gt;Radim Marek &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  &lt;a href="https://postgresweekly.com/link/189730/rss" style=" color: #0088bb;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/4cbdc631.png" width="160" height="40" style="padding-top: 12px; padding-left: 12px;     line-height: 100%; "&gt;&lt;/a&gt;
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://postgresweekly.com/link/189730/rss" title="www.enterprisedb.com" style=" color: #0088bb; font-size: 1.05em;"&gt;Postgres in the Agentic Era: A Forrester Fireside&lt;/a&gt;&lt;/span&gt; — Forrester's Indranil Bandyopadhyay joins EDB's Lizzy Nguyen to unpack the multimodel data-platform market: where it's heading, what convergence unlocks, and how to map your workloads before you commit. Based on The Forrester Wave, Q2 2026.&lt;/p&gt;
  &lt;p&gt;EnterpriseDB &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;   color: #997 !important; padding: 1px 4px; "&gt;sponsor&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://postgresweekly.com/link/189733/rss" title="tapoueh.org" style=" color: #0088bb; font-size: 1.05em;"&gt;Introducing YeSQL: Practical Postgres, One Concept at a Time&lt;/a&gt;&lt;/span&gt; — 27 free SQL lessons (&lt;a href="https://postgresweekly.com/link/189734/rss" style=" color: #0088bb;"&gt;located here&lt;/a&gt;) covering things like &lt;code&gt;NULL&lt;/code&gt; semantics, window frames, &lt;code&gt;LATERAL&lt;/code&gt; joins, and reading &lt;code&gt;EXPLAIN&lt;/code&gt; results. Queries run in your browser using &lt;a href="https://postgresweekly.com/link/189735/rss" style=" color: #0088bb;"&gt;PGlite&lt;/a&gt; with no signup needed.&lt;/p&gt;
  &lt;p&gt;Dimitri Fontaine &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;&lt;strong&gt;IN BRIEF:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;⭐ &lt;a href="https://postgresweekly.com/link/189736/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Postgres 19 has dropped &lt;code&gt;ALTER TABLE … MERGE/SPLIT PARTITION(S)&lt;/code&gt;&lt;/a&gt; after &lt;a href="https://postgresweekly.com/link/189737/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;the release team requested a revert&lt;/a&gt; over unresolved design issues. It's the second time the feature has been pulled (previously in Postgres 17). Fingers crossed for Postgres 20.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Tiger Data asked several industry watchers &lt;a href="https://postgresweekly.com/link/189738/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;why a '40-year-old database' is still winning in the AI era&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;❓ So is Postgres 30 or 40? Both! &lt;a href="https://postgresweekly.com/link/189739/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;The docs' history page&lt;/a&gt; dates Berkeley's &lt;em&gt;"POSTGRES"&lt;/em&gt; to 1986, which is where Tiger's 40 comes from, while &lt;a href="https://postgresweekly.com/link/189740/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;the &lt;em&gt;30th&lt;/em&gt; birthday we noted in July&lt;/a&gt; marks when Postgres95 got its first public CVS server (essentially the start of the community-run project).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🇬🇧 &lt;a href="https://postgresweekly.com/link/189741/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;PGDay UK 2026&lt;/a&gt; takes place next week (September 8) in London. Tickets are still available.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://postgresweekly.com/link/189742/rss" title="andyatkinson.com" style=" color: #0088bb; font-size: 1.05em;"&gt;23x Faster Inserts with UUID v7 in Postgres 18&lt;/a&gt;&lt;/span&gt; — Switching to &lt;code&gt;uuidv7()&lt;/code&gt; hugely cut insert times on a billion-row table (versus the previously used v1 and v4 keys), though the &lt;code&gt;ALTER TABLE&lt;/code&gt; needed an access exclusive lock and a jittered retry loop to complete the switchover.&lt;/p&gt;
  &lt;p&gt;Andrew Atkinson &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://postgresweekly.com/link/189743/rss" title="richyen.com" style=" color: #0088bb; font-size: 1.05em;"&gt;A Look into Postgres 19's Many &lt;code&gt;pg_catalog&lt;/code&gt; Changes&lt;/a&gt;&lt;/span&gt; — &lt;code&gt;pg_catalog&lt;/code&gt; is a valuable source of information about the structure, objects, and inner workings of your database. &lt;a href="https://postgresweekly.com/link/189744/rss" style=" color: #0088bb;"&gt;pg-catalog-almanac&lt;/a&gt; lets you look at how the catalog's structure has changed over the years, and Richard has three highlights to share.&lt;/p&gt;
  &lt;p&gt;Richard Yen &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;&lt;p&gt;🤩 As of beta 3, Postgres 19 has the most &lt;code&gt;pg_catalog&lt;/code&gt; changes of any recent release, adding 12 catalogs and views plus 43 columns, so this almanac could be useful!&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://postgresweekly.com/link/189745/rss" title="www.depesz.com" style=" color: #0088bb; font-size: 1.05em;"&gt;pg_tre and pg_re2: New Options for Regexes in Postgres&lt;/a&gt;&lt;/span&gt; — Benchmarks of two new regular expression extensions against &lt;a href="https://postgresweekly.com/link/189746/rss" style=" color: #0088bb;"&gt;pg_trgm&lt;/a&gt; on a 33GB table. ClickHouse's &lt;a href="https://postgresweekly.com/link/189747/rss" style=" color: #0088bb;"&gt;pg_re2&lt;/a&gt; wins on speed, while &lt;a href="https://postgresweekly.com/link/189748/rss" style=" color: #0088bb;"&gt;pg_tre&lt;/a&gt; offers &lt;em&gt;fuzzy&lt;/em&gt; matching but took hours to index.&lt;/p&gt;
  &lt;p&gt;Hubert 'depesz' Lubaczewski &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;📄 &lt;a href="https://postgresweekly.com/link/189749/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Postgres Isn't Slow: Your Storage Is&lt;/a&gt; – Writeup of &lt;a href="https://postgresweekly.com/link/189750/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;a POSETTE 2026 talk&lt;/a&gt; on benchmarking local NVMe storage vs EBS showing how network storage's latency can compound. &lt;cite&gt;Sai Srirampur / ClickHouse&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://postgresweekly.com/link/189751/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;New System Views in Postgres 19&lt;/a&gt; – A look at &lt;code&gt;pg_stat_lock&lt;/code&gt;, &lt;code&gt;pg_stat_recovery&lt;/code&gt;, &lt;code&gt;pg_stat_autovacuum_scores&lt;/code&gt; and &lt;code&gt;pg_dsm_registry_allocations&lt;/code&gt;. &lt;cite&gt;Gülçin Yıldırım Jelínek&lt;/cite&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;&lt;strong&gt;RELEASES AND CODE:&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr style="line-height: 1.0em;"&gt;&lt;td style="font-size: 15px; line-height: 1.0em;"&gt;
  &lt;a href="https://postgresweekly.com/link/189752/rss" style=" color: #0088bb; line-height: 1.0em;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/sj8mvqfrsfjkudthhf5r.jpg" width="640" style="        line-height: 1.0em;  "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://postgresweekly.com/link/189752/rss" title="pgterm.dev" style=" color: #0088bb; font-size: 1.05em;"&gt;pgterm: &lt;code&gt;htop&lt;/code&gt; For All Your Postgres Databases&lt;/a&gt;&lt;/span&gt; — A Rust TUI with a tab per Postgres database, background health checks, and views for queries, indexes and tables. Under the hood, the diagnostics come from &lt;a href="https://postgresweekly.com/link/189753/rss" style=" color: #0088bb;"&gt;pgbot&lt;/a&gt; which we featured last week. The &lt;a href="https://postgresweekly.com/link/189754/rss" style=" color: #0088bb;"&gt;GitHub repo&lt;/a&gt; README has more info.&lt;/p&gt;
  &lt;p&gt;Alex Shapalov &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://postgresweekly.com/link/189755/rss" title="bdrouvot.github.io" style=" color: #0088bb; font-size: 1.05em;"&gt;pg_shmemviz: Visualize Postgres Shared Memory in Your Browser&lt;/a&gt;&lt;/span&gt; — Renders allocations, C struct fields, padding and raw bytes, reading DWARF from your own &lt;code&gt;postgres&lt;/code&gt; binary (dev instances only). You can diff snapshots too.&lt;/p&gt;
  &lt;p&gt;Bertrand Drouvot &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;span&gt;📊&lt;/span&gt; &lt;a href="https://postgresweekly.com/link/189756/rss" title="powa.readthedocs.io" style=" color: #0088bb; font-size: 1.05em;"&gt;PoWA (PostgreSQL Workload Analyzer) 5.3&lt;/a&gt;&lt;/span&gt; — A tool for collecting and aggregating metrics from multiple instances which can then be viewed through real-time charts to help optimize your setup. v5.3 improves Postgres 19 compatibility.&lt;/p&gt;
  &lt;p&gt;PoWA Team &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/189757/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;Doltgres 1.3&lt;/a&gt; – Version-controlled Git-like database (built on top of &lt;a href="https://postgresweekly.com/link/189758/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Dolt&lt;/a&gt;) with Postgres wire protocol support.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/189759/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;Stateless Postgres Query Router (SPQR) 3.1&lt;/a&gt; – Production-ready Postgres sharding solution built by Yandex Cloud.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/189764/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;pg_trickle 0.91.0&lt;/a&gt; – Extension providing declarative stream tables with incremental view maintenance via differential dataflow.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/189761/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;sabiql 3.0&lt;/a&gt; – TUI for browsing, querying, and editing databases atop &lt;code&gt;psql&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;&lt;strong&gt;SOME POSTGRES STATS FROM DATADOG:&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr style="line-height: 1.0em;"&gt;&lt;td style="font-size: 15px; line-height: 1.0em;"&gt;
  &lt;a href="https://postgresweekly.com/link/189762/rss" style=" color: #0088bb; line-height: 1.0em;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/h7seqwjyy4nrsrvxqgwl.jpg" width="640" style="    line-height: 1.0em;      "&gt;&lt;/a&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://postgresweekly.com/link/189762/rss" title="www.datadoghq.com" style=" color: #0088bb; font-size: 1.05em;"&gt;The State of Postgres in 2026&lt;/a&gt;&lt;/span&gt; — An analysis of data from Datadog's many customers running its APM and monitoring agents shows Postgres adoption keeps climbing, but only 15% of instances set &lt;code&gt;statement_timeout&lt;/code&gt;, covering indexes make up 0.3% of all indexes, 22% of tables have a (rarely indexed!) JSONB column, &lt;code&gt;pgvector&lt;/code&gt; is the fastest-growing non-bundled extension, and more.&lt;/p&gt;
  &lt;p&gt;Datadog &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;&lt;p&gt;🤔 They also found Postgres backends spent 56% of sampled time &lt;em&gt;idle&lt;/em&gt; in open transactions, apparently waiting on applications, versus just 37% doing database work.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
     
&lt;/div&gt;
  &lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;




&lt;img src="https://postgresweekly.com/open/663/rss" width="1" height="1" /&gt;</description>
      <pubDate>Wed, 2 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://postgresweekly.com/issues/663</guid>
    </item>
  </channel>
</rss>
