<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>LeafSQL Blog</title>
    <link>https://leafsql.com/blog</link>
    <description>Field notes on Postgres schema management, drift, migrations, and shipping AI-generated SQL you can actually trust.</description>
    <language>en-us</language>
    <atom:link href="https://leafsql.com/rss.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Supabase branching vs LeafSQL: what branching doesn&apos;t solve</title>
      <link>https://leafsql.com/blog/supabase-branching-vs-leafsql</link>
      <guid isPermaLink="true">https://leafsql.com/blog/supabase-branching-vs-leafsql</guid>
      <description>Supabase branching spins up preview databases and applies migrations. It doesn&apos;t catch out-of-band drift, diff arbitrary environments, or push migration PRs. Here&apos;s the gap.</description>
      <pubDate>Mon, 13 Jul 2026 00:00:00 GMT</pubDate>
      <category>Supabase</category>
      <category>comparison</category>
      <category>Branching</category>
    </item>
    <item>
      <title>Why we let an LLM write SQL but never execute it unreviewed</title>
      <link>https://leafsql.com/blog/why-we-never-execute-ai-sql-unreviewed</link>
      <guid isPermaLink="true">https://leafsql.com/blog/why-we-never-execute-ai-sql-unreviewed</guid>
      <description>An LLM is good at drafting SQL and bad at being trusted with production. Here&apos;s the guarded write loop LeafSQL uses — classify, confirm, execute, rollback — and why.</description>
      <pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate>
      <category>AI SQL</category>
      <category>Guarded writes</category>
      <category>Postgres</category>
    </item>
    <item>
      <title>How to diff a Postgres schema between environments</title>
      <link>https://leafsql.com/blog/postgres-schema-diff-between-environments</link>
      <guid isPermaLink="true">https://leafsql.com/blog/postgres-schema-diff-between-environments</guid>
      <description>A postgres schema diff between environments catches dev/staging/prod divergence before a deploy fails. Here&apos;s the catalog query to run by hand — and how LeafSQL does it.</description>
      <pubDate>Wed, 08 Jul 2026 00:00:00 GMT</pubDate>
      <category>Postgres</category>
      <category>Schema diff</category>
      <category>Environments</category>
    </item>
    <item>
      <title>How to detect schema drift in Postgres</title>
      <link>https://leafsql.com/blog/how-to-detect-schema-drift-in-postgres</link>
      <guid isPermaLink="true">https://leafsql.com/blog/how-to-detect-schema-drift-in-postgres</guid>
      <description>Schema drift is when your Postgres database changes outside your migrations. Here&apos;s how to catch it with plain catalog queries — and how LeafSQL alerts you the moment it happens.</description>
      <pubDate>Mon, 06 Jul 2026 00:00:00 GMT</pubDate>
      <category>Postgres</category>
      <category>Schema drift</category>
      <category>Migrations</category>
    </item>
  </channel>
</rss>