<?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>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>
    <item>
      <title>Postgres 19 Beta 1 is here</title>
      <link>https://postgresweekly.com/issues/652</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;#​652 — June 10, 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/186354/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/186319/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/krjjheur4jzublurtcvw.jpg" width="640" style="margin-bottom: 0;     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/186319/rss" title="www.postgresql.org" style=" color: #0088bb; font-size: 1.1em; line-height: 1.4em;"&gt;PostgreSQL 19 Beta 1 Released&lt;/a&gt;&lt;/span&gt; — One of the more exciting major releases of Postgres is a step closer with graph queries, faster inserts, &lt;a href="https://postgresweekly.com/link/186320/rss" style=" color: #0088bb;"&gt;pg_plan_advice&lt;/a&gt;, parallel-worker autovacuuming, &lt;a href="https://postgresweekly.com/link/186322/rss" style=" color: #0088bb;"&gt;online toggling of data checksums&lt;/a&gt;, and more, all ready to try now. Final release will be around late September/early October.&lt;/p&gt;
  &lt;p&gt;PostgreSQL Global Development Group &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;&lt;p&gt;💡 Ready to give Postgres 19 a spin? Here's &lt;a href="https://postgresweekly.com/link/186323/rss" style=" color: #0088bb; font-weight: 600;"&gt;how to get it running in Docker&lt;/a&gt; or &lt;a href="https://postgresweekly.com/link/186324/rss" style=" color: #0088bb; font-weight: 600;"&gt;on a Kubernetes cluster&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/186318/rss" style=" color: #0088bb;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/1c6a7113.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/186318/rss" title="posetteconf.com" style=" color: #0088bb; font-size: 1.05em;"&gt;Come for Great PostgreSQL Talks, and Yes, There’s Swag&lt;/a&gt;&lt;/span&gt; — POSETTE: An Event for Postgres is around the corner (16-18 Jun). Pick &amp;amp; attend your must-sees. Join the Hallway Track on Discord for limited, exclusive event swag for attendees to the live event from anywhere in your slippers. Last call: &lt;a href="https://postgresweekly.com/link/186318/rss" style=" color: #0088bb;"&gt;Register now&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;strong&gt;IN BRIEF:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;📘 The &lt;a href="https://postgresweekly.com/link/186326/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;official Postgres 19 documentation&lt;/a&gt; is now taking shape, such as &lt;a href="https://postgresweekly.com/link/186327/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;this page on property graphs&lt;/a&gt; and &lt;a href="https://postgresweekly.com/link/186329/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;the draft release notes&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;💰 &lt;a href="https://postgresweekly.com/link/186330/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Supabase has raised a $500m Series F round&lt;/a&gt; at a valuation of $10bn.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Spectral Core has &lt;a href="https://postgresweekly.com/link/186331/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;unveiled SQL Tran&lt;/a&gt;, a (commercial) tool for automating Oracle to Postgres migrations.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; 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/186332/rss" title="theconsensus.dev" style=" color: #0088bb; font-size: 1.05em;"&gt;Comparing the Graph Capabilities of Postgres, DuckDB, and LadybugDB&lt;/a&gt;&lt;/span&gt; — A baseball-oriented comparison of how three databases fare (both in terms of developer experience and raw performance) with making graph-style queries across millions of rows of player, venue, and game data.&lt;/p&gt;
  &lt;p&gt;John Nevin &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=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/186333/rss" title="www.pgedge.com" style=" color: #0088bb; font-size: 1.05em;"&gt;&lt;code&gt;EXPLAIN&lt;/code&gt; Prettier (or Post-Processing Query Plans)&lt;/a&gt;&lt;/span&gt; — &lt;code&gt;EXPLAIN&lt;/code&gt; output can be tricky to read at the best of times and it can also change subtly between machines and versions. Andrei shows off &lt;a href="https://postgresweekly.com/link/186334/rss" style=" color: #0088bb;"&gt;explain_prettier&lt;/a&gt;, which makes &lt;code&gt;EXPLAIN&lt;/code&gt; output cleaner and simpler by stripping away unnecessary info.&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/186335/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;The Postgres Developer's Guide to Vector Index Tradeoffs&lt;/a&gt; – Find out what HNSW, IVFFlat, DiskANN, and SPFresh indexes are and when to pick each of them. &lt;cite&gt;Hien Phan (Tiger Data)&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://postgresweekly.com/link/186337/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;SQL’s &lt;code&gt;ORDER BY&lt;/code&gt; Has Come a Long Way&lt;/a&gt; – A feature tour from the 80s through to the ISO-specified SQL:2023 present. &lt;cite&gt;Markus Winand&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://postgresweekly.com/link/186338/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Does pgBackRest Work with &lt;code&gt;pg_tde&lt;/code&gt;?&lt;/a&gt; – Can pgBackRest handle encrypted WAL segments transparently? Mostly, yes! &lt;cite&gt;Stefan Fercot&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://postgresweekly.com/link/186339/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;File Descriptors: The OS Limit That Takes Down Postgres&lt;/a&gt;  &lt;cite&gt;Warda Bibi&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/186340/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Build a full RAG stack inside Postgres&lt;/a&gt;. Docloader, Vectorizer, RAG, &amp;amp; MCP. &lt;a href="https://postgresweekly.com/link/186340/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;100% open source&lt;/a&gt;.&lt;/p&gt;
 
&lt;p&gt;🐘 AI wrote the migration. Who reviews it? Open-source multi-agent PR review - a custom review lens per PR, cents per run. &lt;a href="https://postgresweekly.com/link/186341/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Star &amp;amp; deploy →&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/186342/rss" title="earendil-works.github.io" style=" color: #0088bb; font-size: 1.05em;"&gt;Absurd: A Postgres-Native Durable Workflow System&lt;/a&gt;&lt;/span&gt; — Described as &lt;em&gt;“the simplest durable execution workflow system you can think of”&lt;/em&gt;, Absurd is &lt;a href="https://postgresweekly.com/link/186343/rss" style=" color: #0088bb;"&gt;an SQL file&lt;/a&gt; that implements a multi-step task/queue/worker system on regular Postgres. There are &lt;a href="https://postgresweekly.com/link/186344/rss" style=" color: #0088bb;"&gt;SDKs&lt;/a&gt; to make it easy to use from TypeScript, Python, and Go.&lt;/p&gt;
  &lt;p&gt;Armin Ronacher (Earendil) &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=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/186345/rss" title="supabase.com" style=" color: #0088bb; font-size: 1.05em;"&gt;Multigres v0.1 Alpha: An 'Operating System' for Postgres&lt;/a&gt;&lt;/span&gt; — A year ago, &lt;a href="https://postgresweekly.com/link/186346/rss" style=" color: #0088bb;"&gt;Supabase announced&lt;/a&gt; it was hiring the co-creator of Vitess to work on a Vitess-like horizontally-scaling database clustering system but for Postgres. This alpha is an early public look at what they’re building.&lt;/p&gt;
  &lt;p&gt;Sugu Sougoumarane &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=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/186347/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;TimescaleDB 2.27&lt;/a&gt; – Tiger Data's time series extension continues its focus on performance with more efficient operations on compressed data in particular.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/186348/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;pg_clickhouse 0.3&lt;/a&gt; – FDW for querying ClickHouse databases from Postgres. The underlying C++ library gets switched out for a faster, more robust C alternative.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/186349/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;pg_background 2.0&lt;/a&gt; – Run SQL in background workers. Now works with Postgres 19.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/186350/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;Kanel 4.0&lt;/a&gt; – Generate TypeScript types from a live Postgres database.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/186351/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;pgrls&lt;/a&gt; – Static analyzer for RLS (Row-Level Security) to catch common policy bugs.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/186352/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;NeonD&lt;/a&gt; – Open-source Neon-based control plane daemon for Postgres that runs as a single Docker container.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/186353/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;pgcheck&lt;/a&gt; – A lightweight Postgres health-check CLI written in Go.&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/652/rss" width="1" height="1" /&gt;</description>
      <pubDate>Wed, 10 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://postgresweekly.com/issues/652</guid>
    </item>
    <item>
      <title>A chat with the creator of Postgres</title>
      <link>https://postgresweekly.com/issues/651</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;#​651 — June 3, 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/186045/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/186020/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/k4fty4cyhoq9abd75kbb.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/186020/rss" title="www.cybertec-postgresql.com" style=" color: #0088bb; font-size: 1.1em; line-height: 1.4em;"&gt;Handling Graphs with &lt;code&gt;SQL/PGQ&lt;/code&gt; in Postgres 19&lt;/a&gt;&lt;/span&gt; — Postgres 19 is adding support for SQL/PGQ, so you can declare a property graph over tables and pattern-match with Cypher-&lt;em&gt;like&lt;/em&gt;  &lt;code&gt;MATCH (a IS person)-[IS knows]-&amp;gt;(b IS person)&lt;/code&gt; queries. It’s all handled by the query &lt;em&gt;rewriter&lt;/em&gt;, so a graph pattern becomes a normal relational query.&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;💡 Want graph queries on &lt;em&gt;today’s&lt;/em&gt; Postgres? Elizabeth Garrett Christensen &lt;a href="https://postgresweekly.com/link/186021/rss" style=" color: #0088bb; font-weight: 600;"&gt;shows how the Apache AGE extension&lt;/a&gt; brings openCypher to current versions.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=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/186019/rss" style=" color: #0088bb;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/10deb78b.webp" width="160" height="89" 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/186019/rss" title="www.tigerdata.com" style=" color: #0088bb; font-size: 1.05em;"&gt;95% Less Storage. 40% Faster Analytics. CERN on Postgres&lt;/a&gt;&lt;/span&gt; — CERN's Large Hadron Collider generates hundreds of GB of time-series data daily. In this live webinar, their engineers walk through how they modernized a legacy archiving stack with TimescaleDB. June 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;span&gt;🔓&lt;/span&gt; &lt;a href="https://postgresweekly.com/link/186022/rss" title="www.pgedge.com" style=" color: #0088bb; font-size: 1.05em;"&gt;Why Postgres Lacks Transparent Data Encryption&lt;/a&gt;&lt;/span&gt; — Many other databases have it, but in Postgres you need to lean on third party services or the &lt;a href="https://postgresweekly.com/link/186023/rss" style=" color: #0088bb;"&gt;pg-tde&lt;/a&gt; extension. Why? Shaun digs into old discussions about the feature, and finds the biggest problem is defining &lt;em&gt;what&lt;/em&gt; problem that TDE actually needs to solve.&lt;/p&gt;
  &lt;p&gt;Shaun Thomas &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=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/186024/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Postgres 19 Beta 1 has been tagged&lt;/a&gt; on the official repo by Tom Lane. There's little to see yet, but a beta announcement seems to be imminent.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Microsoft has made its VS Code extension for Postgres &lt;a href="https://postgresweekly.com/link/186025/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;available on the Open VSX registry&lt;/a&gt; (an independent extension store for VS Code compatible editors) so that tools like Cursor can now use it directly.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Postgres managed by ClickHouse &lt;a href="https://postgresweekly.com/link/186026/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;is now in beta&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/186027/rss" title="www.valerieparhamthompson.com" style=" color: #0088bb; font-size: 1.05em;"&gt;Helping the Planner Help You&lt;/a&gt;&lt;/span&gt; — When two columns are correlated, Postgres assumes they’re independent and the planner’s row estimates go badly wrong. A practical tour of &lt;code&gt;CREATE STATISTICS&lt;/code&gt; and the better query plans it unlocks.&lt;/p&gt;
  &lt;p&gt;Valerie Parham-Thompson &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=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/186028/rss" title="planetscale.com" style=" color: #0088bb; font-size: 1.05em;"&gt;Egress Problems and Where to Find Them&lt;/a&gt;&lt;/span&gt; — If your database is running in someone else’s datacenter, data egress and associated costs are important to control. Simeon shares tips on how to get the numbers down, along with some PlanetScale-specific advice.&lt;/p&gt;
  &lt;p&gt;Simeon Griggs (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;a href="https://postgresweekly.com/link/186029/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;The Night Our Tables Wouldn’t Stop Growing&lt;/a&gt; – A production whodunit: a stray &lt;code&gt;statement_timeout&lt;/code&gt; quietly broke logical replication and tables ballooned. &lt;cite&gt;Semab Tariq&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://postgresweekly.com/link/186030/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Postgres Outages That Aren’t Postgres Bugs&lt;/a&gt; – Three OS-level failures that show up as database outages. &lt;cite&gt;Payal Singh&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://postgresweekly.com/link/186031/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Same Query, Three Results&lt;/a&gt; – One query, three benchmark passes, three very different verdicts between ParadeDB and Postgres FTS. A lesson in how methodology colors the answer. &lt;cite&gt;James Blackwood-Sewell (ParadeDB)&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://postgresweekly.com/link/186032/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;When is a Function &lt;code&gt;LEAKPROOF&lt;/code&gt;?&lt;/a&gt; &lt;cite&gt;Laurenz Albe&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;Spot N+1 queries before your users do. &lt;a href="https://postgresweekly.com/link/186033/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;AppSignal&lt;/a&gt; auto-monitors Postgres performance with real-time alerts. &lt;a href="https://postgresweekly.com/link/186033/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Try free&lt;/a&gt;.&lt;/p&gt;
 
&lt;p&gt;🔎 &lt;a href="https://postgresweekly.com/link/186034/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Introducing pg_search&lt;/a&gt;, a Postgres extension for Elasticsearch-quality full-text, vector and hybrid search in Postgres.&lt;/p&gt;
 
&lt;p&gt;🐘 &lt;a href="https://postgresweekly.com/link/186035/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Spock 5.0.7&lt;/a&gt;: PG18 slotsync integration, add-node data race fix, apply-worker recovery. &lt;a href="https://postgresweekly.com/link/186035/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Open source multi-master Postgres&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/186036/rss" title="github.com" style=" color: #0088bb; font-size: 1.05em;"&gt;DeltaX (δx): Fast Time-Series Extension for Postgres&lt;/a&gt;&lt;/span&gt; — A new columnar storage extension for time-series data from Xata that uses only regular Postgres tables, so things like replication, crash recovery, backups, and &lt;code&gt;pg_dump&lt;/code&gt; work as they usually would. Here’s &lt;a href="https://postgresweekly.com/link/186037/rss" style=" color: #0088bb;"&gt;how it works&lt;/a&gt;.&lt;/p&gt;
  &lt;p&gt;Xata &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=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/186038/rss" title="github.com" style=" color: #0088bb; font-size: 1.05em;"&gt;Streambed: Stream Postgres to Iceberg on S3&lt;/a&gt;&lt;/span&gt; — Streams WAL via logical replication, writes Parquet to S3, and commits Iceberg metadata. You can then query with plain &lt;code&gt;psql&lt;/code&gt; thanks to a built-in wire-protocol server.&lt;/p&gt;
  &lt;p&gt;viggy28 &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=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/186039/rss" title="github.com" style=" color: #0088bb; font-size: 1.05em;"&gt;ingestr v1: Copy Data to and from Databases in One Command&lt;/a&gt;&lt;/span&gt; — A Go-powered tool to move data (with incremental append/merge support) between &lt;a href="https://postgresweekly.com/link/186040/rss" style=" color: #0088bb;"&gt;a myriad of sources and destinations&lt;/a&gt; (Postgres included) without writing code.&lt;/p&gt;
  &lt;p&gt;Bruin 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;ul&gt;
&lt;li&gt;
&lt;p&gt;🔎 &lt;a href="https://postgresweekly.com/link/186041/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;pg_textsearch 1.3&lt;/a&gt; – Tiger Data's extension for BM25 relevance-ranked full-text search. v1.3 includes revisions for compatibility with disaggregated storage architectures.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://postgresweekly.com/link/186042/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;SeaQuery 1.0&lt;/a&gt; – Dynamic query builder for Postgres/MySQL/SQLite in 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;table border=0 cellpadding=0 cellspacing=0 border=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;📺 ONE LAST THING — WORTH A WATCH:&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/186043/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/ytbhvkeve9um151a8cmw.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/186043/rss" title="www.youtube.com" style=" color: #0088bb; font-size: 1.05em;"&gt;Postgres at 30: A Chat With Its Creator&lt;/a&gt;&lt;/span&gt; — With Postgres turning 30 this year, here’s a treat: a wide-ranging interview with Mike Stonebraker, the man who started the Postgres project. He covers how Postgres came to be, where he thinks Google and Amazon get databases wrong, and what he’s building next.&lt;/p&gt;
  &lt;p&gt;The Peterman Pod &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=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;💡 Prefer to read? There’s a &lt;a href="https://postgresweekly.com/link/186044/rss" style=" color: #0088bb; font-weight: 600;"&gt;full transcript&lt;/a&gt; too.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&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/651/rss" width="1" height="1" /&gt;</description>
      <pubDate>Wed, 3 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://postgresweekly.com/issues/651</guid>
    </item>
    <item>
      <title>Postgres turns 30 (with cake)</title>
      <link>https://postgresweekly.com/issues/650</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;#​650 — May 27, 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/185737/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/185714/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/f47ypjpnxyepnyzpd6sy.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/185714/rss" title="www.highgo.ca" style=" color: #0088bb; font-size: 1.1em; line-height: 1.4em;"&gt;PGConf.dev 2026: Why It Remains My Favorite Postgres Conference&lt;/a&gt;&lt;/span&gt; — A fantastic trip report from last week’s &lt;a href="https://postgresweekly.com/link/185715/rss" style=" color: #0088bb;"&gt;PGConf.dev&lt;/a&gt; event in Vancouver. Along with many pictures of the fun, Cary has detailed summaries of the talks he attended, topics raised at the unconference sessions, and even what happened at a 30th birthday for Postgres, complete with cake!&lt;/p&gt;
  &lt;p&gt;Cary Huang (High Go) &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=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/185716/rss" style=" color: #0088bb; font-weight: 600;"&gt;Jeremy Schneider&lt;/a&gt; and &lt;a href="https://postgresweekly.com/link/185717/rss" style=" color: #0088bb; font-weight: 600;"&gt;Ashutosh Bapat&lt;/a&gt; have detailed trip reports too. &lt;em&gt;“I’m very glad that I decided to go,”&lt;/em&gt; says Jeremy.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=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/185713/rss" style=" color: #0088bb;"&gt;&lt;img src="https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/950bf736.png" 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/185713/rss" title="memory.build" style=" color: #0088bb; font-size: 1.05em;"&gt;Your Agent Needs Better Context, Not a Bigger Prompt&lt;/a&gt;&lt;/span&gt; — Memory Engine stores engineering facts, decisions, and instructions in PostgreSQL so agents pull what's relevant before each task. No more loading the whole codebase. Semantic, keyword, temporal search. Inspectable, MCP-native. &lt;a href="https://postgresweekly.com/link/185713/rss" style=" color: #0088bb;"&gt;Free to start&lt;/a&gt;.&lt;/p&gt;
  &lt;p&gt;Memory Engine &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;span&gt;🕒&lt;/span&gt; &lt;a href="https://postgresweekly.com/link/185718/rss" title="event-driven.io" style=" color: #0088bb; font-size: 1.05em;"&gt;How Soon is &lt;code&gt;now()&lt;/code&gt;?&lt;/a&gt;&lt;/span&gt; — Did you know &lt;code&gt;now()&lt;/code&gt; &lt;em&gt;isn’t&lt;/em&gt; the 'current time' but when the transaction started? When that distinction matters, as it did for Oskar when a retry loop kept seeing the same frozen timestamp and never made progress, reach for &lt;code&gt;clock_timestamp()&lt;/code&gt; instead.&lt;/p&gt;
  &lt;p&gt;Oskar Dudycz &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style="font-size: 15px; line-height: 1.48em; padding: 0px 15px;"&gt;&lt;p&gt;💡 &lt;code&gt;now()&lt;/code&gt; is equivalent to &lt;code&gt;transaction_timestamp()&lt;/code&gt;. More on that &lt;a href="https://postgresweekly.com/link/185719/rss" style=" color: #0088bb; font-weight: 600;"&gt;in the docs.&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/185720/rss" title="dev.to" style=" color: #0088bb; font-size: 1.05em;"&gt;5 Postgres Locking Behaviors That Trip People Up&lt;/a&gt;&lt;/span&gt; — Postgres’s lock manager is correct by design, but that correctness can still surprise you. A Postgres engineer walks through five counterintuitive locking behaviors that have caused real production outages, and how to avoid them.&lt;/p&gt;
  &lt;p&gt;Shinya Kato &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=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/185721/rss" title="richyen.com" style=" color: #0088bb; font-size: 1.05em;"&gt;XID Wraparound's Equally-Evil Twin&lt;/a&gt;&lt;/span&gt; — Monitoring transaction ID wraparound is a Postgres admin’s bread and butter, but &lt;em&gt;MultiXact IDs&lt;/em&gt;, as consumed by concurrent row locks and foreign key checks, can fly completely under the radar. Richard explains how MXIDs accumulate, why they need freezing too, and shares queries to monitor them.&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;💡 For a deeper dive into MultiXact internals and tuning, AWS has &lt;a href="https://postgresweekly.com/link/185722/rss" style=" color: #0088bb; font-weight: 600;"&gt;an in-depth guide.&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;a href="https://postgresweekly.com/link/185723/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;TOAST: Where Postgres Hides Big Values&lt;/a&gt; – Even more Postgres bread and butter. But crispier. &lt;cite&gt;Radim Marek&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://postgresweekly.com/link/185724/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;How I Manage Persistent Multiplayer State Without Chaos&lt;/a&gt; – Keeping a multiplayer game consistent with &lt;em&gt;“PostgreSQL holding the truth and Redis doing the fast work.”&lt;/em&gt; &lt;cite&gt;Julien Singler&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;📄 &lt;a href="https://postgresweekly.com/link/185725/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;How to Profile a pgrx-Based Postgres Extension&lt;/a&gt; – &lt;a href="https://postgresweekly.com/link/185726/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;pgrx&lt;/a&gt; is a framework for building Postgres extensions in Rust. &lt;cite&gt;Raynor Elgie&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;🐘 Not enough time to watch 44 Postgres talks? Use the &lt;a href="https://postgresweekly.com/link/185728/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Ultimate Guide to POSETTE: An Event for Postgres&lt;/a&gt; &amp;amp; pick your favorites. &lt;em&gt;Microsoft | AMD.&lt;/em&gt;&lt;/p&gt;
 
&lt;p&gt;🚀 &lt;a href="https://postgresweekly.com/link/185729/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Join us live&lt;/a&gt;: pgEdge AI DBA Workbench walkthrough with Postgres Core Team Member Dave Page. &lt;a href="https://postgresweekly.com/link/185729/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Register now&lt;/a&gt;.&lt;/p&gt;
 
&lt;p&gt;🔎 &lt;a href="https://postgresweekly.com/link/185730/rss" style=" color: #0088bb; font-weight: 500 !important;"&gt;Introducing pg_search&lt;/a&gt;, a Postgres extension for Elasticsearch-quality full-text, vector and hybrid search in Postgres.&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 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/185731/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/nulzao0zyadpzdb8afpe.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/185731/rss" title="docs.evokoa.com" style=" color: #0088bb; font-size: 1.05em;"&gt;pgGraph: Graph Database Capabilities for Normal Postgres Tables&lt;/a&gt;&lt;/span&gt; — An ‘early alpha’ extension that adds a graph querying layer to ordinary relational tables without a separate database or new query language (no Cypher to learn). It’s early days but has some interesting ideas. &lt;a href="https://postgresweekly.com/link/185732/rss" style=" color: #0088bb;"&gt;GitHub repo.&lt;/a&gt;&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;span&gt;🔎&lt;/span&gt; &lt;a href="https://postgresweekly.com/link/185733/rss" title="github.com" style=" color: #0088bb; font-size: 1.05em;"&gt;plpgsql_check 2.9: A PL/pgSQL Code Checker&lt;/a&gt;&lt;/span&gt; — A specialized tool to find errors lurking in PL/pgSQL functions.&lt;/p&gt;
  &lt;p&gt;Pavel Stehule &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=0 cellpadding=0 cellspacing=0 border=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/185734/rss" title="github.com" style=" color: #0088bb; font-size: 1.05em;"&gt;pg_parse: A Postgres-Compatible SQL Parser for Rust&lt;/a&gt;&lt;/span&gt; — Leans on &lt;code&gt;libpg_query&lt;/code&gt; so you get the same internal parse tree for SQL queries that Postgres itself does.&lt;/p&gt;
  &lt;p&gt;Paul Mason &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=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/185735/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;PgQue 0.2&lt;/a&gt; – Zero-bloat Postgres queue. One SQL file to install, &lt;code&gt;pg_cron&lt;/code&gt; or &lt;code&gt;pg_timetable&lt;/code&gt; to tick. v0.2 introduces first-party clients for Python, Go and TypeScript, cooperative consumers, pg_tle packaging, and more.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;📊 &lt;a href="https://postgresweekly.com/link/185736/rss" style=" color: #0088bb; font-weight: 500 !important; font-size: 1.08em; line-height: 1.5em;"&gt;pg_statviz 1.1&lt;/a&gt; – Minimalist extension and utility for time series analysis and visualization of Postgres internal statistics. &lt;em&gt;(We love the new logo!)&lt;/em&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;table border=0 cellpadding=0 cellspacing=0 border=0 cellpadding=0 cellspacing=0&gt;&lt;tr&gt;&lt;td style=" font-size: 15px; line-height: 1.48em;"&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/650/rss" width="1" height="1" /&gt;</description>
      <pubDate>Wed, 27 May 2026 00:00:00 +0000</pubDate>
      <guid>https://postgresweekly.com/issues/650</guid>
    </item>
  </channel>
</rss>
