<?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 now due November 19</title>
      <link>https://postgresweekly.com/issues/669</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;#​669 — October 14, 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/191533/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/191510/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/gn9k4gm9cggzc04p2iws.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/191510/rss" title="www.tigerdata.com" style=" color: #0088bb; font-size: 1.1em; line-height: 1.4em;"&gt;pg_vectorsearch: A Partition-Based Alternative to HNSW&lt;/a&gt;&lt;/span&gt; — A vector search extension that uses PRISM, a vector index that scans compressed k-means partitions rather than walking a graph like HNSW, and works on existing &lt;code&gt;pgvector&lt;/code&gt; columns. It's alpha and requires Postgres 18+, while &lt;a href="https://postgresweekly.com/link/191511/rss" style=" color: #0088bb;"&gt;pgvectorscale&lt;/a&gt; moves to maintenance mode.&lt;/p&gt;
  &lt;p&gt;Erik Nordström et al. (Tiger Data) &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/191509/rss" style=" color: #0088bb;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/c105857a.png" width="151" 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/191509/rss" title="fandf.co" style=" color: #0088bb; font-size: 1.05em;"&gt;Agent Memory: Raw Retrieval Vs. Extracted Facts, Tested&lt;/a&gt;&lt;/span&gt; — Redis reran agent memory systems on LongMemEval. Published scores missed reproduced results by up to 28 points, and pairing raw conversation retrieval with extracted facts beat either approach alone. See the data, costs and methodology.&lt;/p&gt;
  &lt;p&gt;Redis &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/191512/rss" title="incident.io" style=" color: #0088bb; font-size: 1.05em;"&gt;How Savepoints Throttled Our Postgres Queue&lt;/a&gt;&lt;/span&gt; — A technical look, complete with some rather nifty visualizations, into how adding more workers to a Postgres-based queue made it slower because of per-job &lt;code&gt;SAVEPOINT&lt;/code&gt;s (and how claiming jobs with a lease fixed it).&lt;/p&gt;
  &lt;p&gt;Rory Malcolm (incident.io) &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/191513/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Postgres 19's release has been pushed back&lt;/a&gt; to November 19, with an extra RC2 on November 12 to include many more recent fixes. The first release candidate still lands tomorrow (October 15).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;⚠️ &lt;a href="https://postgresweekly.com/link/191514/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;PgBouncer 1.26.1&lt;/a&gt; fixes three CVEs, the worst letting a client who knows one user's password log in as a different user (even a superuser) when SCRAM auth is in use.&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/191515/rss" title="peter.eisentraut.org" style=" color: #0088bb; font-size: 1.05em;"&gt;'The Reverts Will Continue Until Morale Improves'&lt;/a&gt;&lt;/span&gt; — A Postgres committer, whose own work was among the casualties, shares his take on why so many Postgres 19 features were reverted during beta.&lt;/p&gt;
  &lt;p&gt;Peter Eisentraut &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;📊 Meanwhile, Kaarel Moppel &lt;a href="https://postgresweekly.com/link/191516/rss" style=" color: #0088bb; font-weight: 600;"&gt;ran 800 hours of benchmarks on the Postgres 19 betas&lt;/a&gt; and found them a few percent faster than v18 on OLTP workloads.&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/191517/rss" title="evilmartians.com" style=" color: #0088bb; font-size: 1.05em;"&gt;Don't Bet on &lt;code&gt;SELECT&lt;/code&gt; Order: Shuffle Your Rows and See What Folds&lt;/a&gt;&lt;/span&gt; — If your app or tests implicitly rely on rows returning in insertion order, that can cause many an annoying bug (I've been bitten myself!). The &lt;a href="https://postgresweekly.com/link/191518/rss" style=" color: #0088bb;"&gt;pg_disorder&lt;/a&gt; extension shuffles &lt;code&gt;SELECT&lt;/code&gt; results lacking an &lt;code&gt;ORDER BY&lt;/code&gt; to catch such bugs in testing.&lt;/p&gt;
  &lt;p&gt;Yaroslav Kurbatov (Evil Martians) &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/191519/rss" title="explainmeasured.com" style=" color: #0088bb; font-size: 1.05em;"&gt;What Deleting Rows Does to a Table&lt;/a&gt;&lt;/span&gt; — A tidy explainer and demo covering a common misunderstanding. Deleting half a table's rows, then running &lt;code&gt;VACUUM&lt;/code&gt;, left it at 137 MB on disk, with only &lt;code&gt;VACUUM FULL&lt;/code&gt; reclaiming it.&lt;/p&gt;
  &lt;p&gt;Hollis Varden &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/191520/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Why Setting &lt;code&gt;archive_command&lt;/code&gt; to &lt;code&gt;/bin/true&lt;/code&gt; Can Lose Data&lt;/a&gt; – The 'fix' for a full WAL disk that breaks recovery without warning. &lt;cite&gt;Shaun Thomas&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://postgresweekly.com/link/191521/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;PgBouncer Pooling Modes in Practice&lt;/a&gt; – What transaction pooling does to your advisory locks. &lt;cite&gt;Oskar Dudycz&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://postgresweekly.com/link/191522/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;PgBouncer vs. Amazon RDS Proxy: How the Two Poolers Differ&lt;/a&gt;  &lt;cite&gt;Wood and Chiba (AWS)&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://postgresweekly.com/link/191523/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;How &lt;code&gt;TABLESAMPLE&lt;/code&gt; Picks Rows&lt;/a&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;"&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;RDST's always-on agent watches every PG query, automatically sends you explained fixes, and verifies they worked once applied. &lt;a href="https://postgresweekly.com/link/191524/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Put an agent to work on your Postgres database. It's free&lt;/a&gt;.&lt;/p&gt;
 
&lt;p&gt;⚡ &lt;a href="https://postgresweekly.com/link/191525/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Rebase&lt;/a&gt;: An open-source backend for Postgres. REST, a typed SDK, auth, realtime, storage, and an admin panel you don't have to build.&lt;/p&gt;
 
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/191526/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Try ClickHouse Managed Postgres&lt;/a&gt;: Up to 10x faster for I/O-heavy workloads on local NVMe, with native ClickHouse integration.&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/191527/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/h6i6uifi9p9kdurhphne.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/191527/rss" title="supabase.com" style=" color: #0088bb; font-size: 1.05em;"&gt;pg-delta: Diff Postgres Schemas Into Ordered Migrations&lt;/a&gt;&lt;/span&gt; — Supabase's new open source schema diff engine. Point it at two Postgres 14–18 databases and get an ordered migration covering RLS policies, grants and domains. It replaces the deprecated &lt;code&gt;migra&lt;/code&gt;, but is still &lt;em&gt;alpha&lt;/em&gt;.&lt;/p&gt;
  &lt;p&gt;Valleteau and Xie (Supabase) &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/191528/rss" title="github.com" style=" color: #0088bb; font-size: 1.05em;"&gt;asyncpg 0.32.0: Fast Postgres Client Library for Python/asyncio&lt;/a&gt;&lt;/span&gt; — The long-standing Python client library for use with the &lt;code&gt;asyncio&lt;/code&gt; framework now supports Postgres 19, as well as the newly released Python 3.15.&lt;/p&gt;
  &lt;p&gt;MagicStack &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/191529/rss" title="github.com" style=" color: #0088bb; font-size: 1.05em;"&gt;Orafce: Oracle Compatibility Functions for Postgres&lt;/a&gt;&lt;/span&gt; — Implements some of the functions from Oracle that might be useful for users migrating to Postgres. We haven’t linked to this in a few years but it continues to get frequent releases.&lt;/p&gt;
  &lt;p&gt;Orafce 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;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/191530/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;wal2json 2.7&lt;/a&gt; – A logical decoding plugin that emits row changes as JSON, used by many change data capture setups. This first release in over two years adds Postgres 18 and 19 support.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/191532/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;PGQueuer 1.6&lt;/a&gt; – A Python job queue library built on Postgres.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/191531/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;Squawk 2.68&lt;/a&gt; – A linter for Postgres schema migrations.&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/669/rss" width="1" height="1" /&gt;</description>
      <pubDate>Wed, 14 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://postgresweekly.com/issues/669</guid>
    </item>
    <item>
      <title>Microsoft's new MCP server for Postgres</title>
      <link>https://postgresweekly.com/issues/668</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;#​668 — October 7, 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/191221/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/191189/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/aiq8svld7sdixoiwkkso.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/191189/rss" title="theconsensus.dev" style=" color: #0088bb; font-size: 1.1em; line-height: 1.4em;"&gt;Query Plan Rewriting in Postgres&lt;/a&gt;&lt;/span&gt; — A tour of the Postgres 18 planner's query transformations, including constant folding, inlining, subquery flattening, and join elimination. It's also useful to learn about the cases it &lt;em&gt;won't&lt;/em&gt; rewrite, some of which can trip up experienced users (though Postgres 19 adds &lt;code&gt;NOT IN&lt;/code&gt; rewriting when &lt;code&gt;NULL&lt;/code&gt;s can be ruled out).&lt;/p&gt;
  &lt;p&gt;Phil Eaton &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/191188/rss" style=" color: #0088bb;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/3335e561.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/191188/rss" title="www.enterprisedb.com" style=" color: #0088bb; font-size: 1.05em;"&gt;Govern EDB Postgres at Scale with Red Hat Ansible&lt;/a&gt;&lt;/span&gt; — Managing users, privileges, schemas, extensions and pg_hba by hand across a big Postgres fleet? See how edb.epas_postgresql, a Red Hat-certified Ansible Collection, enforces consistency at scale. Live with Red Hat and EDB, Oct 15.&lt;/p&gt;
  &lt;p&gt;EDB &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/191190/rss" title="www.snowflake.com" style=" color: #0088bb; font-size: 1.05em;"&gt;Query Plan Hints in Postgres 19&lt;/a&gt;&lt;/span&gt; — It may be &lt;em&gt;“a new Postgres feature you will probably never need”&lt;/em&gt; but &lt;code&gt;pg_plan_advice&lt;/code&gt; and &lt;code&gt;pg_stash_advice&lt;/code&gt; are worth having on your radar for when you &lt;em&gt;do&lt;/em&gt; need to steer the planner the right way. &lt;code&gt;EXPLAIN (PLAN_ADVICE)&lt;/code&gt; will also let you see what's going on.&lt;/p&gt;
  &lt;p&gt;Elizabeth Garrett Christensen &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/191191/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Postgres 19 RC1 is scheduled for October 15 and GA for October 29&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;⏰ &lt;strong&gt;If you have B-tree indexes on &lt;code&gt;char(n)&lt;/code&gt; columns, a &lt;code&gt;REINDEX&lt;/code&gt; is coming your way soon.&lt;/strong&gt; A &lt;a href="https://postgresweekly.com/link/191193/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;newly committed, back-patched fix&lt;/a&gt; stops deduplication on &lt;code&gt;bpchar&lt;/code&gt; indexes. It's expected to ship in November's minor releases.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/191194/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Aurora PostgreSQL now has DuckDB embedded&lt;/a&gt; to query Iceberg and Parquet in S3 as foreign tables, a month after the DuckDB team joined AWS. Franck Pachot &lt;a href="https://postgresweekly.com/link/191195/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;confirms it's DuckDB underneath&lt;/a&gt; by comparing plans with &lt;code&gt;pg_duckdb&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/191196/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Supabase is acquiring Turso&lt;/a&gt;, the company behind a Rust rewrite of SQLite. Supabase says it'll keep building around Postgres, with Turso's tech powering on-demand databases for AI agents.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/191197/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;PlanetScale now offers dedicated read replicas for Postgres&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/191198/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Heroku Postgres Advanced is now generally available&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/191199/rss" title="www.paradedb.com" style=" color: #0088bb; font-size: 1.05em;"&gt;'PlanetScale Released Text Search and We Have a Lot to Say'&lt;/a&gt;&lt;/span&gt; — PlanetScale recently unveiled &lt;a href="https://postgresweekly.com/link/191200/rss" style=" color: #0088bb;"&gt;TIN&lt;/a&gt;, a full-text search extension, with benchmarks showing it to be much faster in queries than the open source &lt;a href="https://postgresweekly.com/link/191201/rss" style=" color: #0088bb;"&gt;ParadeDB&lt;/a&gt;. So ParadeDB got to work, and say they've &lt;em&gt;“closed the gap”&lt;/em&gt;.&lt;/p&gt;
  &lt;p&gt;Ming Ying (ParadeDB) &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/191202/rss" title="trigger.dev" style=" color: #0088bb; font-size: 1.05em;"&gt;Upgrading a 56TB Database by Mostly Not Moving It&lt;/a&gt;&lt;/span&gt; — Facing downtime due to a mandatory reboot deadline on Aurora, Trigger's engineers moved just 2% of their data to PlanetScale, leaving the rest behind. A candid postmortem involving a pgcopydb patch and a failed first cutover.&lt;/p&gt;
  &lt;p&gt;Daniel Sutton (Trigger) &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/191203/rss" title="igor-suhorukov.github.io" style=" color: #0088bb; font-size: 1.05em;"&gt;Running Apache Cloudberry as Postgres Extensions&lt;/a&gt;&lt;/span&gt; — An experiment to run &lt;a href="https://postgresweekly.com/link/191204/rss" style=" color: #0088bb;"&gt;Apache Cloudberry&lt;/a&gt; (an open source descendant of Greenplum, the Postgres-based parallel data warehouse) as a set of &lt;em&gt;extensions&lt;/em&gt; on a lightly patched Postgres 19. It surfaces some interesting limitations to Postgres' extension mechanism.&lt;/p&gt;
  &lt;p&gt;Igor Suhorukov &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/191205/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;What is Direct I/O, and Why Does ClickHouse Managed Postgres Use It for Backups?&lt;/a&gt;  &lt;cite&gt;Kaushik Iska (ClickHouse)&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://postgresweekly.com/link/191206/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Resolving Replication Lag with Heartbeat Tables in CDC Scenarios&lt;/a&gt; &lt;cite&gt;Luo and Ooi (Amazon)&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;Columnar storage without leaving Postgres: &lt;a href="https://postgresweekly.com/link/191207/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;TimescaleDB&lt;/a&gt; compresses big tables up to 95% and speeds up scans. &lt;a href="https://postgresweekly.com/link/191207/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Get $1000 credit&lt;/a&gt;.&lt;/p&gt;
 
&lt;p&gt;Visual editors for triggers and functions. A PL/pgSQL debugger that needs no extensions. Try &lt;a href="https://postgresweekly.com/link/191208/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;dbForge Studio for PostgreSQL 2026.2&lt;/a&gt; free.&lt;/p&gt;
 
&lt;p&gt;⏱️ Postgres ran a prepared statement fast exactly five times. The sixth was 746% slower. &lt;a href="https://postgresweekly.com/link/191209/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Catch the flip in your query&lt;/a&gt;. Now in preview.&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;span&gt;🤖&lt;/span&gt; &lt;a href="https://postgresweekly.com/link/191210/rss" title="techcommunity.microsoft.com" style=" color: #0088bb; font-size: 1.05em;"&gt;Microsoft Unveils an MCP Server for Postgres&lt;/a&gt;&lt;/span&gt; — They’re far from the first, but it’s interesting to see Microsoft step into this area with a Rust-powered (but installed via &lt;code&gt;npm&lt;/code&gt;) MCP server to allow AI coding agents to work with Postgres, whether you’re on Azure or not.&lt;/p&gt;
  &lt;p&gt;Aditi Gupta (Microsoft) &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;💡 Microsoft also has &lt;a href="https://postgresweekly.com/link/191211/rss" style=" color: #0088bb; font-weight: 600;"&gt;a repo of 'Postgres skills'&lt;/a&gt; (which you &lt;a href="https://postgresweekly.com/link/191212/rss" style=" color: #0088bb; font-weight: 600;"&gt;can read here&lt;/a&gt;) covering both general Postgres usage and Azure platform specifics.&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/191213/rss" title="github.com" style=" color: #0088bb; font-size: 1.05em;"&gt;pgwatch 6.0: Prometheus Sources, Rebuilt Dashboards, and a Sturdier Collector&lt;/a&gt;&lt;/span&gt; — The popular Postgres metrics collector and Grafana visualizer (&lt;a href="https://postgresweekly.com/link/191214/rss" style=" color: #0088bb;"&gt;demo&lt;/a&gt;) adds Prometheus exporters as sources, rebuilds its dashboards on Grafana 13, and copes better with databases that stop responding.&lt;/p&gt;
  &lt;p&gt;CYBERTEC PostgreSQL &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/191215/rss" title="www.postgresql.org" style=" color: #0088bb; font-size: 1.05em;"&gt;pgx-bm25 1.0: A Pure C BM25 Index Extension&lt;/a&gt;&lt;/span&gt; — A new PostgreSQL-licensed BM25 ranked full-text search extension whose indexes live in the index relation's pages so WAL logging, replication, and &lt;code&gt;VACUUM&lt;/code&gt; all work as usual with no separate engine or runtime to manage.&lt;/p&gt;
  &lt;p&gt;PGX Inc. &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/191216/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;pgBackRest 2.59.3&lt;/a&gt; – Fixes a rare weak encryption subkey bug that upgrading alone won't repair, so check the notice if your repo is encrypted.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/191217/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;pg_textsearch 1.5&lt;/a&gt; – Tiger Data's BM25 ranked text search extension. Adds boolean and phrase filtering via &lt;code&gt;tsquery&lt;/code&gt;, plus Postgres 19 support.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;⚠️ &lt;a href="https://postgresweekly.com/link/191218/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;pgvector 0.8.7&lt;/a&gt; – The ubiquitous vector search extension fixes a bug where creating an IVFFlat index could lead to arbitrary code execution.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/191219/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;Debezium 3.7&lt;/a&gt; – The popular change data capture platform. Can now take incremental snapshots from read-only replicas and has better support for Postgres' geometric column types.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/191220/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;pg_ivm 1.16&lt;/a&gt; – The incremental view maintenance extension adds Postgres 19 support.&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/668/rss" width="1" height="1" /&gt;</description>
      <pubDate>Wed, 7 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://postgresweekly.com/issues/668</guid>
    </item>
    <item>
      <title>Can REPACK CONCURRENTLY replace pg_repack?</title>
      <link>https://postgresweekly.com/issues/667</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;#​667 — September 30, 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/191060/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/190987/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/cjv01ik6nyjgnpab0kla.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/190987/rss" title="www.postgresql.org" style=" color: #0088bb; font-size: 1.1em; line-height: 1.4em;"&gt;Postgres 19 Beta 4 Released&lt;/a&gt;&lt;/span&gt; — Confirming &lt;a href="https://postgresweekly.com/link/190988/rss" style=" color: #0088bb;"&gt;recent developments&lt;/a&gt;, the latest beta is largely about what’s been removed, although numerous fixes have also made it in. A release candidate is due in the next couple of weeks, with the final release &lt;em&gt;possibly&lt;/em&gt; in October if things go well.&lt;/p&gt;
  &lt;p&gt;PostgreSQL Global Development Group &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;💡 What's gone? SQL/PGQ (property graph) support, online enabling/disabling of checksums, temporal updates/deletes with &lt;code&gt;FOR PORTION OF&lt;/code&gt;, &lt;code&gt;MERGE/SPLIT PARTITIONS&lt;/code&gt;, and the &lt;code&gt;pg_get_role_ddl()&lt;/code&gt;, &lt;code&gt;pg_get_tablespace_ddl()&lt;/code&gt;, and &lt;code&gt;pg_get_database_ddl()&lt;/code&gt; functions.&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/190986/rss" style=" color: #0088bb;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/f46e96c8.png" width="140" height="140" 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/190986/rss" title="www.tigerdata.com" style=" color: #0088bb; font-size: 1.05em;"&gt;SELECT count(*) Shouldn't Take Eight Seconds&lt;/a&gt;&lt;/span&gt; — A count or a rollup over millions of rows crawls, so you add indexes, a read replica, a nightly job. TimescaleDB extends the Postgres you already run so those queries return in milliseconds on live data. No warehouse. &lt;a href="https://postgresweekly.com/link/190986/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; 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/190989/rss" title="boringsql.com" style=" color: #0088bb; font-size: 1.05em;"&gt;What &lt;code&gt;REPACK (CONCURRENTLY)&lt;/code&gt; Costs While It Runs&lt;/a&gt;&lt;/span&gt; — A measurement of Postgres 19's new online table rewrite against &lt;code&gt;pg_repack&lt;/code&gt; and &lt;code&gt;pg_squeeze&lt;/code&gt;. &lt;code&gt;REPACK&lt;/code&gt; was fastest, but has some downsides to consider.&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;code&gt;REPACK (CONCURRENTLY)&lt;/code&gt; is getting a lot of attention on pgsql-hackers this week too. A &lt;a href="https://postgresweekly.com/link/190990/rss" style=" color: #0088bb; font-weight: 600;"&gt;bug that could lose updates&lt;/a&gt; was fixed, and Radim's own testing found &lt;a href="https://postgresweekly.com/link/190991/rss" style=" color: #0088bb; font-weight: 600;"&gt;a hard limit&lt;/a&gt; on how many concurrent changes a repack can absorb.&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/190992/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;PgBouncer 1.26&lt;/a&gt; addresses three CVEs, including two DoS bugs that unauthenticated clients can trigger. It also now tracks &lt;code&gt;search_path&lt;/code&gt; and &lt;code&gt;default_transaction_read_only&lt;/code&gt; by default.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Devrim Gunduz &lt;a href="https://postgresweekly.com/link/190993/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;reports&lt;/a&gt; that Postgres's official &lt;a href="https://postgresweekly.com/link/190994/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Yum&lt;/a&gt; and &lt;a href="https://postgresweekly.com/link/190995/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Zypper&lt;/a&gt; repositories are now easier to navigate on the Web. He's also &lt;a href="https://postgresweekly.com/link/190996/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;begun packaging Rust extensions&lt;/a&gt; there, starting with &lt;em&gt;PostgreSQL Anonymizer&lt;/em&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Google has &lt;a href="https://postgresweekly.com/link/190997/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;rounded up its upstream Postgres work&lt;/a&gt; so far this year.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Amazon Aurora &lt;a href="https://postgresweekly.com/link/190998/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;now supports&lt;/a&gt; Postgres 18.6, 17.11, 16.15, 15.19 and 14.24.&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/190999/rss" title="clickhouse.com" style=" color: #0088bb; font-size: 1.05em;"&gt;Can Your Postgres Survive a Bad Query?&lt;/a&gt;&lt;/span&gt; — ClickHouse compares what happens on four Postgres cloud providers (itself included) when queries eat all the RAM, and explains why setting &lt;code&gt;work_mem&lt;/code&gt; doesn’t prevent it.&lt;/p&gt;
  &lt;p&gt;Kevin Biju (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/191000/rss" title="www.youtube.com" style=" color: #0088bb; font-size: 1.05em;"&gt;Andres Freund on Where Linux Helps and Hurts Postgres&lt;/a&gt;&lt;/span&gt; — A candid talk from this year’s &lt;a href="https://postgresweekly.com/link/191001/rss" style=" color: #0088bb;"&gt;Kernel Recipes&lt;/a&gt; conference, aimed at kernel developers, covering topics like io_uring, huge pages, futexes, and atomic writes.&lt;/p&gt;
  &lt;p&gt;Andres Freund &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/191002/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;PgQ and PgQue: The Queue Engines You Might Need&lt;/a&gt; – Spotting bloated task tables and moving them to a purpose-built queue. &lt;cite&gt;Jobin Augustine (Percona)&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://postgresweekly.com/link/191003/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Fixing One Function's Disk Spills with &lt;code&gt;ALTER FUNCTION … SET work_mem&lt;/code&gt;&lt;/a&gt; – An API slowdown was traced to a function causing 150GB of temporary-file writes a day, but a function-local setting tidied up the mess. &lt;cite&gt;Dinesh Kumar (CortexRidge)&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://postgresweekly.com/link/191004/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;When to Choose x86 or ARM for Postgres&lt;/a&gt; – Some pros and cons, if you're able to make the choice. &lt;cite&gt;Ahmed Darwich (PlanetScale)&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://postgresweekly.com/link/191005/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;pgBackRest and Failover: Why &lt;code&gt;archive_mode&lt;/code&gt; Matters&lt;/a&gt; &lt;cite&gt;Stefan Fercot&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/191006/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/191006/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="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/191007/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/wavbvnwvp3kzshmrqsra.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/191007/rss" title="safenotsafe.dev" style=" color: #0088bb; font-size: 1.05em;"&gt;Safe Not Safe: Is My Migration Safe?&lt;/a&gt;&lt;/span&gt; — A fun side project from a former lead of Cloudflare's Postgres platform team, who spent years reviewing other teams' migrations. Paste in a SQL migration and it flags common problems, parsing entirely in the browser using Postgres's own SQL parser via WASM.&lt;/p&gt;
  &lt;p&gt;Vignesh Ravichandran &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/191008/rss" title="rynr.dev" style=" color: #0088bb; font-size: 1.05em;"&gt;Kafgres 0.2: 700 MB/s of Kafka Throughput on Postgres&lt;/a&gt;&lt;/span&gt; — We featured this Kafka-compatible broker that runs &lt;em&gt;inside&lt;/em&gt; Postgres a few weeks ago. Its author has since taken it from 113 MB/s to 700 MB/s write throughput on a single box.&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;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/191009/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;Pgpool-II 4.7.3, 4.6.8, 4.5.13, 4.4.18, 4.3.21&lt;/a&gt; – A raft of security fixes to fix seven CVEs, one allowing clients using certificate authentication to log in as another user without a password.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/191010/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;PgDog 0.1.60&lt;/a&gt; – Rust-powered pooler and sharding proxy. Sharded &lt;code&gt;SELECT&lt;/code&gt; queries are now handled 40% faster.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/191011/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;pg_raw_parse&lt;/a&gt; – PgDog's Rust bindings to the Postgres parser with 20–60x faster parsing than &lt;code&gt;pg_query.rs&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/191012/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;pgBackRest 2.59.2&lt;/a&gt; – The backup/restore tool adds Postgres 19 beta 4 support.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/191014/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;PLHaskell 6.0&lt;/a&gt; – Write Haskell in SQL code. Now supports &lt;code&gt;Range&lt;/code&gt; types.&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;span style="font-size: 1.2em;"&gt;✨&lt;/span&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/191013/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/uyyrumbtq6jmmhybqa3p.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/191013/rss" title="cedardb.com" style=" color: #0088bb; font-size: 1.05em;"&gt;'We Ported the Original Doom to SQL'&lt;/a&gt;&lt;/span&gt; — Not &lt;em&gt;quite&lt;/em&gt; Postgres, but a fun project from the team behind the Postgres-compatible CedarDB. It takes 1993's pioneering FPS and runs the logic and renderer in SQL, returning each frame as a bitmap for Python to show. Some neat architectural details (the renderer uses 89 CTEs!) and SQL queries here.&lt;/p&gt;
  &lt;p&gt;Lukas Vogel (CedarDB) &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/667/rss" width="1" height="1" /&gt;</description>
      <pubDate>Wed, 30 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://postgresweekly.com/issues/667</guid>
    </item>
    <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>
  </channel>
</rss>
