<?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>Three more things about Postgres 19</title>
      <link>https://postgresweekly.com/issues/659</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;#​659 — July 29, 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/188593/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/188575/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/eukyepveiob0ilfmq5nq.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/188575/rss" title="nikolays.github.io" style=" color: #0088bb; font-size: 1.1em; line-height: 1.4em;"&gt;PGSimCity: How Postgres Works, in 3D&lt;/a&gt;&lt;/span&gt; — A truly novel way to explore a model of Postgres internals. It's more than a visualization, you can wander around and &lt;em&gt;break stuff&lt;/em&gt;! It's a little 'busy' and not perfect UX-wise (you might struggle on mobile devices) but offers a fresh perspective on some otherwise opaque technical concepts.&lt;/p&gt;
  &lt;p&gt;Nikolay Samokhvalov &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/188576/rss" title="planetscale.com" style=" color: #0088bb; font-size: 1.05em;"&gt;Three New Things in Postgres 19&lt;/a&gt;&lt;/span&gt; — PlanetScale takes its turn to reflect on the upcoming release, focusing on &lt;code&gt;REPACK&lt;/code&gt;, &lt;code&gt;JIT&lt;/code&gt; being off by default, and query planner improvements.&lt;/p&gt;
  &lt;p&gt;Ahmed Darwich &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/188574/rss" style=" color: #0088bb;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/326be1a6.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/188574/rss" title="paradedb.com" style=" color: #0088bb; font-size: 1.05em;"&gt;Search Without a Second System&lt;/a&gt;&lt;/span&gt; — One Postgres for your application data, full-text search, vector retrieval, and aggregations. ParadeDB is an open-source Postgres extension that keeps pace with Elasticsearch.&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; 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/188577/rss" title="www.pgedge.com" style=" color: #0088bb; font-size: 1.05em;"&gt;Autovacuum Tweaks Coming to Postgres 19&lt;/a&gt;&lt;/span&gt; — Autovacuum has always worked through tables in catalog order, but Postgres 19 teaches it to triage with tables scored on factors like wraparound risk and dead tuples, so the most deserving cases get tackled first.&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;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://postgresweekly.com/link/188578/rss" title="boringsql.com" style=" color: #0088bb; font-size: 1.05em;"&gt;Postgres's MVCC is Bad, But So is Everyone Else's&lt;/a&gt;&lt;/span&gt; — Andy Pavlo's database group called MVCC &lt;a href="https://postgresweekly.com/link/188579/rss" style=" color: #0088bb;"&gt;the part of Postgres they hate the most&lt;/a&gt;, and Radim agrees, with benchmarks. But then he asks: what do Oracle, InnoDB, SQL Server, MongoDB and etcd do instead, and what does that cost?&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;💡 Not everyone's sold, though. In &lt;a href="https://postgresweekly.com/link/188580/rss" style=" color: #0088bb; font-weight: 600;"&gt;this Hacker News comment&lt;/a&gt;, Skeema author Evan Elias pushes back on the InnoDB characterization.&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/188581/rss" title="hatchet.run" style=" color: #0088bb; font-size: 1.05em;"&gt;The Startup's Postgres Survival Guide&lt;/a&gt;&lt;/span&gt; — A startup has opened up its internal guide distilling two years of Postgres battles, from schema rules and compound indexes to autovacuum tuning, &lt;code&gt;SKIP LOCKED&lt;/code&gt; queues and partitioning.&lt;/p&gt;
  &lt;p&gt;Alexander Belanger (Hatchet) &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/188582/rss" title="stormatics.tech" style=" color: #0088bb; font-size: 1.05em;"&gt;The Right Way to Give a Third-Party DBA Access to Your Database&lt;/a&gt;&lt;/span&gt; — From the basics of creating a scoped role to providing safe access to monitoring, being able to cancel runaway queries, and even vacuuming and reindexing, without handing over ownership or superuser access.&lt;/p&gt;
  &lt;p&gt;Shridhar Khanal (Stormatics) &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/188583/rss" title="danolivo.substack.com" style=" color: #0088bb; font-size: 1.05em;"&gt;Why Your Pioneering Postgres Feature Should Start in a Fork&lt;/a&gt;&lt;/span&gt; — A Postgres planner contributor on his three attempts at parallel scans over temporary tables, undone by local buffers and read-only queries that dirty pages anyway. A fork was the place to prove it, he says, because core's 'bar is brutal'.&lt;/p&gt;
  &lt;p&gt;Andrei Lepikhov &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/188584/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Let's Break Autovacuum: Reproducing Failures to Make It Observable&lt;/a&gt;  &lt;cite&gt;Nikolay Sivko (Coroot)&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;💻 &lt;a href="https://postgresweekly.com/link/188585/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;MCP for Postgres from Cursor, VS Code, or Claude Desktop&lt;/a&gt;. Read-only default, scoped permissions, token efficient.&lt;/p&gt;
 
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/188594/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;MyDBA&lt;/a&gt;: Comprehensive monitoring for your Postgres database. Kick off with a free week-long health check, then keep monitoring free.&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/188587/rss" title="github.com" style=" color: #0088bb; font-size: 1.05em;"&gt;Pagila 4: A Sample Database for Postgres&lt;/a&gt;&lt;/span&gt; — Originally a port of MySQL's &lt;a href="https://postgresweekly.com/link/188588/rss" style=" color: #0088bb;"&gt;Sakila&lt;/a&gt; example database, Pagila has been extended to support numerous Postgres-specific functions (like SQL/JSON and UUIDv7) and v4.0 (which requires Postgres 18) is much larger with a more diverse dataset.&lt;/p&gt;
  &lt;p&gt;Devrim Gündüz &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/188589/rss" title="github.com" style=" color: #0088bb; font-size: 1.05em;"&gt;pgGraph 1.0: Add Graph Database 'Superpowers' to Postgres&lt;/a&gt;&lt;/span&gt; — An extension that brings the ability to run graph search, traversal, shortest path, and relationship queries directly against ordinary tables.&lt;/p&gt;
  &lt;p&gt;Evokoa &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/188595/rss" title="github.com" style=" color: #0088bb; font-size: 1.05em;"&gt;Rainfrog 0.4: A Database Management TUI for Postgres&lt;/a&gt;&lt;/span&gt; — Think a little more structured than &lt;code&gt;psql&lt;/code&gt; with vim-style navigation of queries, history, schemas, etc. v0.4 adds query autocompletion.&lt;/p&gt;
  &lt;p&gt;Carl Liu &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/188590/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;Postgres Operator 2.0&lt;/a&gt; – Zalando's operator to run highly-available Postgres clusters on Kubernetes.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/188592/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;pg_partman 5.5&lt;/a&gt; – Partition management extension. Includes fixes for several CVEs.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/188591/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;pREST 2.4&lt;/a&gt; – Go-powered RESTful server for Postgres databases.&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/659/rss" width="1" height="1" /&gt;</description>
      <pubDate>Wed, 29 Jul 2026 00:00:00 +0000</pubDate>
      <guid>https://postgresweekly.com/issues/659</guid>
    </item>
    <item>
      <title>Now Turso is building Postgres in Rust too</title>
      <link>https://postgresweekly.com/issues/658</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;#​658 — July 22, 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/188268/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/188236/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/c4md7advis5kslx7uxhj.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/188236/rss" title="planetscale.com" style=" color: #0088bb; font-size: 1.1em; line-height: 1.4em;"&gt;Making 768 Servers Look Like 1&lt;/a&gt;&lt;/span&gt; — A fun, educational animated explainer of how a petabyte of Postgres spread over 256 shards (each with a primary and two replicas) can present as one database, covering where replicas hit a wall, query-parsing routers, and load balancing.&lt;/p&gt;
  &lt;p&gt;Ben Dicken (PlanetScale) &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/188235/rss" style=" color: #0088bb;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/7c65b775.png" width="160" height="90" 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/188235/rss" title="www.tigerdata.com" style=" color: #0088bb; font-size: 1.05em;"&gt;VACUUM Wasn't Made for Append-Only Time-Series&lt;/a&gt;&lt;/span&gt; — TimescaleDB extends Postgres with hypertables that partition automatically as data grows, columnar compression that cuts storage up to 95%, and continuous aggregates that keep rollups fresh. Same Postgres, same SQL. &lt;a href="https://postgresweekly.com/link/188235/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/188237/rss" title="incident.io" style=" color: #0088bb; font-size: 1.05em;"&gt;Don't Add a Read Replica Until You've Read This&lt;/a&gt;&lt;/span&gt; — A common issue with read replicas is stale reads, which can surface in unexpected places. &lt;a href="https://postgresweekly.com/link/188238/rss" style=" color: #0088bb;"&gt;incident.io&lt;/a&gt; explains the approach they used while moving most of their reads off their primary, including LSN stamping and query routing strategies.&lt;/p&gt;
  &lt;p&gt;Johanna Larsson &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/188239/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Postgres 19 Beta 2 has been released&lt;/a&gt; focused on fixing bugs found in the first beta. Keep testing and reporting, so the final v19 in Sep/Oct is solid.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/188242/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Supabase Pipelines is now in public alpha&lt;/a&gt;. It's designed to replicate Supabase databases to external analytical systems in near real-time.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/188240/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Neon&lt;/a&gt; is expanding beyond Postgres into offering &lt;a href="https://postgresweekly.com/link/188241/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;a full backend platform&lt;/a&gt; with object storage, functions, and an AI gateway, now in beta.&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/188243/rss" title="www.crunchydata.com" style=" color: #0088bb; font-size: 1.05em;"&gt;Postgres 19 Compression: From pglz to LZ4&lt;/a&gt;&lt;/span&gt; — In v19, TOAST compression switches by default from pglz to LZ4 (an option since Postgres 14). Christopher covers the history, but also the fun stuff: the decision tree for what gets compressed or TOASTed, and how indexes compress oversized keys.&lt;/p&gt;
  &lt;p&gt;Christopher Winslett &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/188244/rss" title="turso.tech" style=" color: #0088bb; font-size: 1.05em;"&gt;Turso: 'We're Building Postgres in Rust'&lt;/a&gt;&lt;/span&gt; — We've recently featured &lt;a href="https://postgresweekly.com/link/188245/rss" style=" color: #0088bb;"&gt;pgrust&lt;/a&gt; but now Turso, known for rewriting SQLite in Rust, is having a go too with an LLVM-inspired approach: a single database core that presents via multiple frontends, of which Postgres is the second.&lt;/p&gt;
  &lt;p&gt;Costa and Enberg (Turso) &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/188246/rss" title="talkingpostgres.com" style=" color: #0088bb; font-size: 1.05em;"&gt;Working on Postgres After 13 Years on SQL Server&lt;/a&gt;&lt;/span&gt; — Microsoft's Panagiotis Antonopoulos discusses his transition from 13 years on SQL Server to Postgres, why Postgres has become the default choice for many workloads, and Azure HorizonDB's shared-storage architecture.&lt;/p&gt;
  &lt;p&gt;Talking Postgres &lt;span style="text-transform: uppercase; margin-left: 4px; font-size: 0.9em;  padding: 1px 4px; "&gt;podcast&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;a href="https://postgresweekly.com/link/188247/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Making Iceberg Walk and Talk Like Postgres&lt;/a&gt; – A 5 minute lightning talk at DuckCon about &lt;a href="https://postgresweekly.com/link/188248/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;pg_lake&lt;/a&gt;. &lt;cite&gt;Marco Slot&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://postgresweekly.com/link/188249/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;How Much Do You Really Need to Know About Databases?&lt;/a&gt;  &lt;cite&gt;Karen Jex&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://postgresweekly.com/link/188250/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Building the OAPE PostgreSQL Certification&lt;/a&gt;  &lt;cite&gt;Cornelia Biacsics&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;See what really breaks in an Oracle migration, from stored procedures to edge cases, and how AI agents handle it. &lt;a href="https://postgresweekly.com/link/188251/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Run it in your browser&lt;/a&gt;.&lt;/p&gt;
 
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/188252/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;MyDBA&lt;/a&gt;: Comprehensive monitoring for your Postgres database. Kick off with a free week-long health check, then keep monitoring free.&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/188253/rss" title="pgbackrest.org" style=" color: #0088bb; font-size: 1.05em;"&gt;pgBackRest 2.59.0 Released with Postgres 19 Support&lt;/a&gt;&lt;/span&gt; — The first release of the popular backup and restore tool since the project &lt;a href="https://postgresweekly.com/link/188254/rss" style=" color: #0088bb;"&gt;briefly died and came back to life&lt;/a&gt;. Getting ready for Postgres 19 is the focus, but some handy S3 and Azure enhancements have been added too.&lt;/p&gt;
  &lt;p&gt;David Steele &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/188255/rss" title="github.com" style=" color: #0088bb; font-size: 1.05em;"&gt;pg_timetable 7.0: Advanced Job Scheduling for Postgres&lt;/a&gt;&lt;/span&gt; — A mature, stand-alone job scheduler that stores its state in your database and lets you schedule tasks and chain them together. v7 adds OpenTelemetry tracing, &lt;code&gt;arm64&lt;/code&gt; support to the Docker image, and a way to &lt;a href="https://postgresweekly.com/link/188256/rss" style=" color: #0088bb;"&gt;enable/disable tasks&lt;/a&gt;.&lt;/p&gt;
  &lt;p&gt;CYBERTEC PostgreSQL International GmbH &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/188257/rss" style=" color: #0088bb; font-weight: 600;"&gt;pgAdmin&lt;/a&gt; is working on &lt;a href="https://postgresweekly.com/link/188258/rss" style=" color: #0088bb; font-weight: 600;"&gt;a UI for working with pg_timetable tasks&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; 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/188259/rss" title="github.com" style=" color: #0088bb; font-size: 1.05em;"&gt;Puffgres: Keep Postgres Entities Synced with Turbopuffer&lt;/a&gt;&lt;/span&gt; — Ever heard of &lt;a href="https://postgresweekly.com/link/188260/rss" style=" color: #0088bb;"&gt;A24&lt;/a&gt;, the distributor of movies like &lt;em&gt;Backrooms&lt;/em&gt; and &lt;em&gt;Uncut Gems&lt;/em&gt;? Their first open source release is a Rust tool that uses logical replication to mirror Postgres entities to &lt;a href="https://postgresweekly.com/link/188261/rss" style=" color: #0088bb;"&gt;Turbopuffer&lt;/a&gt;, the cloud vector/full-text search service.&lt;/p&gt;
  &lt;p&gt;A24 Films &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/188262/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;Nano ID for Postgres 3.0&lt;/a&gt; – Tiny, secure, URL-friendly, unique string ID generator as a Postgres function. &lt;a href="https://postgresweekly.com/link/188263/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;v3.0&lt;/a&gt; has breaking changes and supports optional prefixes.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/188264/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;PGSync 7.2&lt;/a&gt; – Middleware for Postgres to Elasticsearch/OpenSearch syncing.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/188265/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;pgstream 1.2&lt;/a&gt; – Postgres replication with DDL changes. v1.2 adds a &lt;code&gt;check&lt;/code&gt; command for preflight validation.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/188266/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;node-pg-migrate 9.0&lt;/a&gt; – Schema migration management for Node.js apps.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🌐 &lt;a href="https://postgresweekly.com/link/188267/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;PostGIS 3.7.0 Beta 1&lt;/a&gt; – Works with Postgres 14 through 19 beta 2.&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/658/rss" width="1" height="1" /&gt;</description>
      <pubDate>Wed, 22 Jul 2026 00:00:00 +0000</pubDate>
      <guid>https://postgresweekly.com/issues/658</guid>
    </item>
    <item>
      <title>Partition pruning without the partition key</title>
      <link>https://postgresweekly.com/issues/657</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;#​657 — July 15, 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/187935/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/187904/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/kaeijwub8qefrcin2rpn.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/187904/rss" title="malisper.me" style=" color: #0088bb; font-size: 1.1em; line-height: 1.4em;"&gt;The Four Horsemen Behind Thousands of Postgres Outages&lt;/a&gt;&lt;/span&gt; — Two weeks ago we mentioned &lt;a href="https://postgresweekly.com/link/187905/rss" style=" color: #0088bb;"&gt;pgrust&lt;/a&gt;, an AI-assisted rewrite of Postgres in Rust (which now passes 100% of Postgres's regression tests). Here, its creator outlines the biggest Postgres pain points he set out to conquer with the rewrite.&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;🗣️ In the meantime, &lt;a href="https://postgresweekly.com/link/187906/rss" style=" color: #0088bb; font-weight: 600;"&gt;Hacker News discovered &lt;code&gt;pgrust&lt;/code&gt;&lt;/a&gt; and discussed it at length, with Michael answering numerous questions about its creation and goals.&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/187903/rss" style=" color: #0088bb;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/20c8955d.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/187903/rss" title="paradedb.com" style=" color: #0088bb; font-size: 1.05em;"&gt;Search Without a Second System&lt;/a&gt;&lt;/span&gt; — One Postgres for your application data, full-text search, vector retrieval, and aggregations. ParadeDB is an open-source Postgres extension that keeps pace with Elasticsearch.&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; 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/187907/rss" title="hakibenita.com" style=" color: #0088bb; font-size: 1.05em;"&gt;How to Achieve Pruning When Querying by Non-Partitioned Columns&lt;/a&gt;&lt;/span&gt; — If a non-partition key column correlates strongly with your partition key (e.g. sequential session IDs in time-partitioned data), &lt;code&gt;CHECK&lt;/code&gt; constraints can enable pruning on that column too. Includes a BRIN-inspired approach for handling outlier values.&lt;/p&gt;
  &lt;p&gt;Haki Benita &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/187908/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Pigsty&lt;/a&gt; creator Ruohang Feng &lt;a href="https://postgresweekly.com/link/187909/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;celebrates Postgres's 30th birthday&lt;/a&gt; based on the first public Postgres CVS server going live on July 8, 1996.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;📘 Dimitri Fontaine's &lt;a href="https://postgresweekly.com/link/187910/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;&lt;em&gt;The Art of PostgreSQL&lt;/em&gt; book&lt;/a&gt; has been updated for 2026, a significant update that &lt;em&gt;"modernises the text from PostgreSQL 11 to the 17/18 landscape"&lt;/em&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🏴󠁧󠁢󠁳󠁣󠁴󠁿 Jimmy Angelakos shares &lt;a href="https://postgresweekly.com/link/187911/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;a summary of the recent PostgresEDI meetup&lt;/a&gt; in Edinburgh, Scotland, and an invitation to &lt;a href="https://postgresweekly.com/link/187912/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;join the next one&lt;/a&gt; on August 13.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The Google Cloud team shares &lt;a href="https://postgresweekly.com/link/187913/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;an update on its recent participation&lt;/a&gt; at several Postgres events.&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/187914/rss" title="www.cybertec-postgresql.com" style=" color: #0088bb; font-size: 1.05em;"&gt;How SQL/PGQ Rewrites to Joins on Postgres 19&lt;/a&gt;&lt;/span&gt; — Behind the scenes of Postgres 19's support for &lt;a href="https://postgresweekly.com/link/187915/rss" style=" color: #0088bb;"&gt;graph queries&lt;/a&gt; and how the graph query syntax compiles down to plain joins.&lt;/p&gt;
  &lt;p&gt;Hans-Jürgen Schönig &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/187916/rss" title="www.youtube.com" style=" color: #0088bb; font-size: 1.05em;"&gt;Fixing Bad SQL in Postgres with Jimmy Angelakos&lt;/a&gt;&lt;/span&gt; — A 55-minute talk of concise explanations of common SQL anti-patterns paired with live &lt;code&gt;psql&lt;/code&gt; demos.&lt;/p&gt;
  &lt;p&gt;Jimmy Angelakos &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/187917/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;The Version Number is Not the Territory&lt;/a&gt; – A story of a server claiming to be Postgres 14 outputting an error Postgres 14 doesn't even have. &lt;cite&gt;Christophe Pettus&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://postgresweekly.com/link/187918/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Waiting for Postgres 20: &lt;code&gt;min()&lt;/code&gt; and &lt;code&gt;max()&lt;/code&gt; Aggregate Support for &lt;code&gt;uuid&lt;/code&gt;&lt;/a&gt;  &lt;cite&gt;Hubert depesz Lubaczewski&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://postgresweekly.com/link/187919/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;&lt;code&gt;COUNT(*)&lt;/code&gt; After a &lt;code&gt;JOIN&lt;/code&gt; Counts Rows, Not Things&lt;/a&gt;  &lt;cite&gt;Dimitri Fontaine&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://postgresweekly.com/link/187920/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;How We Scale PgBouncer in ClickHouse Managed Postgres&lt;/a&gt;  &lt;cite&gt;Kaushik Iska (ClickHouse)&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;You already run Postgres. &lt;a href="https://postgresweekly.com/link/187921/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;TimescaleDB extends it for time-series&lt;/a&gt;: hypertables, native columnar compression, faster queries.&lt;/p&gt;
 
&lt;p&gt;🔁 &lt;a href="https://postgresweekly.com/link/187922/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Spock&lt;/a&gt;: Open-source multi-master Postgres replication w/ active-active writes, conflict resolution, logical slot failover.&lt;/p&gt;
 
&lt;p&gt;🐘 &lt;a href="https://postgresweekly.com/link/187923/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;PostgreSQL 19 preview&lt;/a&gt;: PGQ graph workloads, REPACK CONCURRENTLY, pg_plan_advice &amp;amp; more. EDB hackers on what's coming this fall.&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/187924/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/fcelvvlazbal99bf5wap.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/187924/rss" title="github.com" style=" color: #0088bb; font-size: 1.05em;"&gt;plx: Write Stored Functions in PHP, JavaScript, Python, and More&lt;/a&gt;&lt;/span&gt; — Hot on the heels of last week's &lt;a href="https://postgresweekly.com/link/187925/rss" style=" color: #0088bb;"&gt;PL/Ruby&lt;/a&gt; comes a more general extension that transpiles JavaScript, PHP, Python, Ruby and even &lt;em&gt;COBOL&lt;/em&gt; to PL/pgSQL!&lt;/p&gt;
  &lt;p&gt;Command Prompt 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;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://postgresweekly.com/link/187926/rss" title="clickhouse.com" style=" color: #0088bb; font-size: 1.05em;"&gt;pg_re2: Fast, RE2-Powered Regular Expressions in Postgres&lt;/a&gt;&lt;/span&gt; — Google's &lt;a href="https://postgresweekly.com/link/187927/rss" style=" color: #0088bb;"&gt;re2&lt;/a&gt; offers more predictable execution time on regexes than the traditional backtracking approach. ClickHouse shows off its use in Postgres here.&lt;/p&gt;
  &lt;p&gt;David Wheeler and Philip Dubé &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/187928/rss" title="neon.com" style=" color: #0088bb; font-size: 1.05em;"&gt;&lt;code&gt;@neon/sdk&lt;/code&gt;: Neon's New TypeScript Client Library&lt;/a&gt;&lt;/span&gt; — For &lt;a href="https://postgresweekly.com/link/187929/rss" style=" color: #0088bb;"&gt;Neon&lt;/a&gt; users who want to work with the Postgres platform's specific features to manage projects, branches, and databases.&lt;/p&gt;
  &lt;p&gt;Andre Landgraf (Neon) &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/187930/rss" title="github.com" style=" color: #0088bb; font-size: 1.05em;"&gt;pgsavvy: A Vim-Style TUI for Working With Databases&lt;/a&gt;&lt;/span&gt; — A Go-powered TUI app for browsing and querying Postgres databases from the terminal, complete with Vim-style navigation, SQL completions, and interactive &lt;code&gt;EXPLAIN&lt;/code&gt; plan navigation.&lt;/p&gt;
  &lt;p&gt;Dave Savic &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/187931/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;Pigsty 4.4&lt;/a&gt; – An "everything but the kitchen sink" Postgres distribution that's now based on Postgres 18.4, with a Postgres 19 beta template available to try. Now includes 531 extensions ready to go.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/187932/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;plpgsql_check 2.10&lt;/a&gt; – PL/pgSQL linter that uses Postgres's own parser/evaluator to detect errors and improve code quality.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/187933/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;pgCodeKeeper 15.0&lt;/a&gt; – Java-powered Eclipse IDE plugin to diff database schemas and generate migration scripts.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/187934/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;PostgREST 14.15&lt;/a&gt; – Serve a fully RESTful API from any Postgres database.&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/657/rss" width="1" height="1" /&gt;</description>
      <pubDate>Wed, 15 Jul 2026 00:00:00 +0000</pubDate>
      <guid>https://postgresweekly.com/issues/657</guid>
    </item>
    <item>
      <title>Postgres vs. everything else</title>
      <link>https://postgresweekly.com/issues/656</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;#​656 — July 8, 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/187598/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/187566/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/gh9d0pk0nfoal8f00czz.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/187566/rss" title="postgresisenough.dev" style=" color: #0088bb; font-size: 1.1em; line-height: 1.4em;"&gt;Postgres is Enough: How Postgres Can Replace Other Things&lt;/a&gt;&lt;/span&gt; — A perennial topic in the Postgres world is figuring out just how many other systems (like Redis, Elasticsearch and Kafka, say) Postgres can step in for. This directory rounds up 89 extensions and tools that help Postgres do just that.
&lt;/p&gt;
  &lt;p&gt;Goodway &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/187565/rss" style=" color: #0088bb;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/4df60f58.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/187565/rss" title="paradedb.com" style=" color: #0088bb; font-size: 1.05em;"&gt;Search Without a Second System&lt;/a&gt;&lt;/span&gt; — One Postgres for your application data, full-text search, vector retrieval, and aggregations. ParadeDB is an open-source Postgres extension that keeps pace with Elasticsearch.&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;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://postgresweekly.com/link/187567/rss" title="www.dbos.dev" style=" color: #0088bb; font-size: 1.05em;"&gt;Postgres Transactions are a Distributed Systems Superpower&lt;/a&gt;&lt;/span&gt; — 
Should workflow state live in a separate orchestrator, or in Postgres alongside your data? DBOS argues the latter: each step's checkpoint and database updates commit in one transaction, giving exactly-once semantics for those updates with no idempotency bookkeeping.&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/187568/rss" style=" color: #0088bb; font-weight: 600;"&gt;DBOSify&lt;/a&gt; puts the idea above into practice as a drop-in replacement for Temporal's Python SDK that uses Postgres with no Temporal server needed.&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/187569/rss" title="pgdog.dev" style=" color: #0088bb; font-size: 1.05em;"&gt;Why PgDog Built Yet Another Postgres Connection Pooler&lt;/a&gt;&lt;/span&gt; — Reducing user tradeoffs and providing a seamless experience, largely. For example, unlike PgBouncer, it keeps &lt;code&gt;SET&lt;/code&gt; and &lt;code&gt;LISTEN&lt;/code&gt;/&lt;code&gt;NOTIFY&lt;/code&gt; working in transaction mode.&lt;/p&gt;
  &lt;p&gt;Lev Kokotov &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/187570/rss" title="www.credativ.de" style=" color: #0088bb; font-size: 1.05em;"&gt;A Replication Deadlock Bug in Current Postgres 14-16 Releases&lt;/a&gt;&lt;/span&gt; — A report that v14.23, v15.18, and v16.14 introduced a regression that can lead to a &lt;code&gt;MultiXactOffsetSLRU&lt;/code&gt; deadlock during transaction log replay in some circumstances.&lt;/p&gt;
  &lt;p&gt;Credativ &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/187571/rss" title="www.depesz.com" style=" color: #0088bb; font-size: 1.05em;"&gt;Waiting for Postgres 20: Add Backend-Level Lock Statistics&lt;/a&gt;&lt;/span&gt; — Postgres 19 isn't here yet, but Hubert's looking forward to v20 and its forthcoming per-backend lock statistics, which will show which connections are stuck waiting on locks, and for how long.&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/187572/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Understanding Postgres 19 Property Graphs&lt;/a&gt; – A deeper look at mapping relational schemas onto &lt;a href="https://postgresweekly.com/link/187573/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;property graphs&lt;/a&gt;, gotchas included. &lt;cite&gt;Rimas Silkaitis&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://postgresweekly.com/link/187574/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Looking Forward to Postgres 19: Split Personality&lt;/a&gt; – &lt;code&gt;ALTER TABLE&lt;/code&gt; is gaining &lt;code&gt;SPLIT PARTITION&lt;/code&gt; and &lt;code&gt;MERGE PARTITIONS&lt;/code&gt; options. &lt;cite&gt;Shaun Thomas&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://postgresweekly.com/link/187575/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Using Postgres as a Temporal Database&lt;/a&gt;  &lt;cite&gt;Gulcin Yildirim Jelinek (Xata)&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://postgresweekly.com/link/187576/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Some More Thoughts on &lt;code&gt;random_page_cost&lt;/code&gt;&lt;/a&gt;  &lt;cite&gt;Tomas Vondra&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&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/187577/rss" title="github.com" style=" color: #0088bb; font-size: 1.05em;"&gt;pREST 2.0: Serve a RESTful API From a Postgres Database&lt;/a&gt;&lt;/span&gt; — Turn a Postgres database into a RESTful API. Covers similar ground to &lt;a href="https://postgresweekly.com/link/187578/rss" style=" color: #0088bb;"&gt;PostgREST&lt;/a&gt; but built in Go rather than Haskell. v2.0 adds &lt;a href="https://postgresweekly.com/link/187579/rss" style=" color: #0088bb;"&gt;support for multiple databases&lt;/a&gt;.&lt;/p&gt;
  &lt;p&gt;pREST 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;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://postgresweekly.com/link/187580/rss" title="github.com" style=" color: #0088bb; font-size: 1.05em;"&gt;PL/Ruby 2.5: Ruby as a Procedural Language for Postgres&lt;/a&gt;&lt;/span&gt; — Lets you write functions, triggers, event triggers, and procedures for Postgres in Ruby.&lt;/p&gt;
  &lt;p&gt;Joshua D. Drake (Command Prompt 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;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://postgresweekly.com/link/187581/rss" title="thombrown.blogspot.com" style=" color: #0088bb; font-size: 1.05em;"&gt;PL/CBMBASIC: Commodore 64 BASIC for Postgres&lt;/a&gt;&lt;/span&gt; — I like to slip a fun item in every now and then, and it doesn't get more fun than writing Postgres functions in a 44-year-old programming language.. does it? 😅&lt;/p&gt;
  &lt;p&gt;Thom Brown &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/187599/rss" title="github.com" style=" color: #0088bb; font-size: 1.05em;"&gt;Tinbase: A Supabase-Compatible Backend in a Single Binary&lt;/a&gt;&lt;/span&gt; — An experiment that provides a local Supabase-like dev experience without Docker using a pure-JS backend built on &lt;a href="https://postgresweekly.com/link/187583/rss" style=" color: #0088bb;"&gt;PGlite&lt;/a&gt; and &lt;a href="https://postgresweekly.com/link/187584/rss" style=" color: #0088bb;"&gt;pg-mem&lt;/a&gt;. A sort of mini, local-only Postgres wrapped in the same APIs as Supabase proper, so &lt;code&gt;supabase-js&lt;/code&gt; works unchanged.&lt;/p&gt;
  &lt;p&gt;Sanket Sahu &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/187585/rss" title="pglayers.github.io" style=" color: #0088bb; font-size: 1.05em;"&gt;pglayers: Postgres Extensions as Docker Layers&lt;/a&gt;&lt;/span&gt; — The official Postgres Docker images ship with few extensions and adding more can become tricky. pglayers tries to make this easier by layering extensions atop the official image.&lt;/p&gt;
  &lt;p&gt;Ismaël Mejía &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/187586/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;pgcopydb 0.18&lt;/a&gt; – Copy a Postgres database to a target server (a turbocharged &lt;code&gt;pg_dump | pg_restore&lt;/code&gt;, if you will).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/187587/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;PostGIS 3.7.0 Alpha 1&lt;/a&gt; – &lt;code&gt;ST_DWithin&lt;/code&gt; gets a major speed boost, Postgres 12/13 support is dropped, &lt;code&gt;address_standardizer&lt;/code&gt; and &lt;code&gt;tiger_geocoder&lt;/code&gt; are spun out into their own repos.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/187588/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;River 0.40&lt;/a&gt; – Job processing system for Go using Postgres. Contains a schema cleanup migration and adds &lt;code&gt;JobStuckHandler&lt;/code&gt; as a hook for handling stuck jobs.&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;📊 &lt;a href="https://postgresweekly.com/link/187589/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;OSS observability for any Postgres 14+&lt;/a&gt;. Tiered anomaly detection, historical metrics. Natural-language chat optional.&lt;/p&gt;
 
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/187590/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;No more sales calls for Postgres&lt;/a&gt;. Pick your product, check out, and scale on your own terms. &lt;a href="https://postgresweekly.com/link/187590/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;No waiting on a quote&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;"&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;Upcoming Postgres Events&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;🇲🇬 &lt;a href="https://postgresweekly.com/link/187591/rss" style=" color: #0088bb; font-weight: 600;"&gt;PostgreSQL Madagascar Conference 2026
 (July 18)&lt;/a&gt; — The second in-person Madagascar Postgres conference, with talks in Malagasy, French, and English.&lt;/li&gt;
&lt;li&gt;🇬🇧 &lt;a href="https://postgresweekly.com/link/187592/rss" style=" color: #0088bb; font-weight: 600;"&gt;PGDay UK 2026
 (September 8 in London)&lt;/a&gt; — The fourth annual PGDay UK, run in partnership with PGDay Lowlands.&lt;/li&gt;
&lt;li&gt;🇪🇺 &lt;a href="https://postgresweekly.com/link/187593/rss" style=" color: #0088bb; font-weight: 600;"&gt;PGConf.EU 2026
 (October 20-23 in Valencia, Spain)&lt;/a&gt; — The biggest Postgres event in Europe.&lt;/li&gt;
&lt;li&gt;🇦🇺 &lt;a href="https://postgresweekly.com/link/187594/rss" style=" color: #0088bb; font-weight: 600;"&gt;PG Down Under 2026
 (October 30 in Sydney)&lt;/a&gt; — The sixth annual conference for Postgres folks in Australia and New Zealand. &lt;a href="https://postgresweekly.com/link/187595/rss" style=" color: #0088bb; font-weight: 600;"&gt;Its CFP is open&lt;/a&gt; until next week (July 15).&lt;/li&gt;
&lt;li&gt;🇭🇰 &lt;a href="https://postgresweekly.com/link/187596/rss" style=" color: #0088bb; font-weight: 600;"&gt;PGCONF.ASIA 2026
 (November 17-18 in Hong Kong)&lt;/a&gt; — A leading conference in Asia. The CFP is currently open.&lt;/li&gt;
&lt;li&gt;🇵🇱 &lt;a href="https://postgresweekly.com/link/187597/rss" style=" color: #0088bb; font-weight: 600;"&gt;PGConf.PL 2026
 (November 24 in Gdańsk)&lt;/a&gt; — The inaugural PostgreSQL conference for Poland and Central Europe.&lt;/li&gt;

&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;Note: This list is not exhaustive, and we will continue to mention and promote other events over time.&lt;/em&gt;&lt;/p&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;/div&gt;
  &lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;




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