<?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 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>
    <item>
      <title>New SQL features from the latest standards meeting</title>
      <link>https://postgresweekly.com/issues/655</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;#​655 — July 1, 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/187306/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/187277/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/crih5wm9tpxdxxxon0jl.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/187277/rss" title="peter.eisentraut.org" style=" color: #0088bb; font-size: 1.1em; line-height: 1.4em;"&gt;New SQL Standard Features with Postgres Implications&lt;/a&gt;&lt;/span&gt; — Postgres contributor and SQL standards committee member Peter Eisentraut reports from the latest standardization meeting, where &lt;code&gt;QUALIFY&lt;/code&gt;, &lt;code&gt;INSERT ... BY NAME&lt;/code&gt;, and &lt;code&gt;JOIN TO ONE&lt;/code&gt; were adopted into the draft standard. Plus an update on the still under discussion ‘key joins’ proposal.&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;💡 Peter notes &lt;em&gt;"the PostgreSQL 20 development cycle is about to kick off, and this article contains some project ideas in various stages, if someone wants to chip in."&lt;/em&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;a href="https://postgresweekly.com/link/187276/rss" style=" color: #0088bb;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/2667fd30.jpg" width="160" height="53" 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/187276/rss" title="store.enterprisedb.com" style=" color: #0088bb; font-size: 1.05em;"&gt;Buy and Upgrade EDB Postgres, No Sales Call&lt;/a&gt;&lt;/span&gt; — Buying or upgrading Postgres used to mean a sales call and a contract. Now you can do it yourself. The store lets technical teams purchase and scale on their own terms, no waiting on a quote. &lt;a href="https://postgresweekly.com/link/187276/rss" style=" color: #0088bb;"&gt;Pick your product and check out&lt;/a&gt;.&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/187278/rss" title="ardentperf.com" style=" color: #0088bb; font-size: 1.05em;"&gt;Why Slow Postgres Checkpoints Make Restarts Risky&lt;/a&gt;&lt;/span&gt; — Restarting a struggling Postgres instance feels like a safe move, but a veteran engineer explains why it can be the opposite, using two real, extended outages on databases with checkpoint problems. He also shares a practical starting threshold for alerts, so you don’t have to learn the hard way.&lt;/p&gt;
  &lt;p&gt;Jeremy Schneider &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/187279/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;PGlite&lt;/a&gt;, a WebAssembly build of Postgres for use in JavaScript environments, &lt;a href="https://postgresweekly.com/link/187280/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;celebrates reaching 10 million weekly downloads&lt;/a&gt; while explaining the use cases and how to get started with it yourself.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;ClickHouse &lt;a href="https://postgresweekly.com/link/187281/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;has unveiled WAL-RUS, a Rust-based rewrite of WAL-G&lt;/a&gt; for more predictable memory use over long-running archival processes.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🇺🇸 Ticket sales for &lt;a href="https://postgresweekly.com/link/187282/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Postgres Summit US&lt;/a&gt;, taking place this fall in NYC, &lt;a href="https://postgresweekly.com/link/187283/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;have now opened.&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/187284/rss" title="aws.amazon.com" style=" color: #0088bb; font-size: 1.05em;"&gt;Running &lt;code&gt;pgvector&lt;/code&gt; in Production on Amazon Aurora&lt;/a&gt;&lt;/span&gt; — A dense guide to working with &lt;a href="https://postgresweekly.com/link/187285/rss" style=" color: #0088bb;"&gt;pgvector&lt;/a&gt;, from index choices, quantization, and query operators to config settings and operational aspects. It’s Aurora-&lt;em&gt;focused&lt;/em&gt;, but still highly useful for both existing and potential pgvector users elsewhere.&lt;/p&gt;
  &lt;p&gt;Aichholzer and Pareek (AWS) &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/187286/rss" title="www.cybertec-postgresql.com" style=" color: #0088bb; font-size: 1.05em;"&gt;Too Many Tables are Bad for You&lt;/a&gt;&lt;/span&gt; — A new performance consulting tale from Laurenz. This time demonstrating how having too many tables can not only spike memory usage, but also slow down queries against Postgres own system catalog.&lt;/p&gt;
  &lt;p&gt;Laurenz Albe &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/187287/rss" title="www.youtube.com" style=" color: #0088bb; font-size: 1.05em;"&gt;44 Talks from POSETTE 2026&lt;/a&gt;&lt;/span&gt; — Microsoft has shared all the talks from its recent POSETTE virtual Postgres conference on YouTube. Highlights include:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://postgresweekly.com/link/187288/rss" style=" color: #0088bb;"&gt;Postgres 19 Hackers Panel&lt;/a&gt; – Four Postgres contributors discuss the Postgres development and release process. What makes the cut, how, and why? Plus some future Postgres features are teased.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://postgresweekly.com/link/187289/rss" style=" color: #0088bb;"&gt;
The Hitchhiker’s Guide to PostgreSQL Hacking&lt;/a&gt; – A useful introduction to getting involved with working on the Postgres codebase.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://postgresweekly.com/link/187290/rss" style=" color: #0088bb;"&gt;Querying &amp;amp; Visualizing Graphs in Postgres with Apache AGE&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://postgresweekly.com/link/187291/rss" style=" color: #0088bb;"&gt;JSON: Evil Data Type or Just Needs to be Tamed?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://postgresweekly.com/link/187292/rss" style=" color: #0088bb;"&gt;An MCP for your Postgres DB&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

  &lt;p&gt;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;📄 &lt;a href="https://postgresweekly.com/link/187293/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Why It's So Hard to Add a Column in the Middle of a Postgres Table&lt;/a&gt;  &lt;cite&gt;Tianzhou (Bytebase)&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://postgresweekly.com/link/187294/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Reading Your Own Writes with &lt;code&gt;WAIT FOR LSN&lt;/code&gt; in Postgres 19&lt;/a&gt;  &lt;cite&gt;Redowan Delowar&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;PostgreSQL-as-a-service w/ hybrid search, token budgeting, streaming API, no vendor lock-in. &lt;a href="https://postgresweekly.com/link/187295/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Try it on pgEdge Cloud&lt;/a&gt;.&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;&lt;strong&gt;RELEASES AND CODE:&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&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/187296/rss" title="github.com" style=" color: #0088bb; font-size: 1.05em;"&gt;pgrust: An AI-Assisted Rewrite of Postgres in Rust&lt;/a&gt;&lt;/span&gt; — It's not production ready, and AI did much of the work, but it's neat to see that producing an implementation that passes Postgres' own regression tests is possible. The author has spun up &lt;a href="https://postgresweekly.com/link/187297/rss" style=" color: #0088bb;"&gt;a Web-compiled demo&lt;/a&gt; so you can kick the tires.&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;💡 pgrust is no mere &lt;em&gt;"Claude, reimplement Postgres in Rust for me"&lt;/em&gt; project. Michael has &lt;a href="https://postgresweekly.com/link/187298/rss" style=" color: #0088bb; font-weight: 600;"&gt;blogged about what's involved&lt;/a&gt; and &lt;a href="https://postgresweekly.com/link/187299/rss" style=" color: #0088bb; font-weight: 600;"&gt;his progress&lt;/a&gt; since April. He has &lt;em&gt;eight&lt;/em&gt; Codex accounts running in parallel on this!&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/187300/rss" title="github.com" style=" color: #0088bb; font-size: 1.05em;"&gt;Noisia 0.3: A &lt;em&gt;Harmful Workload&lt;/em&gt; Generator for Postgres&lt;/a&gt;&lt;/span&gt; — Creates things like deadlocks, transactions that do nothing, and queries that produce on-disk temporary files for stress-testing your setup. Use with care! The latest version adds a &lt;a href="https://postgresweekly.com/link/187301/rss" style=" color: #0088bb;"&gt;‘backend killer’ workload&lt;/a&gt; (via OOM) and a &lt;a href="https://postgresweekly.com/link/187302/rss" style=" color: #0088bb;"&gt;‘slot-bloat’ workload&lt;/a&gt;.&lt;/p&gt;
  &lt;p&gt;Alexey Lesovsky &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/187303/rss" title="github.com" style=" color: #0088bb; font-size: 1.05em;"&gt;Biscuit: A High-Performance Pattern Matching Index&lt;/a&gt;&lt;/span&gt; — An experimental specialized index access method for speeding up &lt;code&gt;LIKE&lt;/code&gt;/&lt;code&gt;ILIKE&lt;/code&gt; pattern matching.&lt;/p&gt;
  &lt;p&gt;Sivaprasad Murali &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/187304/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;pgtt 4.5&lt;/a&gt; – Create and manage Oracle-style Global Temporary Tables. v4.5 adds Postgres 19 and &lt;code&gt;CREATE INDEX CONCURRENTLY&lt;/code&gt; support.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/187305/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;PGSync 7.1.0&lt;/a&gt; – Postgres to Elasticsearch/OpenSearch syncing.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/187285/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;pgvector 0.8.4&lt;/a&gt; – Two small fixes for HNSW vacuuming.&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/655/rss" width="1" height="1" /&gt;</description>
      <pubDate>Wed, 1 Jul 2026 00:00:00 +0000</pubDate>
      <guid>https://postgresweekly.com/issues/655</guid>
    </item>
    <item>
      <title>What's coming in Postgres 19 (and what's still missing)</title>
      <link>https://postgresweekly.com/issues/654</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;#​654 — June 24, 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/186991/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/186969/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/tvcjxyzjawv5araqeimo.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/186969/rss" title="www.snowflake.com" style=" color: #0088bb; font-size: 1.1em; line-height: 1.4em;"&gt;Looking Ahead to Postgres 19&lt;/a&gt;&lt;/span&gt; — &lt;em&gt;“Postgres 19 feels like one of those releases that has a bit of everything,”&lt;/em&gt; says Craig, who focuses on quality of life improvements that day-to-day Postgres users will come to appreciate, both at the operational level (e.g. &lt;code&gt;REPACK&lt;/code&gt; and partitioning improvements) and in SQL (e.g. SQL/PGQ and &lt;code&gt;GROUP BY ALL&lt;/code&gt;).&lt;/p&gt;
  &lt;p&gt;Craig Kerstiens &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;💡 Shaun Thomas &lt;a href="https://postgresweekly.com/link/186970/rss" style=" color: #0088bb; font-weight: 600;"&gt;digs into Postgres 19's logical replication of sequences&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;a href="https://postgresweekly.com/link/186968/rss" style=" color: #0088bb;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/d0e5a96d.png" width="142" 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/186968/rss" title="aka.ms" style=" color: #0088bb; font-size: 1.05em;"&gt;44 Recorded PostgreSQL Talks Are Now Available to Watch&lt;/a&gt;&lt;/span&gt; — POSETTE: An Event for Postgres 2026 is over, but the talks are here to stay. All sessions are now available on YouTube, so you can learn directly from Postgres experts at your own pace. &lt;a href="https://postgresweekly.com/link/186968/rss" style=" color: #0088bb;"&gt;Access the full playlist of 44 talks&lt;/a&gt;.&lt;/p&gt;
  &lt;p&gt;Microsoft | AMD &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/186971/rss" title="www.youtube.com" style=" color: #0088bb; font-size: 1.05em;"&gt;What's Missing in Postgres?&lt;/a&gt;&lt;/span&gt; — We report on features Postgres is adding all the time, but what’s ‘missing’ and why? Bruce touches on a diverse range from sharding and connection pooling to columnar storage and transparent data encryption. &lt;em&gt;Can’t watch? Here are &lt;a href="https://postgresweekly.com/link/186972/rss" style=" color: #0088bb;"&gt;the slides in PDF form.&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
  &lt;p&gt;Bruce Momjian &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/186973/rss" title="aws.amazon.com" style=" color: #0088bb; font-size: 1.05em;"&gt;Postgres 18 Performance Enhancements&lt;/a&gt;&lt;/span&gt; — Postgres 18 has many enhancements and performance tweaks worth reviewing. This tour covers skip scan optimization, Self-Join Elimination, autovacuum settings, and more. It takes an AWS perspective, but most of it applies to anyone on Postgres 18.&lt;/p&gt;
  &lt;p&gt;Jafri, Bedi, Burman and Shaik (Amazon) &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  
  &lt;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://postgresweekly.com/link/186974/rss" title="richyen.com" style=" color: #0088bb; font-size: 1.05em;"&gt;pg_stats: How Postgres Internal Stats Work&lt;/a&gt;&lt;/span&gt; — Get a working understanding of what &lt;a href="https://postgresweekly.com/link/186975/rss" style=" color: #0088bb;"&gt;&lt;code&gt;pg_stats&lt;/code&gt;&lt;/a&gt; is, and how it shapes the query planner's decisions.&lt;/p&gt;
  &lt;p&gt;Richard Yen &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;📄 &lt;a href="https://postgresweekly.com/link/186976/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Optimizing Polymorphic Associations in Postgres&lt;/a&gt;  &lt;cite&gt;Andrei Lepikhov&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://postgresweekly.com/link/186977/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Shipping &lt;code&gt;psql&lt;/code&gt; Without &lt;code&gt;psql&lt;/code&gt;: A Pure-TypeScript Client in &lt;code&gt;neonctl&lt;/code&gt;&lt;/a&gt;  &lt;cite&gt;Vadim Kharitonov (Neon)&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://postgresweekly.com/link/186978/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Looking Forward to Postgres 19: Query Hints&lt;/a&gt;  &lt;cite&gt;Shaun Thomas&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/186979/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;ColdFront Beta&lt;/a&gt;: Auto-tier old Postgres data to Iceberg on S3. Same table, same SQL. Cold data stays writable. &lt;a href="https://postgresweekly.com/link/186979/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Open source&lt;/a&gt;.&lt;/p&gt;
 
&lt;p&gt;Run AI agents like microservices — agents with auto-generated APIs, durable memory, policy-based orchestration. No glue code. Open source. &lt;a href="https://postgresweekly.com/link/186980/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;→ Star on GitHub&lt;/a&gt;.&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;&lt;strong&gt;RELEASES AND CODE:&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr style="line-height: 1.0em;"&gt;&lt;td style="font-size: 15px; line-height: 1.0em;"&gt;
  &lt;a href="https://postgresweekly.com/link/186981/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/q8lzgtssd0mct5obsmxx.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;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 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/186981/rss" title="www.pghardstorage.org" style=" color: #0088bb; font-size: 1.05em;"&gt;&lt;code&gt;pg_hardstorage&lt;/code&gt; 1.0: A New Backup and Recovery Approach&lt;/a&gt;&lt;/span&gt; — A streaming-first, host-access-free, chain-free backup tool in a single binary that streams the WAL over an ordinary replication connection for gap-free, byte-precise PITR. It includes pgBackRest and Barman shims so you can swap it in/try it out without rewriting your automation.&lt;/p&gt;
  &lt;p&gt;Cybertec &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/186985/rss" title="a-saed.github.io" style=" color: #0088bb; font-size: 1.05em;"&gt;Datum: Local-First Spatial Syncing for PostGIS&lt;/a&gt;&lt;/span&gt; — A local-first sync layer that mirrors Postgres/PostGIS tables into an in-browser PostGIS instance (via the WASM-based &lt;a href="https://postgresweekly.com/link/186986/rss" style=" color: #0088bb;"&gt;PGlite&lt;/a&gt;) with real-time deltas over &lt;code&gt;NOTIFY&lt;/code&gt;.&lt;/p&gt;
  &lt;p&gt;Abdulrhman Elsaed &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/186982/rss" title="migration.useautopilot.dev" style=" color: #0088bb; font-size: 1.05em;"&gt;Migration Autopilot: GitHub Action to Review DB Migration PRs&lt;/a&gt;&lt;/span&gt; — Looks at database migrations and detects the renaming or dropping of columns and tables, truncation, &lt;a href="https://postgresweekly.com/link/186983/rss" style=" color: #0088bb;"&gt;and similar issues&lt;/a&gt;.&lt;/p&gt;
  &lt;p&gt;Isabelle Hue &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/186987/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;SPQR 3.0&lt;/a&gt; – &lt;em&gt;Stateless Postgres Query Router&lt;/em&gt; for horizontal scaling via sharding. v3.0 adds distributed query support, distributed and reference tables, and two-phase commit for DDL/migrations across shards.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/186988/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;pgrx v0.19&lt;/a&gt; – Framework for building Postgres extensions in Rust. v0.19 adds Postgres 19 Beta support, updates dependencies, and includes tidy-ups.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/186989/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;pgAdmin 4 9.16&lt;/a&gt; – Popular web-based Postgres management tool.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/186990/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;pg_parse 0.15.0&lt;/a&gt; – Postgres SQL parser for Rust.&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/654/rss" width="1" height="1" /&gt;</description>
      <pubDate>Wed, 24 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://postgresweekly.com/issues/654</guid>
    </item>
    <item>
      <title>The only scalable delete is DROP TABLE</title>
      <link>https://postgresweekly.com/issues/653</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;#​653 — June 17, 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/186683/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/186644/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/rl7yc3sauxvwjkycdstt.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/186644/rss" title="andyatkinson.com" style=" color: #0088bb; font-size: 1.1em; line-height: 1.4em;"&gt;Scaling Postgres to 226k TPS: A Christmas Day Retrospective&lt;/a&gt;&lt;/span&gt; — A meaty post-mortem and tactical walkthrough of how a digital photo-frame company went from having its Postgres deployment crash out during the 2024 holiday season to handling 2025 without a hitch.&lt;/p&gt;
  &lt;p&gt;Andrew Atkinson &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
  &lt;a href="https://postgresweekly.com/link/186643/rss" style=" color: #0088bb;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/377f2e5f.png" width="160" height="84" 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/186643/rss" title="www.tigerdata.com" style=" color: #0088bb; font-size: 1.05em;"&gt;Learn How CERN Runs 40% Faster Queries on 95% Less Storage&lt;/a&gt;&lt;/span&gt; — CERN's 800+ SCADA systems generate hundreds of GB of time-series data daily. See how their engineers achieved 95% storage reduction and 40% faster queries with TimescaleDB — inside Postgres. Jun 25, 9 AM ET.&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/186645/rss" title="planetscale.com" style=" color: #0088bb; font-size: 1.05em;"&gt;The Only Scalable Delete in Postgres is &lt;code&gt;DROP TABLE&lt;/code&gt;&lt;/a&gt;&lt;/span&gt; — A reminder that large &lt;code&gt;DELETE&lt;/code&gt; operations cost more than you think, and how refactoring to a &lt;code&gt;DROP&lt;/code&gt; or &lt;code&gt;TRUNCATE&lt;/code&gt; can help in some cases.&lt;/p&gt;
  &lt;p&gt;Tom Pang (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;p&gt;&lt;strong&gt;IN BRIEF:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Claire Giordano presents a fantastic roundup of &lt;a href="https://postgresweekly.com/link/186646/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;everything new with Postgres at Microsoft&lt;/a&gt; in the past year, from its hosted services to team members' Postgres 19 contributions.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;📺 Microsoft's &lt;a href="https://postgresweekly.com/link/186647/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;POSETTE 2026&lt;/a&gt; virtual Postgres conference is taking place &lt;em&gt;this week&lt;/em&gt;, if you want to check out the livestreams.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/186648/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;PgDog&lt;/a&gt; (an open source connection pooler/sharder) has &lt;a href="https://postgresweekly.com/link/186649/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;raised $5.5m in funding&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🇺🇸 &lt;a href="https://postgresweekly.com/link/186650/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Postgres Summit US&lt;/a&gt; is this September 30-October 2 in NYC. They're &lt;a href="https://postgresweekly.com/link/186651/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;looking for volunteers&lt;/a&gt; if you'd like to help.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🇬🇧 Seven spots remain for next week's &lt;a href="https://postgresweekly.com/link/186652/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;London PostgreSQL Meetup Group&lt;/a&gt; session.&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;span&gt;🕒&lt;/span&gt; &lt;a href="https://postgresweekly.com/link/186653/rss" title="www.crunchydata.com" style=" color: #0088bb; font-size: 1.05em;"&gt;British Columbia, Time Zones, and Postgres&lt;/a&gt;&lt;/span&gt; — British Columbia &lt;a href="https://postgresweekly.com/link/186654/rss" style=" color: #0088bb;"&gt;switched to permanent daylight saving time&lt;/a&gt; in March, providing an illustration of a subtle &lt;code&gt;timestamptz&lt;/code&gt; trap: future local times stored &lt;em&gt;before&lt;/em&gt; a &lt;code&gt;tzdata&lt;/code&gt; update come back an hour wrong! Here’s how to avoid getting caught out.&lt;/p&gt;
  &lt;p&gt;Christopher Winslett (Crunchy 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;p&gt;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;▶  &lt;a href="https://postgresweekly.com/link/186655/rss" title="talkingpostgres.com" style=" color: #0088bb; font-size: 1.05em;"&gt;How I Got Started Running a Postgres User Group&lt;/a&gt;&lt;/span&gt; — Jeremy Schneider joined Claire Giordano to discuss why local Postgres user groups are career &lt;em&gt;“express lanes”&lt;/em&gt; and why the hard work of running one is worth it. &lt;a href="https://postgresweekly.com/link/186656/rss" style=" color: #0088bb;"&gt;Full transcript.&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;Talking Postgres Podcast &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;💡 The Postgres site maintains &lt;a href="https://postgresweekly.com/link/186658/rss" style=" color: #0088bb; font-weight: 600;"&gt;an official list of local user groups&lt;/a&gt; if you want to find one in your area.&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/186661/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Write-Heavy &lt;code&gt;sysbench&lt;/code&gt; Tests on a Large Server: Postgres vs MySQL&lt;/a&gt; – Mark suspects a performance regression in recent Postgres versions and is trying to figure it out. &lt;cite&gt;Mark Callaghan&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://postgresweekly.com/link/186664/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;A Thousand Postgres Branches for $1&lt;/a&gt; – How Xata drastically improved their database provisioning and branching times. &lt;cite&gt;Tudor Golubenco (Xata)&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/186667/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;New in pgEdge Control Plane&lt;/a&gt;: deploy MCP, RAG, &amp;amp; PostgREST alongside your DB… + systemd preview.&lt;/p&gt;
 
&lt;p&gt;When AI writes the data-layer changes, code review stops being a checklist problem. &lt;a href="https://postgresweekly.com/link/186670/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;AgentField&lt;/a&gt; breaks down what review becomes in an AI-native engineering team. &lt;a href="https://postgresweekly.com/link/186670/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;→ Read the post&lt;/a&gt;.&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;
&lt;p&gt;&lt;strong&gt;RELEASES AND CODE:&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&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/186673/rss" title="github.com" style=" color: #0088bb; font-size: 1.05em;"&gt;pg_durable: Durable Execution Inside Postgres&lt;/a&gt;&lt;/span&gt; — Microsoft has open sourced the durable workflow engine it uses in &lt;a href="https://postgresweekly.com/link/186674/rss" style=" color: #0088bb;"&gt;Azure HorizonDB&lt;/a&gt;. There are two &lt;a href="https://postgresweekly.com/link/186675/rss" style=" color: #0088bb;"&gt;Docker images&lt;/a&gt; running on Postgres 17/18 to experiment with, and &lt;a href="https://postgresweekly.com/link/186676/rss" style=" color: #0088bb;"&gt;full docs here.&lt;/a&gt;&lt;/p&gt;
  &lt;p&gt;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;&lt;span style="font-weight: 600; font-size: 1.1em; color: #000;"&gt;&lt;a href="https://postgresweekly.com/link/186677/rss" title="pgducklake.select" style=" color: #0088bb; font-size: 1.05em;"&gt;pg_ducklake 1.0: A Native Lakehouse in Postgres&lt;/a&gt;&lt;/span&gt; — An extension that brings columnar storage, vectorized execution, and lakehouse architecture (data lake with a catalog) to Postgres, built with DuckDB and &lt;a href="https://postgresweekly.com/link/186678/rss" style=" color: #0088bb;"&gt;DuckLake&lt;/a&gt;.&lt;/p&gt;
  &lt;p&gt;Relyt &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/186679/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;Nandi 3.0&lt;/a&gt; – A migration tool for &lt;em&gt;Ruby on Rails&lt;/em&gt; that keeps routine-looking schema changes from taking your database down on large tables.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/186680/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;PostgreSQL Anonymizer 3.1&lt;/a&gt; – Now with Local Differential Privacy (LDP) for stronger privacy 'noise'. Also includes a critical security update with all existing users directed to upgrade ASAP.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/186681/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;pgstream 1.1&lt;/a&gt; – Schema change tracking and CDC tool built around logical replication.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🌐 &lt;a href="https://postgresweekly.com/link/186682/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;osm2pgsql 2.3&lt;/a&gt; – Import OpenStreetMap data into Postgres/PostGIS.&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/653/rss" width="1" height="1" /&gt;</description>
      <pubDate>Wed, 17 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://postgresweekly.com/issues/653</guid>
    </item>
  </channel>
</rss>
