<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="/stylesheet.xsl" type="text/xsl"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:podcast="https://podcastindex.org/namespace/1.0">
  <channel>
    <atom:link rel="self" type="application/rss+xml" href="https://feeds.transistor.fm/postgres-fm" title="MP3 Audio"/>
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com/"/>
    <podcast:podping usesPodping="true"/>
    <title>Postgres FM</title>
    <generator>Transistor (https://transistor.fm)</generator>
    <itunes:new-feed-url>https://feeds.transistor.fm/postgres-fm</itunes:new-feed-url>
    <description>A weekly podcast about all things PostgreSQL</description>
    <copyright>© 2026 Nikolay Samokhvalov and Michael Christofides</copyright>
    <podcast:guid>186a6222-9360-5605-a7ad-a332b27cc8da</podcast:guid>
    <podcast:locked>yes</podcast:locked>
    <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
    <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
    <language>en</language>
    <pubDate>Fri, 15 May 2026 14:00:13 +0100</pubDate>
    <lastBuildDate>Fri, 15 May 2026 14:01:05 +0100</lastBuildDate>
    <image>
      <url>https://img.transistorcdn.com/F-bi_aUNst-Ey8rEcRiURSNfKPb3cxsaDOvekkdqtR8/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9zaG93/LzMyMTQ3LzE3MTA3/OTEzODMtYXJ0d29y/ay5qcGc.jpg</url>
      <title>Postgres FM</title>
    </image>
    <itunes:category text="Technology"/>
    <itunes:category text="News">
      <itunes:category text="Tech News"/>
    </itunes:category>
    <itunes:type>episodic</itunes:type>
    <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
    <itunes:image href="https://img.transistorcdn.com/F-bi_aUNst-Ey8rEcRiURSNfKPb3cxsaDOvekkdqtR8/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9zaG93/LzMyMTQ3LzE3MTA3/OTEzODMtYXJ0d29y/ay5qcGc.jpg"/>
    <itunes:summary>A weekly podcast about all things PostgreSQL</itunes:summary>
    <itunes:subtitle>A weekly podcast about all things PostgreSQL.</itunes:subtitle>
    <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
    <itunes:owner>
      <itunes:name>Michael Christofides</itunes:name>
    </itunes:owner>
    <itunes:complete>No</itunes:complete>
    <itunes:explicit>No</itunes:explicit>
    <item>
      <title>pg_flight_recorder</title>
      <itunes:episode>180</itunes:episode>
      <podcast:episode>180</podcast:episode>
      <itunes:title>pg_flight_recorder</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">c2fd2f97-4867-4c97-af8b-5945883510c1</guid>
      <link>https://share.transistor.fm/s/073e5d80</link>
      <description>
        <![CDATA[<p>Nik and Michael are joined by David Ventimiglia to discuss pg_flight_recorder, a new tool he created for monitoring a Postgres database from within.<br> <br>Here are some links to things they mentioned: </p><ul><li>David Ventimiglia<a href="https://postgres.fm/people/david-ventimiglia"> https://postgres.fm/people/david-ventimiglia</a></li><li>pg_flight_recorder <a href="https://github.com/dventimisupabase/pg_flight_recorder">https://github.com/dventimisupabase/pg_flight_recorder</a></li><li>Supabase <a href="https://supabase.com/">https://supabase.com</a></li><li>pg_wait_sampling <a href="https://github.com/postgrespro/pg_wait_sampling">https://github.com/postgrespro/pg_wait_sampling</a></li><li>pg_ash <a href="https://github.com/NikolayS/pg_ash">https://github.com/NikolayS/pg_ash</a></li><li>pg_cron <a href="https://github.com/citusdata/pg_cron">https://github.com/citusdata/pg_cron</a></li><li>pg_tle <a href="https://github.com/aws/pg_tle">https://github.com/aws/pg_tle</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nik and Michael are joined by David Ventimiglia to discuss pg_flight_recorder, a new tool he created for monitoring a Postgres database from within.<br> <br>Here are some links to things they mentioned: </p><ul><li>David Ventimiglia<a href="https://postgres.fm/people/david-ventimiglia"> https://postgres.fm/people/david-ventimiglia</a></li><li>pg_flight_recorder <a href="https://github.com/dventimisupabase/pg_flight_recorder">https://github.com/dventimisupabase/pg_flight_recorder</a></li><li>Supabase <a href="https://supabase.com/">https://supabase.com</a></li><li>pg_wait_sampling <a href="https://github.com/postgrespro/pg_wait_sampling">https://github.com/postgrespro/pg_wait_sampling</a></li><li>pg_ash <a href="https://github.com/NikolayS/pg_ash">https://github.com/NikolayS/pg_ash</a></li><li>pg_cron <a href="https://github.com/citusdata/pg_cron">https://github.com/citusdata/pg_cron</a></li><li>pg_tle <a href="https://github.com/aws/pg_tle">https://github.com/aws/pg_tle</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 15 May 2026 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/073e5d80/a33df796.mp3" length="41737355" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2606</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nik and Michael are joined by David Ventimiglia to discuss pg_flight_recorder, a new tool he created for monitoring a Postgres database from within.<br> <br>Here are some links to things they mentioned: </p><ul><li>David Ventimiglia<a href="https://postgres.fm/people/david-ventimiglia"> https://postgres.fm/people/david-ventimiglia</a></li><li>pg_flight_recorder <a href="https://github.com/dventimisupabase/pg_flight_recorder">https://github.com/dventimisupabase/pg_flight_recorder</a></li><li>Supabase <a href="https://supabase.com/">https://supabase.com</a></li><li>pg_wait_sampling <a href="https://github.com/postgrespro/pg_wait_sampling">https://github.com/postgrespro/pg_wait_sampling</a></li><li>pg_ash <a href="https://github.com/NikolayS/pg_ash">https://github.com/NikolayS/pg_ash</a></li><li>pg_cron <a href="https://github.com/citusdata/pg_cron">https://github.com/citusdata/pg_cron</a></li><li>pg_tle <a href="https://github.com/aws/pg_tle">https://github.com/aws/pg_tle</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Guest" href="https://supabase.com" img="https://img.transistorcdn.com/G66DZUov2o2XkbX9ngMGg_P9nZtchUU2g9Neg5Kr_t0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80YThi/NzI2NDJjODUxMDQ0/ZjE5NDJiZDdmZjVm/NjA0Zi5qcGVn.jpg">David Ventimiglia</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/073e5d80/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>PgQue</title>
      <itunes:episode>179</itunes:episode>
      <podcast:episode>179</podcast:episode>
      <itunes:title>PgQue</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">76cc93a0-e6ee-42dc-803c-8f8f8751ef71</guid>
      <link>https://share.transistor.fm/s/1ca86d59</link>
      <description>
        <![CDATA[<p>Nik and Michael discuss Nik's new project PgQue, a descendent of Skype's PgQ, for running queue-like workloads in Postgres.<br> <br>Here are some links to things they mentioned: </p><ul><li>Our first episode on Queues in Postgres <a href="https://postgres.fm/episodes/queues-in-postgres">https://postgres.fm/episodes/queues-in-postgres</a></li><li>PgQue <a href="https://github.com/NikolayS/pgque">https://github.com/NikolayS/pgque</a></li><li>HN discussion <a href="https://news.ycombinator.com/item?id=47817349">https://news.ycombinator.com/item?id=47817349</a></li><li>PgQ <a href="https://github.com/pgq/pgq">https://github.com/pgq/pgq</a></li><li>pgmq <a href="https://github.com/pgmq/pgmq">https://github.com/pgmq/pgmq</a></li><li>River <a href="https://riverqueue.com">https://riverqueue.com</a></li><li>Keeping a Postgres queue healthy (blog post by Simeon Griggs / PlanetScale) <a href="https://planetscale.com/blog/keeping-a-postgres-queue-healthy">https://planetscale.com/blog/keeping-a-postgres-queue-healthy</a></li><li>Postgres Job Queues &amp; Failure By MVCC (blog post by Brandur) <a href="https://brandur.org/postgres-queues">https://brandur.org/postgres-queues</a></li><li>My queries to monitor autovacuum (blog post by Laurenz Albe) <a href="https://www.cybertec-postgresql.com/en/monitor-autovacuum-my-queries/">https://www.cybertec-postgresql.com/en/monitor-autovacuum-my-queries/</a></li><li>SELECT FOR UPDATE considered harmful (blog post by Laurenz Albe) <a href="https://www.cybertec-postgresql.com/en/select-for-update-considered-harmful-postgresql/">https://www.cybertec-postgresql.com/en/select-for-update-considered-harmful-postgresql/</a></li><li>Christophe Pettus blog post <a href="https://thebuild.com/blog/2026/05/03/pgque-two-snapshots-and-a-diff">https://thebuild.com/blog/2026/05/03/pgque-two-snapshots-and-a-diff</a></li><li>Our episode on pg_ash <a href="https://postgres.fm/episodes/pg_ash">https://postgres.fm/episodes/pg_ash</a></li><li>Rediscovering PgQ (Alexander Kukushkin slides) <a href="https://speakerdeck.com/cyberdemn/rediscovering-pgq">https://speakerdeck.com/cyberdemn/rediscovering-pgq</a></li><li>Tick frequency tuning <a href="https://github.com/NikolayS/PgQue/blob/main/docs/tick-frequency.md">https://github.com/NikolayS/PgQue/blob/main/docs/tick-frequency.md</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nik and Michael discuss Nik's new project PgQue, a descendent of Skype's PgQ, for running queue-like workloads in Postgres.<br> <br>Here are some links to things they mentioned: </p><ul><li>Our first episode on Queues in Postgres <a href="https://postgres.fm/episodes/queues-in-postgres">https://postgres.fm/episodes/queues-in-postgres</a></li><li>PgQue <a href="https://github.com/NikolayS/pgque">https://github.com/NikolayS/pgque</a></li><li>HN discussion <a href="https://news.ycombinator.com/item?id=47817349">https://news.ycombinator.com/item?id=47817349</a></li><li>PgQ <a href="https://github.com/pgq/pgq">https://github.com/pgq/pgq</a></li><li>pgmq <a href="https://github.com/pgmq/pgmq">https://github.com/pgmq/pgmq</a></li><li>River <a href="https://riverqueue.com">https://riverqueue.com</a></li><li>Keeping a Postgres queue healthy (blog post by Simeon Griggs / PlanetScale) <a href="https://planetscale.com/blog/keeping-a-postgres-queue-healthy">https://planetscale.com/blog/keeping-a-postgres-queue-healthy</a></li><li>Postgres Job Queues &amp; Failure By MVCC (blog post by Brandur) <a href="https://brandur.org/postgres-queues">https://brandur.org/postgres-queues</a></li><li>My queries to monitor autovacuum (blog post by Laurenz Albe) <a href="https://www.cybertec-postgresql.com/en/monitor-autovacuum-my-queries/">https://www.cybertec-postgresql.com/en/monitor-autovacuum-my-queries/</a></li><li>SELECT FOR UPDATE considered harmful (blog post by Laurenz Albe) <a href="https://www.cybertec-postgresql.com/en/select-for-update-considered-harmful-postgresql/">https://www.cybertec-postgresql.com/en/select-for-update-considered-harmful-postgresql/</a></li><li>Christophe Pettus blog post <a href="https://thebuild.com/blog/2026/05/03/pgque-two-snapshots-and-a-diff">https://thebuild.com/blog/2026/05/03/pgque-two-snapshots-and-a-diff</a></li><li>Our episode on pg_ash <a href="https://postgres.fm/episodes/pg_ash">https://postgres.fm/episodes/pg_ash</a></li><li>Rediscovering PgQ (Alexander Kukushkin slides) <a href="https://speakerdeck.com/cyberdemn/rediscovering-pgq">https://speakerdeck.com/cyberdemn/rediscovering-pgq</a></li><li>Tick frequency tuning <a href="https://github.com/NikolayS/PgQue/blob/main/docs/tick-frequency.md">https://github.com/NikolayS/PgQue/blob/main/docs/tick-frequency.md</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 08 May 2026 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/1ca86d59/9e063675.mp3" length="45479735" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2840</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nik and Michael discuss Nik's new project PgQue, a descendent of Skype's PgQ, for running queue-like workloads in Postgres.<br> <br>Here are some links to things they mentioned: </p><ul><li>Our first episode on Queues in Postgres <a href="https://postgres.fm/episodes/queues-in-postgres">https://postgres.fm/episodes/queues-in-postgres</a></li><li>PgQue <a href="https://github.com/NikolayS/pgque">https://github.com/NikolayS/pgque</a></li><li>HN discussion <a href="https://news.ycombinator.com/item?id=47817349">https://news.ycombinator.com/item?id=47817349</a></li><li>PgQ <a href="https://github.com/pgq/pgq">https://github.com/pgq/pgq</a></li><li>pgmq <a href="https://github.com/pgmq/pgmq">https://github.com/pgmq/pgmq</a></li><li>River <a href="https://riverqueue.com">https://riverqueue.com</a></li><li>Keeping a Postgres queue healthy (blog post by Simeon Griggs / PlanetScale) <a href="https://planetscale.com/blog/keeping-a-postgres-queue-healthy">https://planetscale.com/blog/keeping-a-postgres-queue-healthy</a></li><li>Postgres Job Queues &amp; Failure By MVCC (blog post by Brandur) <a href="https://brandur.org/postgres-queues">https://brandur.org/postgres-queues</a></li><li>My queries to monitor autovacuum (blog post by Laurenz Albe) <a href="https://www.cybertec-postgresql.com/en/monitor-autovacuum-my-queries/">https://www.cybertec-postgresql.com/en/monitor-autovacuum-my-queries/</a></li><li>SELECT FOR UPDATE considered harmful (blog post by Laurenz Albe) <a href="https://www.cybertec-postgresql.com/en/select-for-update-considered-harmful-postgresql/">https://www.cybertec-postgresql.com/en/select-for-update-considered-harmful-postgresql/</a></li><li>Christophe Pettus blog post <a href="https://thebuild.com/blog/2026/05/03/pgque-two-snapshots-and-a-diff">https://thebuild.com/blog/2026/05/03/pgque-two-snapshots-and-a-diff</a></li><li>Our episode on pg_ash <a href="https://postgres.fm/episodes/pg_ash">https://postgres.fm/episodes/pg_ash</a></li><li>Rediscovering PgQ (Alexander Kukushkin slides) <a href="https://speakerdeck.com/cyberdemn/rediscovering-pgq">https://speakerdeck.com/cyberdemn/rediscovering-pgq</a></li><li>Tick frequency tuning <a href="https://github.com/NikolayS/PgQue/blob/main/docs/tick-frequency.md">https://github.com/NikolayS/PgQue/blob/main/docs/tick-frequency.md</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/1ca86d59/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>pg_wait_tracer</title>
      <itunes:episode>178</itunes:episode>
      <podcast:episode>178</podcast:episode>
      <itunes:title>pg_wait_tracer</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">ecade5fa-21cb-4fcb-afda-da70bf14bbf5</guid>
      <link>https://share.transistor.fm/s/6efcd68c</link>
      <description>
        <![CDATA[<p>Nik and Michael are joined by Dmitry Fomin to discuss his new tool pg_wait_tracer, as well as changes that could be made to core to allow wait event tracing with lower overhead, and on managed services.<br> <br>Here are some links to things they mentioned: </p><ul><li>Dmitry Fomin <a href="https://postgres.fm/people/dmitry-fomin">https://postgres.fm/people/dmitry-fomin</a></li><li>pg_wait_tracer <a href="https://github.com/DmitryNFomin/pg_wait_tracer">https://github.com/DmitryNFomin/pg_wait_tracer</a></li><li>pg_wait_sampling <a href="https://github.com/postgrespro/pg_wait_sampling">https://github.com/postgrespro/pg_wait_sampling</a></li><li>pg_10046 <a href="https://github.com/DmitryNFomin/pg_10046">https://github.com/DmitryNFomin/pg_10046</a></li><li>Jeremy Schneider reply on LinkedIn <a href="https://www.linkedin.com/feed/update/urn:li:activity:7414966981847748608">https://www.linkedin.com/feed/update/urn:li:activity:7414966981847748608</a></li><li>RDS for PostgreSQL wait event docs <a href="https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Tuning.concepts.summary.html">https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Tuning.concepts.summary.html</a></li><li>Custom wait events for extensions (added in PostgreSQL 17) <a href="https://www.postgresql.org/docs/current/xfunc-c.html#XFUNC-ADDIN-WAIT-EVENTS">https://www.postgresql.org/docs/current/xfunc-c.html#XFUNC-ADDIN-WAIT-EVENTS</a></li><li>Hacking Postgres with Dmitry, Kirk, and Nik (Part 1) <a href="https://www.youtube.com/watch?v=3Gtuc2lnnsE">https://www.youtube.com/watch?v=3Gtuc2lnnsE</a></li><li>Hacking Postgres with Dmitry, Kirk, and Nik (Part 2) <a href="https://www.youtube.com/watch?v=6kqpjnpl5Gc">https://www.youtube.com/watch?v=6kqpjnpl5Gc</a></li><li>Tanel Poder <a href="https://tanelpoder.com/about/">https://tanelpoder.com/about/</a></li><li>USDT static tracepoints for wait event tracing (proof of concept by Nik) <a href="https://github.com/NikolayS/postgres/pull/18">https://github.com/NikolayS/postgres/pull/18</a></li><li>Add wait_event_timing: Oracle-style wait event instrumentation (patch by Dmitry) <a href="https://github.com/DmitryNFomin/postgres/pull/1">https://github.com/DmitryNFomin/postgres/pull/1</a></li><li>PgQue benchmarks <a href="https://github.com/NikolayS/pgque/blob/main/docs/benchmarks.md">https://github.com/NikolayS/pgque/blob/main/docs/benchmarks.md</a></li><li>The Art of Computer Systems Performance Analysis Techniques for Experimental Design, Measurement, Simulation and Modeling (by Raj K. Jain) <a href="https://www.researchgate.net/publication/259310412_The_Art_of_Computer_Systems_Performance_Analysis_Techniques_For_Experimental_Design_Measurement_Simulation_and_Modeling_NY_Wiley">https://www.researchgate.net/publication/259310412_The_Art_of_Computer_Systems_Performance_Analysis_Techniques_For_Experimental_Design_Measurement_Simulation_and_Modeling_NY_Wiley</a></li><li>Performance modeling and design of computer systems queueing theory in action (by Prof. Mor Harchol-Balter) <a href="https://www.cs.cmu.edu/~harchol/PerformanceModeling/book.html">https://www.cs.cmu.edu/~harchol/PerformanceModeling/book.html</a></li><li>Oracle Performance Firefighting (by Craig_Shallahamer) <a href="https://www.abebooks.co.uk/9780984102303/Oracle-Performance-Firefighting-Craig-Shallahamer-0984102302/plp">https://www.abebooks.co.uk/9780984102303/Oracle-Performance-Firefighting-Craig-Shallahamer-0984102302/plp</a></li><li>Process Mining: Data Science in Action (by Wil van der Aalst) <a href="https://link.springer.com/book/10.1007/978-3-662-49851-4">https://link.springer.com/book/10.1007/978-3-662-49851-4</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nik and Michael are joined by Dmitry Fomin to discuss his new tool pg_wait_tracer, as well as changes that could be made to core to allow wait event tracing with lower overhead, and on managed services.<br> <br>Here are some links to things they mentioned: </p><ul><li>Dmitry Fomin <a href="https://postgres.fm/people/dmitry-fomin">https://postgres.fm/people/dmitry-fomin</a></li><li>pg_wait_tracer <a href="https://github.com/DmitryNFomin/pg_wait_tracer">https://github.com/DmitryNFomin/pg_wait_tracer</a></li><li>pg_wait_sampling <a href="https://github.com/postgrespro/pg_wait_sampling">https://github.com/postgrespro/pg_wait_sampling</a></li><li>pg_10046 <a href="https://github.com/DmitryNFomin/pg_10046">https://github.com/DmitryNFomin/pg_10046</a></li><li>Jeremy Schneider reply on LinkedIn <a href="https://www.linkedin.com/feed/update/urn:li:activity:7414966981847748608">https://www.linkedin.com/feed/update/urn:li:activity:7414966981847748608</a></li><li>RDS for PostgreSQL wait event docs <a href="https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Tuning.concepts.summary.html">https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Tuning.concepts.summary.html</a></li><li>Custom wait events for extensions (added in PostgreSQL 17) <a href="https://www.postgresql.org/docs/current/xfunc-c.html#XFUNC-ADDIN-WAIT-EVENTS">https://www.postgresql.org/docs/current/xfunc-c.html#XFUNC-ADDIN-WAIT-EVENTS</a></li><li>Hacking Postgres with Dmitry, Kirk, and Nik (Part 1) <a href="https://www.youtube.com/watch?v=3Gtuc2lnnsE">https://www.youtube.com/watch?v=3Gtuc2lnnsE</a></li><li>Hacking Postgres with Dmitry, Kirk, and Nik (Part 2) <a href="https://www.youtube.com/watch?v=6kqpjnpl5Gc">https://www.youtube.com/watch?v=6kqpjnpl5Gc</a></li><li>Tanel Poder <a href="https://tanelpoder.com/about/">https://tanelpoder.com/about/</a></li><li>USDT static tracepoints for wait event tracing (proof of concept by Nik) <a href="https://github.com/NikolayS/postgres/pull/18">https://github.com/NikolayS/postgres/pull/18</a></li><li>Add wait_event_timing: Oracle-style wait event instrumentation (patch by Dmitry) <a href="https://github.com/DmitryNFomin/postgres/pull/1">https://github.com/DmitryNFomin/postgres/pull/1</a></li><li>PgQue benchmarks <a href="https://github.com/NikolayS/pgque/blob/main/docs/benchmarks.md">https://github.com/NikolayS/pgque/blob/main/docs/benchmarks.md</a></li><li>The Art of Computer Systems Performance Analysis Techniques for Experimental Design, Measurement, Simulation and Modeling (by Raj K. Jain) <a href="https://www.researchgate.net/publication/259310412_The_Art_of_Computer_Systems_Performance_Analysis_Techniques_For_Experimental_Design_Measurement_Simulation_and_Modeling_NY_Wiley">https://www.researchgate.net/publication/259310412_The_Art_of_Computer_Systems_Performance_Analysis_Techniques_For_Experimental_Design_Measurement_Simulation_and_Modeling_NY_Wiley</a></li><li>Performance modeling and design of computer systems queueing theory in action (by Prof. Mor Harchol-Balter) <a href="https://www.cs.cmu.edu/~harchol/PerformanceModeling/book.html">https://www.cs.cmu.edu/~harchol/PerformanceModeling/book.html</a></li><li>Oracle Performance Firefighting (by Craig_Shallahamer) <a href="https://www.abebooks.co.uk/9780984102303/Oracle-Performance-Firefighting-Craig-Shallahamer-0984102302/plp">https://www.abebooks.co.uk/9780984102303/Oracle-Performance-Firefighting-Craig-Shallahamer-0984102302/plp</a></li><li>Process Mining: Data Science in Action (by Wil van der Aalst) <a href="https://link.springer.com/book/10.1007/978-3-662-49851-4">https://link.springer.com/book/10.1007/978-3-662-49851-4</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 24 Apr 2026 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/6efcd68c/8d432d3d.mp3" length="42682353" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2665</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nik and Michael are joined by Dmitry Fomin to discuss his new tool pg_wait_tracer, as well as changes that could be made to core to allow wait event tracing with lower overhead, and on managed services.<br> <br>Here are some links to things they mentioned: </p><ul><li>Dmitry Fomin <a href="https://postgres.fm/people/dmitry-fomin">https://postgres.fm/people/dmitry-fomin</a></li><li>pg_wait_tracer <a href="https://github.com/DmitryNFomin/pg_wait_tracer">https://github.com/DmitryNFomin/pg_wait_tracer</a></li><li>pg_wait_sampling <a href="https://github.com/postgrespro/pg_wait_sampling">https://github.com/postgrespro/pg_wait_sampling</a></li><li>pg_10046 <a href="https://github.com/DmitryNFomin/pg_10046">https://github.com/DmitryNFomin/pg_10046</a></li><li>Jeremy Schneider reply on LinkedIn <a href="https://www.linkedin.com/feed/update/urn:li:activity:7414966981847748608">https://www.linkedin.com/feed/update/urn:li:activity:7414966981847748608</a></li><li>RDS for PostgreSQL wait event docs <a href="https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Tuning.concepts.summary.html">https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Tuning.concepts.summary.html</a></li><li>Custom wait events for extensions (added in PostgreSQL 17) <a href="https://www.postgresql.org/docs/current/xfunc-c.html#XFUNC-ADDIN-WAIT-EVENTS">https://www.postgresql.org/docs/current/xfunc-c.html#XFUNC-ADDIN-WAIT-EVENTS</a></li><li>Hacking Postgres with Dmitry, Kirk, and Nik (Part 1) <a href="https://www.youtube.com/watch?v=3Gtuc2lnnsE">https://www.youtube.com/watch?v=3Gtuc2lnnsE</a></li><li>Hacking Postgres with Dmitry, Kirk, and Nik (Part 2) <a href="https://www.youtube.com/watch?v=6kqpjnpl5Gc">https://www.youtube.com/watch?v=6kqpjnpl5Gc</a></li><li>Tanel Poder <a href="https://tanelpoder.com/about/">https://tanelpoder.com/about/</a></li><li>USDT static tracepoints for wait event tracing (proof of concept by Nik) <a href="https://github.com/NikolayS/postgres/pull/18">https://github.com/NikolayS/postgres/pull/18</a></li><li>Add wait_event_timing: Oracle-style wait event instrumentation (patch by Dmitry) <a href="https://github.com/DmitryNFomin/postgres/pull/1">https://github.com/DmitryNFomin/postgres/pull/1</a></li><li>PgQue benchmarks <a href="https://github.com/NikolayS/pgque/blob/main/docs/benchmarks.md">https://github.com/NikolayS/pgque/blob/main/docs/benchmarks.md</a></li><li>The Art of Computer Systems Performance Analysis Techniques for Experimental Design, Measurement, Simulation and Modeling (by Raj K. Jain) <a href="https://www.researchgate.net/publication/259310412_The_Art_of_Computer_Systems_Performance_Analysis_Techniques_For_Experimental_Design_Measurement_Simulation_and_Modeling_NY_Wiley">https://www.researchgate.net/publication/259310412_The_Art_of_Computer_Systems_Performance_Analysis_Techniques_For_Experimental_Design_Measurement_Simulation_and_Modeling_NY_Wiley</a></li><li>Performance modeling and design of computer systems queueing theory in action (by Prof. Mor Harchol-Balter) <a href="https://www.cs.cmu.edu/~harchol/PerformanceModeling/book.html">https://www.cs.cmu.edu/~harchol/PerformanceModeling/book.html</a></li><li>Oracle Performance Firefighting (by Craig_Shallahamer) <a href="https://www.abebooks.co.uk/9780984102303/Oracle-Performance-Firefighting-Craig-Shallahamer-0984102302/plp">https://www.abebooks.co.uk/9780984102303/Oracle-Performance-Firefighting-Craig-Shallahamer-0984102302/plp</a></li><li>Process Mining: Data Science in Action (by Wil van der Aalst) <a href="https://link.springer.com/book/10.1007/978-3-662-49851-4">https://link.springer.com/book/10.1007/978-3-662-49851-4</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Guest" href="https://postgres.fm/people/dmitry-fomin" img="https://img.transistorcdn.com/oKmqRT5Sec4IxMhKB4Ea67M5LZ4adQXa1uY5M9Iefvg/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85ZTYx/M2JmMGYxM2U4MmQz/MjhmMzNmMDFhOTBi/ZDI2OC5qcGc.jpg">Dmitry Fomin</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/6efcd68c/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Schema design checklist</title>
      <itunes:episode>177</itunes:episode>
      <podcast:episode>177</podcast:episode>
      <itunes:title>Schema design checklist</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">c8092d8b-99e9-4536-9c18-e922b0fcdd5a</guid>
      <link>https://share.transistor.fm/s/395dd845</link>
      <description>
        <![CDATA[<p>Nik and Michael discuss a list of things to check when designing new schema in Postgres.<br> <br>Here are some links to things they mentioned:</p><ul><li>Use BIGINT in Postgres (blog post by Ryan Lambert) <a href="https://blog.rustprooflabs.com/2021/06/postgres-bigint-by-default">https://blog.rustprooflabs.com/2021/06/postgres-bigint-by-default</a></li><li>Postgres 18 and UUIDv7 (blog post by Gwen Shapira) <a href="https://www.thenile.dev/blog/uuidv7">https://www.thenile.dev/blog/uuidv7</a></li><li>How to use UUID (how-to guide by Nik) <a href="https://postgres.ai/docs/postgres-howtos/schema-design/data-types/how-to-use-uuid">https://postgres.ai/docs/postgres-howtos/schema-design/data-types/how-to-use-uuid</a></li><li>Our episode on constraints <a href="https://postgres.fm/episodes/constraints">https://postgres.fm/episodes/constraints</a></li><li>Our episode on NULLs <a href="https://postgres.fm/episodes/nulls-the-good-the-bad-the-ugly-and-the-unknown">https://postgres.fm/episodes/nulls-the-good-the-bad-the-ugly-and-the-unknown</a></li><li>MultiXact member space exhaustion episode (with Metronome) <a href="https://postgres.fm/episodes/multixact-member-space-exhaustion">https://postgres.fm/episodes/multixact-member-space-exhaustion</a></li><li>Our Column Tetris episode <a href="https://postgres.fm/episodes/column-tetris">https://postgres.fm/episodes/column-tetris</a></li><li>Saving Space Basically for Free (blog post by James Coleman from Braintree) <a href="https://medium.com/paypal-tech/postgresql-at-scale-saving-space-basically-for-free-d94483d9ed9a">https://medium.com/paypal-tech/postgresql-at-scale-saving-space-basically-for-free-d94483d9ed9a</a></li><li>Over-indexing episode <a href="https://postgres.fm/episodes/over-indexing">https://postgres.fm/episodes/over-indexing</a></li><li>Under-indexing episode <a href="https://postgres.fm/episodes/under-indexing">https://postgres.fm/episodes/under-indexing</a></li><li>Gadget's use of Postgres <a href="https://postgres.fm/episodes/gadgets-use-of-postgres">https://postgres.fm/episodes/gadgets-use-of-postgres</a></li><li>Partitioning episode <a href="https://postgres.fm/episodes/partitioning">https://postgres.fm/episodes/partitioning</a></li><li>RLS vs performance episode <a href="https://postgres.fm/episodes/rls-vs-performance">https://postgres.fm/episodes/rls-vs-performance</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nik and Michael discuss a list of things to check when designing new schema in Postgres.<br> <br>Here are some links to things they mentioned:</p><ul><li>Use BIGINT in Postgres (blog post by Ryan Lambert) <a href="https://blog.rustprooflabs.com/2021/06/postgres-bigint-by-default">https://blog.rustprooflabs.com/2021/06/postgres-bigint-by-default</a></li><li>Postgres 18 and UUIDv7 (blog post by Gwen Shapira) <a href="https://www.thenile.dev/blog/uuidv7">https://www.thenile.dev/blog/uuidv7</a></li><li>How to use UUID (how-to guide by Nik) <a href="https://postgres.ai/docs/postgres-howtos/schema-design/data-types/how-to-use-uuid">https://postgres.ai/docs/postgres-howtos/schema-design/data-types/how-to-use-uuid</a></li><li>Our episode on constraints <a href="https://postgres.fm/episodes/constraints">https://postgres.fm/episodes/constraints</a></li><li>Our episode on NULLs <a href="https://postgres.fm/episodes/nulls-the-good-the-bad-the-ugly-and-the-unknown">https://postgres.fm/episodes/nulls-the-good-the-bad-the-ugly-and-the-unknown</a></li><li>MultiXact member space exhaustion episode (with Metronome) <a href="https://postgres.fm/episodes/multixact-member-space-exhaustion">https://postgres.fm/episodes/multixact-member-space-exhaustion</a></li><li>Our Column Tetris episode <a href="https://postgres.fm/episodes/column-tetris">https://postgres.fm/episodes/column-tetris</a></li><li>Saving Space Basically for Free (blog post by James Coleman from Braintree) <a href="https://medium.com/paypal-tech/postgresql-at-scale-saving-space-basically-for-free-d94483d9ed9a">https://medium.com/paypal-tech/postgresql-at-scale-saving-space-basically-for-free-d94483d9ed9a</a></li><li>Over-indexing episode <a href="https://postgres.fm/episodes/over-indexing">https://postgres.fm/episodes/over-indexing</a></li><li>Under-indexing episode <a href="https://postgres.fm/episodes/under-indexing">https://postgres.fm/episodes/under-indexing</a></li><li>Gadget's use of Postgres <a href="https://postgres.fm/episodes/gadgets-use-of-postgres">https://postgres.fm/episodes/gadgets-use-of-postgres</a></li><li>Partitioning episode <a href="https://postgres.fm/episodes/partitioning">https://postgres.fm/episodes/partitioning</a></li><li>RLS vs performance episode <a href="https://postgres.fm/episodes/rls-vs-performance">https://postgres.fm/episodes/rls-vs-performance</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 17 Apr 2026 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/395dd845/86adb238.mp3" length="43692160" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2729</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nik and Michael discuss a list of things to check when designing new schema in Postgres.<br> <br>Here are some links to things they mentioned:</p><ul><li>Use BIGINT in Postgres (blog post by Ryan Lambert) <a href="https://blog.rustprooflabs.com/2021/06/postgres-bigint-by-default">https://blog.rustprooflabs.com/2021/06/postgres-bigint-by-default</a></li><li>Postgres 18 and UUIDv7 (blog post by Gwen Shapira) <a href="https://www.thenile.dev/blog/uuidv7">https://www.thenile.dev/blog/uuidv7</a></li><li>How to use UUID (how-to guide by Nik) <a href="https://postgres.ai/docs/postgres-howtos/schema-design/data-types/how-to-use-uuid">https://postgres.ai/docs/postgres-howtos/schema-design/data-types/how-to-use-uuid</a></li><li>Our episode on constraints <a href="https://postgres.fm/episodes/constraints">https://postgres.fm/episodes/constraints</a></li><li>Our episode on NULLs <a href="https://postgres.fm/episodes/nulls-the-good-the-bad-the-ugly-and-the-unknown">https://postgres.fm/episodes/nulls-the-good-the-bad-the-ugly-and-the-unknown</a></li><li>MultiXact member space exhaustion episode (with Metronome) <a href="https://postgres.fm/episodes/multixact-member-space-exhaustion">https://postgres.fm/episodes/multixact-member-space-exhaustion</a></li><li>Our Column Tetris episode <a href="https://postgres.fm/episodes/column-tetris">https://postgres.fm/episodes/column-tetris</a></li><li>Saving Space Basically for Free (blog post by James Coleman from Braintree) <a href="https://medium.com/paypal-tech/postgresql-at-scale-saving-space-basically-for-free-d94483d9ed9a">https://medium.com/paypal-tech/postgresql-at-scale-saving-space-basically-for-free-d94483d9ed9a</a></li><li>Over-indexing episode <a href="https://postgres.fm/episodes/over-indexing">https://postgres.fm/episodes/over-indexing</a></li><li>Under-indexing episode <a href="https://postgres.fm/episodes/under-indexing">https://postgres.fm/episodes/under-indexing</a></li><li>Gadget's use of Postgres <a href="https://postgres.fm/episodes/gadgets-use-of-postgres">https://postgres.fm/episodes/gadgets-use-of-postgres</a></li><li>Partitioning episode <a href="https://postgres.fm/episodes/partitioning">https://postgres.fm/episodes/partitioning</a></li><li>RLS vs performance episode <a href="https://postgres.fm/episodes/rls-vs-performance">https://postgres.fm/episodes/rls-vs-performance</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/395dd845/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>What’s Missing in Postgres?</title>
      <itunes:episode>176</itunes:episode>
      <podcast:episode>176</podcast:episode>
      <itunes:title>What’s Missing in Postgres?</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">f6406cb6-cf57-4b38-b2b4-8ffc5898b647</guid>
      <link>https://share.transistor.fm/s/00d1f90d</link>
      <description>
        <![CDATA[<p>Nik and Michael are joined by Bruce Momjian to discuss his new talk "What’s Missing in Postgres?"<br> <br>Here are some links to things they mentioned: </p><ul><li>Bruce Momjian <a href="https://postgres.fm/people/bruce-momjian">https://postgres.fm/people/bruce-momjian</a></li><li>EDB <a href="https://www.enterprisedb.com/">https://www.enterprisedb.com</a></li><li>What’s Missing in Postgres? (Bruce’s slides) <a href="https://momjian.us/main/writings/pgsql/missing.pdf">https://momjian.us/main/writings/pgsql/missing.pdf</a></li><li>The Wonderful World of WAL (Bruce’s slides) <a href="https://momjian.us/main/writings/pgsql/wal.pdf">https://momjian.us/main/writings/pgsql/wal.pdf</a></li><li>Getting started with benchmarking (our episode with Melanie Plageman) <a href="https://postgres.fm/episodes/getting-started-with-benchmarking">https://postgres.fm/episodes/getting-started-with-benchmarking</a></li><li>Myths and Truths about Synchronous Replication in Postgres (talk by Alexander Kukushkin) <a href="https://www.youtube.com/watch?v=PFn9qRGzTMc">https://www.youtube.com/watch?v=PFn9qRGzTMc</a></li><li>The Future of Postgres Sharding (Bruce’s slides) <a href="https://momjian.us/main/writings/pgsql/sharding.pdf">https://momjian.us/main/writings/pgsql/sharding.pdf</a></li><li>MultiXact member space exhaustion <a href="https://postgres.fm/episodes/multixact-member-space-exhaustion">https://postgres.fm/episodes/multixact-member-space-exhaustion</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nik and Michael are joined by Bruce Momjian to discuss his new talk "What’s Missing in Postgres?"<br> <br>Here are some links to things they mentioned: </p><ul><li>Bruce Momjian <a href="https://postgres.fm/people/bruce-momjian">https://postgres.fm/people/bruce-momjian</a></li><li>EDB <a href="https://www.enterprisedb.com/">https://www.enterprisedb.com</a></li><li>What’s Missing in Postgres? (Bruce’s slides) <a href="https://momjian.us/main/writings/pgsql/missing.pdf">https://momjian.us/main/writings/pgsql/missing.pdf</a></li><li>The Wonderful World of WAL (Bruce’s slides) <a href="https://momjian.us/main/writings/pgsql/wal.pdf">https://momjian.us/main/writings/pgsql/wal.pdf</a></li><li>Getting started with benchmarking (our episode with Melanie Plageman) <a href="https://postgres.fm/episodes/getting-started-with-benchmarking">https://postgres.fm/episodes/getting-started-with-benchmarking</a></li><li>Myths and Truths about Synchronous Replication in Postgres (talk by Alexander Kukushkin) <a href="https://www.youtube.com/watch?v=PFn9qRGzTMc">https://www.youtube.com/watch?v=PFn9qRGzTMc</a></li><li>The Future of Postgres Sharding (Bruce’s slides) <a href="https://momjian.us/main/writings/pgsql/sharding.pdf">https://momjian.us/main/writings/pgsql/sharding.pdf</a></li><li>MultiXact member space exhaustion <a href="https://postgres.fm/episodes/multixact-member-space-exhaustion">https://postgres.fm/episodes/multixact-member-space-exhaustion</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 03 Apr 2026 13:07:50 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/00d1f90d/3e7eded7.mp3" length="42238088" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2638</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nik and Michael are joined by Bruce Momjian to discuss his new talk "What’s Missing in Postgres?"<br> <br>Here are some links to things they mentioned: </p><ul><li>Bruce Momjian <a href="https://postgres.fm/people/bruce-momjian">https://postgres.fm/people/bruce-momjian</a></li><li>EDB <a href="https://www.enterprisedb.com/">https://www.enterprisedb.com</a></li><li>What’s Missing in Postgres? (Bruce’s slides) <a href="https://momjian.us/main/writings/pgsql/missing.pdf">https://momjian.us/main/writings/pgsql/missing.pdf</a></li><li>The Wonderful World of WAL (Bruce’s slides) <a href="https://momjian.us/main/writings/pgsql/wal.pdf">https://momjian.us/main/writings/pgsql/wal.pdf</a></li><li>Getting started with benchmarking (our episode with Melanie Plageman) <a href="https://postgres.fm/episodes/getting-started-with-benchmarking">https://postgres.fm/episodes/getting-started-with-benchmarking</a></li><li>Myths and Truths about Synchronous Replication in Postgres (talk by Alexander Kukushkin) <a href="https://www.youtube.com/watch?v=PFn9qRGzTMc">https://www.youtube.com/watch?v=PFn9qRGzTMc</a></li><li>The Future of Postgres Sharding (Bruce’s slides) <a href="https://momjian.us/main/writings/pgsql/sharding.pdf">https://momjian.us/main/writings/pgsql/sharding.pdf</a></li><li>MultiXact member space exhaustion <a href="https://postgres.fm/episodes/multixact-member-space-exhaustion">https://postgres.fm/episodes/multixact-member-space-exhaustion</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Guest" href="https://momjian.us" img="https://img.transistorcdn.com/kivzvL9im45dj80lzBuCcHEAapRycyRRE5gIQrJkvys/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9mZWE1/MDE3MGUyNWVmNjc5/ZGJlNTc5NjM3ZjJl/YmU0Zi5qcGVn.jpg">Bruce Momjian</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/00d1f90d/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Long-running transactions</title>
      <itunes:episode>175</itunes:episode>
      <podcast:episode>175</podcast:episode>
      <itunes:title>Long-running transactions</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">82dcbb31-1daa-4a6d-9a96-ee68ea761175</guid>
      <link>https://share.transistor.fm/s/5f6f39cb</link>
      <description>
        <![CDATA[<p>Nik and Michael discuss long-running transactions, including when they're harmless, when they cause issues, and how to mitigate those issues.<br> <br>Here are some links to things they mentioned: </p><ul><li>transaction_timeout <a href="https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-TRANSACTION-TIMEOUT">https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-TRANSACTION-TIMEOUT</a></li><li>Our episode on transaction_timeout <a href="https://postgres.fm/episodes/transaction_timeout">https://postgres.fm/episodes/transaction_timeout</a></li><li>Our episode on slow queries (which was also our first ever episode!) <a href="https://postgres.fm/episodes/slow-queries-and-slow-transactions">https://postgres.fm/episodes/slow-queries-and-slow-transactions</a></li><li>Our episode on locks <a href="https://postgres.fm/episodes/locks">https://postgres.fm/episodes/locks</a></li><li>lock_timeout <a href="https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-LOCK-TIMEOUT">https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-LOCK-TIMEOUT</a></li><li>Transaction Isolation levels <a href="https://www.postgresql.org/docs/current/transaction-iso.html">https://www.postgresql.org/docs/current/transaction-iso.html</a></li><li>pg_current_xact_id_if_assigned() <a href="https://pgpedia.info/p/pg_current_xact_id_if_assigned.html">https://pgpedia.info/p/pg_current_xact_id_if_assigned.html</a></li><li>Monitor xmin horizon to prevent XID/MultiXID wraparound and high bloat (how-to guide by Nik) <a href="https://postgres.ai/docs/postgres-howtos/performance-optimization/monitoring/how-to-monitor-xmin-horizon">https://postgres.ai/docs/postgres-howtos/performance-optimization/monitoring/how-to-monitor-xmin-horizon</a></li><li>idle_replication_slot_timeout <a href="https://www.postgresql.org/docs/current/runtime-config-replication.html#GUC-IDLE-REPLICATION-SLOT-TIMEOUT">https://www.postgresql.org/docs/current/runtime-config-replication.html#GUC-IDLE-REPLICATION-SLOT-TIMEOUT</a></li><li>PREPARE TRANSACTION <a href="https://www.postgresql.org/docs/current/sql-prepare-transaction.html">https://www.postgresql.org/docs/current/sql-prepare-transaction.html</a></li><li>log_autovacuum_min_duration <a href="https://www.postgresql.org/docs/devel/runtime-config-logging.html#GUC-LOG-AUTOVACUUM-MIN-DURATION">https://www.postgresql.org/docs/devel/runtime-config-logging.html#GUC-LOG-AUTOVACUUM-MIN-DURATION</a></li><li>PostgreSQL Subtransactions Considered Harmful (blog post by Nikolay) <a href="https://postgres.ai/blog/20210831-postgresql-subtransactions-considered-harmful">https://postgres.ai/blog/20210831-postgresql-subtransactions-considered-harmful</a></li><li>statement_timeout <a href="https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-STATEMENT-TIMEOUT">https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-STATEMENT-TIMEOUT</a></li><li>idle_in_transaction_session_timeout <a href="https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-IDLE-IN-TRANSACTION-SESSION-TIMEOUT">https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-IDLE-IN-TRANSACTION-SESSION-TIMEOUT</a></li><li>lock_timeout <a href="https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-LOCK-TIMEOUT">https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-LOCK-TIMEOUT</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nik and Michael discuss long-running transactions, including when they're harmless, when they cause issues, and how to mitigate those issues.<br> <br>Here are some links to things they mentioned: </p><ul><li>transaction_timeout <a href="https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-TRANSACTION-TIMEOUT">https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-TRANSACTION-TIMEOUT</a></li><li>Our episode on transaction_timeout <a href="https://postgres.fm/episodes/transaction_timeout">https://postgres.fm/episodes/transaction_timeout</a></li><li>Our episode on slow queries (which was also our first ever episode!) <a href="https://postgres.fm/episodes/slow-queries-and-slow-transactions">https://postgres.fm/episodes/slow-queries-and-slow-transactions</a></li><li>Our episode on locks <a href="https://postgres.fm/episodes/locks">https://postgres.fm/episodes/locks</a></li><li>lock_timeout <a href="https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-LOCK-TIMEOUT">https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-LOCK-TIMEOUT</a></li><li>Transaction Isolation levels <a href="https://www.postgresql.org/docs/current/transaction-iso.html">https://www.postgresql.org/docs/current/transaction-iso.html</a></li><li>pg_current_xact_id_if_assigned() <a href="https://pgpedia.info/p/pg_current_xact_id_if_assigned.html">https://pgpedia.info/p/pg_current_xact_id_if_assigned.html</a></li><li>Monitor xmin horizon to prevent XID/MultiXID wraparound and high bloat (how-to guide by Nik) <a href="https://postgres.ai/docs/postgres-howtos/performance-optimization/monitoring/how-to-monitor-xmin-horizon">https://postgres.ai/docs/postgres-howtos/performance-optimization/monitoring/how-to-monitor-xmin-horizon</a></li><li>idle_replication_slot_timeout <a href="https://www.postgresql.org/docs/current/runtime-config-replication.html#GUC-IDLE-REPLICATION-SLOT-TIMEOUT">https://www.postgresql.org/docs/current/runtime-config-replication.html#GUC-IDLE-REPLICATION-SLOT-TIMEOUT</a></li><li>PREPARE TRANSACTION <a href="https://www.postgresql.org/docs/current/sql-prepare-transaction.html">https://www.postgresql.org/docs/current/sql-prepare-transaction.html</a></li><li>log_autovacuum_min_duration <a href="https://www.postgresql.org/docs/devel/runtime-config-logging.html#GUC-LOG-AUTOVACUUM-MIN-DURATION">https://www.postgresql.org/docs/devel/runtime-config-logging.html#GUC-LOG-AUTOVACUUM-MIN-DURATION</a></li><li>PostgreSQL Subtransactions Considered Harmful (blog post by Nikolay) <a href="https://postgres.ai/blog/20210831-postgresql-subtransactions-considered-harmful">https://postgres.ai/blog/20210831-postgresql-subtransactions-considered-harmful</a></li><li>statement_timeout <a href="https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-STATEMENT-TIMEOUT">https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-STATEMENT-TIMEOUT</a></li><li>idle_in_transaction_session_timeout <a href="https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-IDLE-IN-TRANSACTION-SESSION-TIMEOUT">https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-IDLE-IN-TRANSACTION-SESSION-TIMEOUT</a></li><li>lock_timeout <a href="https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-LOCK-TIMEOUT">https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-LOCK-TIMEOUT</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 27 Mar 2026 14:00:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/5f6f39cb/aee9f55d.mp3" length="46348713" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2895</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nik and Michael discuss long-running transactions, including when they're harmless, when they cause issues, and how to mitigate those issues.<br> <br>Here are some links to things they mentioned: </p><ul><li>transaction_timeout <a href="https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-TRANSACTION-TIMEOUT">https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-TRANSACTION-TIMEOUT</a></li><li>Our episode on transaction_timeout <a href="https://postgres.fm/episodes/transaction_timeout">https://postgres.fm/episodes/transaction_timeout</a></li><li>Our episode on slow queries (which was also our first ever episode!) <a href="https://postgres.fm/episodes/slow-queries-and-slow-transactions">https://postgres.fm/episodes/slow-queries-and-slow-transactions</a></li><li>Our episode on locks <a href="https://postgres.fm/episodes/locks">https://postgres.fm/episodes/locks</a></li><li>lock_timeout <a href="https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-LOCK-TIMEOUT">https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-LOCK-TIMEOUT</a></li><li>Transaction Isolation levels <a href="https://www.postgresql.org/docs/current/transaction-iso.html">https://www.postgresql.org/docs/current/transaction-iso.html</a></li><li>pg_current_xact_id_if_assigned() <a href="https://pgpedia.info/p/pg_current_xact_id_if_assigned.html">https://pgpedia.info/p/pg_current_xact_id_if_assigned.html</a></li><li>Monitor xmin horizon to prevent XID/MultiXID wraparound and high bloat (how-to guide by Nik) <a href="https://postgres.ai/docs/postgres-howtos/performance-optimization/monitoring/how-to-monitor-xmin-horizon">https://postgres.ai/docs/postgres-howtos/performance-optimization/monitoring/how-to-monitor-xmin-horizon</a></li><li>idle_replication_slot_timeout <a href="https://www.postgresql.org/docs/current/runtime-config-replication.html#GUC-IDLE-REPLICATION-SLOT-TIMEOUT">https://www.postgresql.org/docs/current/runtime-config-replication.html#GUC-IDLE-REPLICATION-SLOT-TIMEOUT</a></li><li>PREPARE TRANSACTION <a href="https://www.postgresql.org/docs/current/sql-prepare-transaction.html">https://www.postgresql.org/docs/current/sql-prepare-transaction.html</a></li><li>log_autovacuum_min_duration <a href="https://www.postgresql.org/docs/devel/runtime-config-logging.html#GUC-LOG-AUTOVACUUM-MIN-DURATION">https://www.postgresql.org/docs/devel/runtime-config-logging.html#GUC-LOG-AUTOVACUUM-MIN-DURATION</a></li><li>PostgreSQL Subtransactions Considered Harmful (blog post by Nikolay) <a href="https://postgres.ai/blog/20210831-postgresql-subtransactions-considered-harmful">https://postgres.ai/blog/20210831-postgresql-subtransactions-considered-harmful</a></li><li>statement_timeout <a href="https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-STATEMENT-TIMEOUT">https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-STATEMENT-TIMEOUT</a></li><li>idle_in_transaction_session_timeout <a href="https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-IDLE-IN-TRANSACTION-SESSION-TIMEOUT">https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-IDLE-IN-TRANSACTION-SESSION-TIMEOUT</a></li><li>lock_timeout <a href="https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-LOCK-TIMEOUT">https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-LOCK-TIMEOUT</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/5f6f39cb/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>PostGIS</title>
      <itunes:episode>174</itunes:episode>
      <podcast:episode>174</podcast:episode>
      <itunes:title>PostGIS</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">75baf87d-1711-4580-b9d6-bdccc078d92c</guid>
      <link>https://share.transistor.fm/s/6e65a3c7</link>
      <description>
        <![CDATA[<p>Nik and Michael are joined by Regina Obe and Paul Ramsey to discuss PostGIS.<br> <br>Here are some links to things they mentioned:</p><ul><li>Regina Obe <a href="https://postgres.fm/people/regina-obe">https://postgres.fm/people/regina-obe</a></li><li>Paul Ramsey <a href="https://postgres.fm/people/paul-ramsey">https://postgres.fm/people/paul-ramsey</a></li><li>PostGIS <a href="https://postgis.net">https://postgis.net</a></li><li>MobilityDB <a href="https://github.com/MobilityDB/MobilityDB">https://github.com/MobilityDB/MobilityDB</a></li><li>pgRouting <a href="https://github.com/pgRouting/pgrouting">https://github.com/pgRouting/pgrouting</a></li><li>Google BigQuery GIS public alpha blog post <a href="https://cloud.google.com/blog/products/data-analytics/whats-happening-bigquery-integrated-machine-learning-maps-and-more">https://cloud.google.com/blog/products/data-analytics/whats-happening-bigquery-integrated-machine-learning-maps-and-more</a></li><li>PostGIS Day 2025 talk recordings <a href="https://www.youtube.com/watch?v=wuNO_cW2g-0&amp;list=PLavJpcg8cl1EkQWoCbczsOjFTe-SHg_8m">https://www.youtube.com/watch?v=wuNO_cW2g-0&amp;list=PLavJpcg8cl1EkQWoCbczsOjFTe-SHg_8m</a></li><li>pg_lake <a href="https://github.com/Snowflake-Labs/pg_lake">https://github.com/Snowflake-Labs/pg_lake</a></li><li>GeoParquet <a href="https://geoparquet.org">https://geoparquet.org</a></li><li>ST_DWithin <a href="https://postgis.net/docs/ST_DWithin.html">https://postgis.net/docs/ST_DWithin.html</a></li><li>Postgres JSONB Columns and TOAST: A Performance Guide <a href="https://www.snowflake.com/en/engineering-blog/postgres-jsonb-columns-and-toast">https://www.snowflake.com/en/engineering-blog/postgres-jsonb-columns-and-toast</a></li><li>FOSS4G <a href="https://foss4g.org">https://foss4g.org</a></li><li>OpenStreetMap <a href="https://www.openstreetmap.org">https://www.openstreetmap.org</a></li><li>PgDay Boston <a href="https://2026.pgdayboston.org">https://2026.pgdayboston.org</a></li><li>SKILL.md file <a href="https://github.com/postgis/postgis/blob/68dde711039986b47eb62feda45bb24b13b0ea37/doc/SKILL.md">https://github.com/postgis/postgis/blob/68dde711039986b47eb62feda45bb24b13b0ea37/doc/SKILL.md</a></li><li>Production query plans without production data (blog post by Radim Marek) <a href="https://boringsql.com/posts/portable-stats">https://boringsql.com/posts/portable-stats</a></li><li>PostgreSQL: Up and Running, 4th Edition (by Regina Obe, Leo Hsu) <a href="https://www.oreilly.com/library/view/postgresql-up-and/9798341660885">https://www.oreilly.com/library/view/postgresql-up-and/9798341660885</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nik and Michael are joined by Regina Obe and Paul Ramsey to discuss PostGIS.<br> <br>Here are some links to things they mentioned:</p><ul><li>Regina Obe <a href="https://postgres.fm/people/regina-obe">https://postgres.fm/people/regina-obe</a></li><li>Paul Ramsey <a href="https://postgres.fm/people/paul-ramsey">https://postgres.fm/people/paul-ramsey</a></li><li>PostGIS <a href="https://postgis.net">https://postgis.net</a></li><li>MobilityDB <a href="https://github.com/MobilityDB/MobilityDB">https://github.com/MobilityDB/MobilityDB</a></li><li>pgRouting <a href="https://github.com/pgRouting/pgrouting">https://github.com/pgRouting/pgrouting</a></li><li>Google BigQuery GIS public alpha blog post <a href="https://cloud.google.com/blog/products/data-analytics/whats-happening-bigquery-integrated-machine-learning-maps-and-more">https://cloud.google.com/blog/products/data-analytics/whats-happening-bigquery-integrated-machine-learning-maps-and-more</a></li><li>PostGIS Day 2025 talk recordings <a href="https://www.youtube.com/watch?v=wuNO_cW2g-0&amp;list=PLavJpcg8cl1EkQWoCbczsOjFTe-SHg_8m">https://www.youtube.com/watch?v=wuNO_cW2g-0&amp;list=PLavJpcg8cl1EkQWoCbczsOjFTe-SHg_8m</a></li><li>pg_lake <a href="https://github.com/Snowflake-Labs/pg_lake">https://github.com/Snowflake-Labs/pg_lake</a></li><li>GeoParquet <a href="https://geoparquet.org">https://geoparquet.org</a></li><li>ST_DWithin <a href="https://postgis.net/docs/ST_DWithin.html">https://postgis.net/docs/ST_DWithin.html</a></li><li>Postgres JSONB Columns and TOAST: A Performance Guide <a href="https://www.snowflake.com/en/engineering-blog/postgres-jsonb-columns-and-toast">https://www.snowflake.com/en/engineering-blog/postgres-jsonb-columns-and-toast</a></li><li>FOSS4G <a href="https://foss4g.org">https://foss4g.org</a></li><li>OpenStreetMap <a href="https://www.openstreetmap.org">https://www.openstreetmap.org</a></li><li>PgDay Boston <a href="https://2026.pgdayboston.org">https://2026.pgdayboston.org</a></li><li>SKILL.md file <a href="https://github.com/postgis/postgis/blob/68dde711039986b47eb62feda45bb24b13b0ea37/doc/SKILL.md">https://github.com/postgis/postgis/blob/68dde711039986b47eb62feda45bb24b13b0ea37/doc/SKILL.md</a></li><li>Production query plans without production data (blog post by Radim Marek) <a href="https://boringsql.com/posts/portable-stats">https://boringsql.com/posts/portable-stats</a></li><li>PostgreSQL: Up and Running, 4th Edition (by Regina Obe, Leo Hsu) <a href="https://www.oreilly.com/library/view/postgresql-up-and/9798341660885">https://www.oreilly.com/library/view/postgresql-up-and/9798341660885</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 13 Mar 2026 14:00:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/6e65a3c7/e27b627b.mp3" length="44705163" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>3191</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nik and Michael are joined by Regina Obe and Paul Ramsey to discuss PostGIS.<br> <br>Here are some links to things they mentioned:</p><ul><li>Regina Obe <a href="https://postgres.fm/people/regina-obe">https://postgres.fm/people/regina-obe</a></li><li>Paul Ramsey <a href="https://postgres.fm/people/paul-ramsey">https://postgres.fm/people/paul-ramsey</a></li><li>PostGIS <a href="https://postgis.net">https://postgis.net</a></li><li>MobilityDB <a href="https://github.com/MobilityDB/MobilityDB">https://github.com/MobilityDB/MobilityDB</a></li><li>pgRouting <a href="https://github.com/pgRouting/pgrouting">https://github.com/pgRouting/pgrouting</a></li><li>Google BigQuery GIS public alpha blog post <a href="https://cloud.google.com/blog/products/data-analytics/whats-happening-bigquery-integrated-machine-learning-maps-and-more">https://cloud.google.com/blog/products/data-analytics/whats-happening-bigquery-integrated-machine-learning-maps-and-more</a></li><li>PostGIS Day 2025 talk recordings <a href="https://www.youtube.com/watch?v=wuNO_cW2g-0&amp;list=PLavJpcg8cl1EkQWoCbczsOjFTe-SHg_8m">https://www.youtube.com/watch?v=wuNO_cW2g-0&amp;list=PLavJpcg8cl1EkQWoCbczsOjFTe-SHg_8m</a></li><li>pg_lake <a href="https://github.com/Snowflake-Labs/pg_lake">https://github.com/Snowflake-Labs/pg_lake</a></li><li>GeoParquet <a href="https://geoparquet.org">https://geoparquet.org</a></li><li>ST_DWithin <a href="https://postgis.net/docs/ST_DWithin.html">https://postgis.net/docs/ST_DWithin.html</a></li><li>Postgres JSONB Columns and TOAST: A Performance Guide <a href="https://www.snowflake.com/en/engineering-blog/postgres-jsonb-columns-and-toast">https://www.snowflake.com/en/engineering-blog/postgres-jsonb-columns-and-toast</a></li><li>FOSS4G <a href="https://foss4g.org">https://foss4g.org</a></li><li>OpenStreetMap <a href="https://www.openstreetmap.org">https://www.openstreetmap.org</a></li><li>PgDay Boston <a href="https://2026.pgdayboston.org">https://2026.pgdayboston.org</a></li><li>SKILL.md file <a href="https://github.com/postgis/postgis/blob/68dde711039986b47eb62feda45bb24b13b0ea37/doc/SKILL.md">https://github.com/postgis/postgis/blob/68dde711039986b47eb62feda45bb24b13b0ea37/doc/SKILL.md</a></li><li>Production query plans without production data (blog post by Radim Marek) <a href="https://boringsql.com/posts/portable-stats">https://boringsql.com/posts/portable-stats</a></li><li>PostgreSQL: Up and Running, 4th Edition (by Regina Obe, Leo Hsu) <a href="https://www.oreilly.com/library/view/postgresql-up-and/9798341660885">https://www.oreilly.com/library/view/postgresql-up-and/9798341660885</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Guest" href="https://www.paragoncorporation.com" img="https://img.transistorcdn.com/BKEhZXPx2ajSLmtr1njDTPi0SFzVeXP0S1w29YihV7o/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80MTUy/YTE1MmEwOTJhZTA2/YTYwZmQwZmJlYzMy/NzU0YS5wbmc.jpg">Regina Obe</podcast:person>
      <podcast:person role="Guest" href="https://blog.cleverelephant.ca" img="https://img.transistorcdn.com/B5U2tsdT3XEiNCz7HiiEW88rIn5tnqPt4oBbEPOa9xw/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS81ZTM4/N2UwZDVmNGY0MDc0/NzAxMGI2MWFmNzQx/OGQ0MC5qcGc.jpg">Paul Ramsey</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/6e65a3c7/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Plan flips</title>
      <itunes:episode>173</itunes:episode>
      <podcast:episode>173</podcast:episode>
      <itunes:title>Plan flips</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">43cf20b1-3e6c-4eb7-b432-10ed3d5d718c</guid>
      <link>https://share.transistor.fm/s/455cb088</link>
      <description>
        <![CDATA[<p>Nik and Michael discuss query plan flips in Postgres — what they are, some causes, mitigations, longer term solutions, and the recent outage at Clerk.<br> <br>Here are some links to things they mentioned: </p><ul><li>Recent postmortem from Clerk <a href="https://clerk.com/blog/2026-02-19-system-outage-postmortem">https://clerk.com/blog/2026-02-19-system-outage-postmortem</a></li><li>The real cost of random I/O (blog post by Tomas Vondra) <a href="https://vondra.me/posts/the-real-cost-of-random-io">https://vondra.me/posts/the-real-cost-of-random-io</a></li><li>autovacuum_analyze_scale_factor <a href="https://www.postgresql.org/docs/current/runtime-config-vacuum.html#GUC-AUTOVACUUM-ANALYZE-SCALE-FACTOR">https://www.postgresql.org/docs/current/runtime-config-vacuum.html#GUC-AUTOVACUUM-ANALYZE-SCALE-FACTOR</a></li><li>default_statistics_target <a href="https://www.postgresql.org/docs/current/runtime-config-query.html#GUC-DEFAULT-STATISTICS-TARGET">https://www.postgresql.org/docs/current/runtime-config-query.html#GUC-DEFAULT-STATISTICS-TARGET</a></li><li>pg_hint_plan <a href="https://github.com/ossc-db/pg_hint_plan">https://github.com/ossc-db/pg_hint_plan</a></li><li>Aurora PostgreSQL query plan management <a href="https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Optimize.Start.html">https://docs.aws.amazon.comAmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Optimize.Start.html</a></li><li>pg_stat_plans <a href="https://github.com/pganalyze/pg_stat_plans">https://github.com/pganalyze/pg_stat_plans</a></li><li>pg_plan_alternatives <a href="https://jnidzwetzki.github.io/2026/03/04/pg-plan-alternatives.html">https://jnidzwetzki.github.io/2026/03/04/pg-plan-alternatives.html</a></li><li>Waiting for Postgres 19: Better Planner Hints with Path Generation Strategies <a href="https://pganalyze.com/blog/5mins-postgres-19-better-planner-hints">https://pganalyze.com/blog/5mins-postgres-19-better-planner-hints</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nik and Michael discuss query plan flips in Postgres — what they are, some causes, mitigations, longer term solutions, and the recent outage at Clerk.<br> <br>Here are some links to things they mentioned: </p><ul><li>Recent postmortem from Clerk <a href="https://clerk.com/blog/2026-02-19-system-outage-postmortem">https://clerk.com/blog/2026-02-19-system-outage-postmortem</a></li><li>The real cost of random I/O (blog post by Tomas Vondra) <a href="https://vondra.me/posts/the-real-cost-of-random-io">https://vondra.me/posts/the-real-cost-of-random-io</a></li><li>autovacuum_analyze_scale_factor <a href="https://www.postgresql.org/docs/current/runtime-config-vacuum.html#GUC-AUTOVACUUM-ANALYZE-SCALE-FACTOR">https://www.postgresql.org/docs/current/runtime-config-vacuum.html#GUC-AUTOVACUUM-ANALYZE-SCALE-FACTOR</a></li><li>default_statistics_target <a href="https://www.postgresql.org/docs/current/runtime-config-query.html#GUC-DEFAULT-STATISTICS-TARGET">https://www.postgresql.org/docs/current/runtime-config-query.html#GUC-DEFAULT-STATISTICS-TARGET</a></li><li>pg_hint_plan <a href="https://github.com/ossc-db/pg_hint_plan">https://github.com/ossc-db/pg_hint_plan</a></li><li>Aurora PostgreSQL query plan management <a href="https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Optimize.Start.html">https://docs.aws.amazon.comAmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Optimize.Start.html</a></li><li>pg_stat_plans <a href="https://github.com/pganalyze/pg_stat_plans">https://github.com/pganalyze/pg_stat_plans</a></li><li>pg_plan_alternatives <a href="https://jnidzwetzki.github.io/2026/03/04/pg-plan-alternatives.html">https://jnidzwetzki.github.io/2026/03/04/pg-plan-alternatives.html</a></li><li>Waiting for Postgres 19: Better Planner Hints with Path Generation Strategies <a href="https://pganalyze.com/blog/5mins-postgres-19-better-planner-hints">https://pganalyze.com/blog/5mins-postgres-19-better-planner-hints</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 06 Mar 2026 14:00:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/455cb088/9caa429a.mp3" length="41129626" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2568</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nik and Michael discuss query plan flips in Postgres — what they are, some causes, mitigations, longer term solutions, and the recent outage at Clerk.<br> <br>Here are some links to things they mentioned: </p><ul><li>Recent postmortem from Clerk <a href="https://clerk.com/blog/2026-02-19-system-outage-postmortem">https://clerk.com/blog/2026-02-19-system-outage-postmortem</a></li><li>The real cost of random I/O (blog post by Tomas Vondra) <a href="https://vondra.me/posts/the-real-cost-of-random-io">https://vondra.me/posts/the-real-cost-of-random-io</a></li><li>autovacuum_analyze_scale_factor <a href="https://www.postgresql.org/docs/current/runtime-config-vacuum.html#GUC-AUTOVACUUM-ANALYZE-SCALE-FACTOR">https://www.postgresql.org/docs/current/runtime-config-vacuum.html#GUC-AUTOVACUUM-ANALYZE-SCALE-FACTOR</a></li><li>default_statistics_target <a href="https://www.postgresql.org/docs/current/runtime-config-query.html#GUC-DEFAULT-STATISTICS-TARGET">https://www.postgresql.org/docs/current/runtime-config-query.html#GUC-DEFAULT-STATISTICS-TARGET</a></li><li>pg_hint_plan <a href="https://github.com/ossc-db/pg_hint_plan">https://github.com/ossc-db/pg_hint_plan</a></li><li>Aurora PostgreSQL query plan management <a href="https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Optimize.Start.html">https://docs.aws.amazon.comAmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Optimize.Start.html</a></li><li>pg_stat_plans <a href="https://github.com/pganalyze/pg_stat_plans">https://github.com/pganalyze/pg_stat_plans</a></li><li>pg_plan_alternatives <a href="https://jnidzwetzki.github.io/2026/03/04/pg-plan-alternatives.html">https://jnidzwetzki.github.io/2026/03/04/pg-plan-alternatives.html</a></li><li>Waiting for Postgres 19: Better Planner Hints with Path Generation Strategies <a href="https://pganalyze.com/blog/5mins-postgres-19-better-planner-hints">https://pganalyze.com/blog/5mins-postgres-19-better-planner-hints</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/455cb088/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>pg_ash</title>
      <itunes:episode>172</itunes:episode>
      <podcast:episode>172</podcast:episode>
      <itunes:title>pg_ash</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">d35dfab8-1627-4ca5-a2a4-23567ade555f</guid>
      <link>https://share.transistor.fm/s/1ecc5c83</link>
      <description>
        <![CDATA[<p>Nik and Michael discuss pg_ash — a new tool (not extension!) from Nik that samples and stores wait events from pg_stat_activity.<br> <br>Here are some links to things they mentioned: </p><ul><li>pg_ash <a href="https://github.com/NikolayS/pg_ash">https://github.com/NikolayS/pg_ash</a></li><li>pg_wait_sampling <a href="https://github.com/postgrespro/pg_wait_sampling">https://github.com/postgrespro/pg_wait_sampling</a></li><li>Amazon RDS performance insights <a href="https://aws.amazon.com/rds/performance-insights/">https://aws.amazon.com/rds/performance-insights</a></li><li>Our episode on wait events <a href="https://postgres.fm/episodes/wait-events">https://postgres.fm/episodes/wait-events</a></li><li>pg-flight-recorder <a href="https://github.com/dventimisupabase/pg-flight-recorder">https://github.com/dventimisupabase/pg-flight-recorder</a></li><li>pg_profile <a href="https://github.com/zubkov-andrei/pg_profile">https://github.com/zubkov-andrei/pg_profile</a></li><li>pg_cron <a href="https://github.com/citusdata/pg_cron">https://github.com/citusdata/pg_cron</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nik and Michael discuss pg_ash — a new tool (not extension!) from Nik that samples and stores wait events from pg_stat_activity.<br> <br>Here are some links to things they mentioned: </p><ul><li>pg_ash <a href="https://github.com/NikolayS/pg_ash">https://github.com/NikolayS/pg_ash</a></li><li>pg_wait_sampling <a href="https://github.com/postgrespro/pg_wait_sampling">https://github.com/postgrespro/pg_wait_sampling</a></li><li>Amazon RDS performance insights <a href="https://aws.amazon.com/rds/performance-insights/">https://aws.amazon.com/rds/performance-insights</a></li><li>Our episode on wait events <a href="https://postgres.fm/episodes/wait-events">https://postgres.fm/episodes/wait-events</a></li><li>pg-flight-recorder <a href="https://github.com/dventimisupabase/pg-flight-recorder">https://github.com/dventimisupabase/pg-flight-recorder</a></li><li>pg_profile <a href="https://github.com/zubkov-andrei/pg_profile">https://github.com/zubkov-andrei/pg_profile</a></li><li>pg_cron <a href="https://github.com/citusdata/pg_cron">https://github.com/citusdata/pg_cron</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 20 Feb 2026 14:19:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/1ecc5c83/5b974800.mp3" length="31158366" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>1945</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nik and Michael discuss pg_ash — a new tool (not extension!) from Nik that samples and stores wait events from pg_stat_activity.<br> <br>Here are some links to things they mentioned: </p><ul><li>pg_ash <a href="https://github.com/NikolayS/pg_ash">https://github.com/NikolayS/pg_ash</a></li><li>pg_wait_sampling <a href="https://github.com/postgrespro/pg_wait_sampling">https://github.com/postgrespro/pg_wait_sampling</a></li><li>Amazon RDS performance insights <a href="https://aws.amazon.com/rds/performance-insights/">https://aws.amazon.com/rds/performance-insights</a></li><li>Our episode on wait events <a href="https://postgres.fm/episodes/wait-events">https://postgres.fm/episodes/wait-events</a></li><li>pg-flight-recorder <a href="https://github.com/dventimisupabase/pg-flight-recorder">https://github.com/dventimisupabase/pg-flight-recorder</a></li><li>pg_profile <a href="https://github.com/zubkov-andrei/pg_profile">https://github.com/zubkov-andrei/pg_profile</a></li><li>pg_cron <a href="https://github.com/citusdata/pg_cron">https://github.com/citusdata/pg_cron</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/1ecc5c83/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Comments and metadata</title>
      <itunes:episode>171</itunes:episode>
      <podcast:episode>171</podcast:episode>
      <itunes:title>Comments and metadata</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">a138d580-1b15-4be1-b3ec-6f126822d247</guid>
      <link>https://share.transistor.fm/s/22752ac2</link>
      <description>
        <![CDATA[<p>Nik and Michael discuss query level comments, object level comments, and another way of adding object level metadata.<br> <br>Here are some links to things they mentioned: </p><ul><li>Object comments <a href="https://www.postgresql.org/docs/current/sql-comment.html">https://www.postgresql.org/docs/current/sql-comment.html</a></li><li>Query comment syntax (from an old version of the docs) <a href="https://www.postgresql.org/docs/7.0/syntax519.htm">https://www.postgresql.org/docs/7.0/syntax519.htm</a></li><li>SQL Comments, Please! (Post by Markus Winand) <a href="https://modern-sql.com/caniuse/comments">https://modern-sql.com/caniuse/comments</a></li><li>“While C-style block comments are passed to the server for processing and removal, SQL-standard comments are removed by psql.” <a href="https://www.postgresql.org/docs/current/app-psql.html">https://www.postgresql.org/docs/current/app-psql.html</a></li><li>marginalia <a href="https://github.com/basecamp/marginalia">https://github.com/basecamp/marginalia</a></li><li>track_activity_query_size <a href="https://www.postgresql.org/docs/current/runtime-config-statistics.html#GUC-TRACK-ACTIVITY-QUERY-SIZE">https://www.postgresql.org/docs/current/runtime-config-statistics.html#GUC-TRACK-ACTIVITY-QUERY-SIZE</a></li><li>Custom Properties for Database Objects Using SECURITY LABELS (post by Andrei Lepikhov) <a href="https://www.pgedge.com/blog/custom-properties-for-postgresql-database-objects-without-core-patches">https://www.pgedge.com/blog/custom-properties-for-postgresql-database-objects-without-core-patches</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nik and Michael discuss query level comments, object level comments, and another way of adding object level metadata.<br> <br>Here are some links to things they mentioned: </p><ul><li>Object comments <a href="https://www.postgresql.org/docs/current/sql-comment.html">https://www.postgresql.org/docs/current/sql-comment.html</a></li><li>Query comment syntax (from an old version of the docs) <a href="https://www.postgresql.org/docs/7.0/syntax519.htm">https://www.postgresql.org/docs/7.0/syntax519.htm</a></li><li>SQL Comments, Please! (Post by Markus Winand) <a href="https://modern-sql.com/caniuse/comments">https://modern-sql.com/caniuse/comments</a></li><li>“While C-style block comments are passed to the server for processing and removal, SQL-standard comments are removed by psql.” <a href="https://www.postgresql.org/docs/current/app-psql.html">https://www.postgresql.org/docs/current/app-psql.html</a></li><li>marginalia <a href="https://github.com/basecamp/marginalia">https://github.com/basecamp/marginalia</a></li><li>track_activity_query_size <a href="https://www.postgresql.org/docs/current/runtime-config-statistics.html#GUC-TRACK-ACTIVITY-QUERY-SIZE">https://www.postgresql.org/docs/current/runtime-config-statistics.html#GUC-TRACK-ACTIVITY-QUERY-SIZE</a></li><li>Custom Properties for Database Objects Using SECURITY LABELS (post by Andrei Lepikhov) <a href="https://www.pgedge.com/blog/custom-properties-for-postgresql-database-objects-without-core-patches">https://www.pgedge.com/blog/custom-properties-for-postgresql-database-objects-without-core-patches</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 13 Feb 2026 14:00:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/22752ac2/91d8f54b.mp3" length="34733619" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2169</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nik and Michael discuss query level comments, object level comments, and another way of adding object level metadata.<br> <br>Here are some links to things they mentioned: </p><ul><li>Object comments <a href="https://www.postgresql.org/docs/current/sql-comment.html">https://www.postgresql.org/docs/current/sql-comment.html</a></li><li>Query comment syntax (from an old version of the docs) <a href="https://www.postgresql.org/docs/7.0/syntax519.htm">https://www.postgresql.org/docs/7.0/syntax519.htm</a></li><li>SQL Comments, Please! (Post by Markus Winand) <a href="https://modern-sql.com/caniuse/comments">https://modern-sql.com/caniuse/comments</a></li><li>“While C-style block comments are passed to the server for processing and removal, SQL-standard comments are removed by psql.” <a href="https://www.postgresql.org/docs/current/app-psql.html">https://www.postgresql.org/docs/current/app-psql.html</a></li><li>marginalia <a href="https://github.com/basecamp/marginalia">https://github.com/basecamp/marginalia</a></li><li>track_activity_query_size <a href="https://www.postgresql.org/docs/current/runtime-config-statistics.html#GUC-TRACK-ACTIVITY-QUERY-SIZE">https://www.postgresql.org/docs/current/runtime-config-statistics.html#GUC-TRACK-ACTIVITY-QUERY-SIZE</a></li><li>Custom Properties for Database Objects Using SECURITY LABELS (post by Andrei Lepikhov) <a href="https://www.pgedge.com/blog/custom-properties-for-postgresql-database-objects-without-core-patches">https://www.pgedge.com/blog/custom-properties-for-postgresql-database-objects-without-core-patches</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/22752ac2/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>PgDog update</title>
      <itunes:episode>170</itunes:episode>
      <podcast:episode>170</podcast:episode>
      <itunes:title>PgDog update</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">25cf03ec-c97c-40c0-a6ce-1213f8a05628</guid>
      <link>https://share.transistor.fm/s/ff755fd3</link>
      <description>
        <![CDATA[<p>Nik and Michael are joined by Lev Kokotov for an update on all things PgDog.<br> <br>Here are some links to things they mentioned:</p><ul><li>Lev Kokotov <a href="https://postgres.fm/people/lev-kokotov">https://postgres.fm/people/lev-kokotov</a></li><li>PgDog <a href="https://github.com/pgdogdev/pgdog">https://github.com/pgdogdev/pgdog</a></li><li>Our first PgDog episode (March 2025) <a href="https://postgres.fm/episodes/pgdog">https://postgres.fm/episodes/pgdog</a></li><li>Sharding pgvector (blog post by Lev) <a href="https://pgdog.dev/blog/sharding-pgvector">https://pgdog.dev/blog/sharding-pgvector</a></li><li>Prepared statements and partitioned table lock explosion (series by Nik) <a href="https://postgres.ai/blog/20251028-postgres-marathon-2-009">https://postgres.ai/blog/20251028-postgres-marathon-2-009</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nik and Michael are joined by Lev Kokotov for an update on all things PgDog.<br> <br>Here are some links to things they mentioned:</p><ul><li>Lev Kokotov <a href="https://postgres.fm/people/lev-kokotov">https://postgres.fm/people/lev-kokotov</a></li><li>PgDog <a href="https://github.com/pgdogdev/pgdog">https://github.com/pgdogdev/pgdog</a></li><li>Our first PgDog episode (March 2025) <a href="https://postgres.fm/episodes/pgdog">https://postgres.fm/episodes/pgdog</a></li><li>Sharding pgvector (blog post by Lev) <a href="https://pgdog.dev/blog/sharding-pgvector">https://pgdog.dev/blog/sharding-pgvector</a></li><li>Prepared statements and partitioned table lock explosion (series by Nik) <a href="https://postgres.ai/blog/20251028-postgres-marathon-2-009">https://postgres.ai/blog/20251028-postgres-marathon-2-009</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 23 Jan 2026 14:00:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/ff755fd3/d3bfef9d.mp3" length="42576605" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2659</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nik and Michael are joined by Lev Kokotov for an update on all things PgDog.<br> <br>Here are some links to things they mentioned:</p><ul><li>Lev Kokotov <a href="https://postgres.fm/people/lev-kokotov">https://postgres.fm/people/lev-kokotov</a></li><li>PgDog <a href="https://github.com/pgdogdev/pgdog">https://github.com/pgdogdev/pgdog</a></li><li>Our first PgDog episode (March 2025) <a href="https://postgres.fm/episodes/pgdog">https://postgres.fm/episodes/pgdog</a></li><li>Sharding pgvector (blog post by Lev) <a href="https://pgdog.dev/blog/sharding-pgvector">https://pgdog.dev/blog/sharding-pgvector</a></li><li>Prepared statements and partitioned table lock explosion (series by Nik) <a href="https://postgres.ai/blog/20251028-postgres-marathon-2-009">https://postgres.ai/blog/20251028-postgres-marathon-2-009</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Guest" href="https://pgdog.dev" img="https://img.transistorcdn.com/Hk6SCfcPn4yRlbcbHTr_taZYGxIwEyP97zBJehPiyxo/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS82ODQy/MjdlYmZjMDNhNTNk/YWY5ZWEzNTZhMTlh/ODQ0NS5qcGVn.jpg">Lev Kokotov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/ff755fd3/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>RegreSQL</title>
      <itunes:episode>169</itunes:episode>
      <podcast:episode>169</podcast:episode>
      <itunes:title>RegreSQL</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">01ef53bc-ee5d-4b5f-87fa-3b92e4fdf72a</guid>
      <link>https://share.transistor.fm/s/e134b670</link>
      <description>
        <![CDATA[<p>Nik and Michael are joined by Radim Marek from boringSQL to talk about RegreSQL, a regression testing tool for SQL queries they forked and improved recently.<br> <br>Here are some links to things they mentioned:</p><ul><li>Radim Marek <a href="https://postgres.fm/people/radim-marek">https://postgres.fm/people/radim-marek</a></li><li>boringSQL <a href="https://boringsql.com">https://boringsql.com</a></li><li>RegreSQL: Regression Testing for PostgreSQL Queries (blog post by Radim) <a href="https://boringsql.com/posts/regresql-testing-queries">https://boringsql.com/posts/regresql-testing-queries</a></li><li>Discussion on Hacker News <a href="https://news.ycombinator.com/item?id=45924619">https://news.ycombinator.com/item?id=45924619</a> </li><li>Radim’s fork of RegreSQL on GitHub <a href="https://github.com/boringSQL/regresql">https://github.com/boringSQL/regresql</a> </li><li>Original RegreSQL on GitHub (by Dimitri Fontaine) <a href="https://github.com/dimitri/regresql">https://github.com/dimitri/regresql</a> </li><li>The Art of PostgreSQL (book) <a href="https://theartofpostgresql.com">https://theartofpostgresql.com</a></li><li>How to make the non-production Postgres planner behave like in production (how-to post by Nik) <a href="https://postgres.ai/docs/postgres-howtos/performance-optimization/query-tuning/how-to-imitate-production-planner">https://postgres.ai/docs/postgres-howtos/performance-optimization/query-tuning/how-to-imitate-production-planner</a> </li><li>Just because you’re getting an index scan, doesn't mean you can’t do better! (Blog post by Michael) <a href="https://www.pgmustard.com/blog/index-scan-doesnt-mean-its-fast">https://www.pgmustard.com/blog/index-scan-doesnt-mean-its-fast</a></li><li>boringSQL Labs <a href="https://labs.boringsql.com">https://labs.boringsql.com</a></li></ul><p><br></p><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nik and Michael are joined by Radim Marek from boringSQL to talk about RegreSQL, a regression testing tool for SQL queries they forked and improved recently.<br> <br>Here are some links to things they mentioned:</p><ul><li>Radim Marek <a href="https://postgres.fm/people/radim-marek">https://postgres.fm/people/radim-marek</a></li><li>boringSQL <a href="https://boringsql.com">https://boringsql.com</a></li><li>RegreSQL: Regression Testing for PostgreSQL Queries (blog post by Radim) <a href="https://boringsql.com/posts/regresql-testing-queries">https://boringsql.com/posts/regresql-testing-queries</a></li><li>Discussion on Hacker News <a href="https://news.ycombinator.com/item?id=45924619">https://news.ycombinator.com/item?id=45924619</a> </li><li>Radim’s fork of RegreSQL on GitHub <a href="https://github.com/boringSQL/regresql">https://github.com/boringSQL/regresql</a> </li><li>Original RegreSQL on GitHub (by Dimitri Fontaine) <a href="https://github.com/dimitri/regresql">https://github.com/dimitri/regresql</a> </li><li>The Art of PostgreSQL (book) <a href="https://theartofpostgresql.com">https://theartofpostgresql.com</a></li><li>How to make the non-production Postgres planner behave like in production (how-to post by Nik) <a href="https://postgres.ai/docs/postgres-howtos/performance-optimization/query-tuning/how-to-imitate-production-planner">https://postgres.ai/docs/postgres-howtos/performance-optimization/query-tuning/how-to-imitate-production-planner</a> </li><li>Just because you’re getting an index scan, doesn't mean you can’t do better! (Blog post by Michael) <a href="https://www.pgmustard.com/blog/index-scan-doesnt-mean-its-fast">https://www.pgmustard.com/blog/index-scan-doesnt-mean-its-fast</a></li><li>boringSQL Labs <a href="https://labs.boringsql.com">https://labs.boringsql.com</a></li></ul><p><br></p><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 16 Jan 2026 14:00:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/e134b670/ecb0826f.mp3" length="55387882" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>3460</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nik and Michael are joined by Radim Marek from boringSQL to talk about RegreSQL, a regression testing tool for SQL queries they forked and improved recently.<br> <br>Here are some links to things they mentioned:</p><ul><li>Radim Marek <a href="https://postgres.fm/people/radim-marek">https://postgres.fm/people/radim-marek</a></li><li>boringSQL <a href="https://boringsql.com">https://boringsql.com</a></li><li>RegreSQL: Regression Testing for PostgreSQL Queries (blog post by Radim) <a href="https://boringsql.com/posts/regresql-testing-queries">https://boringsql.com/posts/regresql-testing-queries</a></li><li>Discussion on Hacker News <a href="https://news.ycombinator.com/item?id=45924619">https://news.ycombinator.com/item?id=45924619</a> </li><li>Radim’s fork of RegreSQL on GitHub <a href="https://github.com/boringSQL/regresql">https://github.com/boringSQL/regresql</a> </li><li>Original RegreSQL on GitHub (by Dimitri Fontaine) <a href="https://github.com/dimitri/regresql">https://github.com/dimitri/regresql</a> </li><li>The Art of PostgreSQL (book) <a href="https://theartofpostgresql.com">https://theartofpostgresql.com</a></li><li>How to make the non-production Postgres planner behave like in production (how-to post by Nik) <a href="https://postgres.ai/docs/postgres-howtos/performance-optimization/query-tuning/how-to-imitate-production-planner">https://postgres.ai/docs/postgres-howtos/performance-optimization/query-tuning/how-to-imitate-production-planner</a> </li><li>Just because you’re getting an index scan, doesn't mean you can’t do better! (Blog post by Michael) <a href="https://www.pgmustard.com/blog/index-scan-doesnt-mean-its-fast">https://www.pgmustard.com/blog/index-scan-doesnt-mean-its-fast</a></li><li>boringSQL Labs <a href="https://labs.boringsql.com">https://labs.boringsql.com</a></li></ul><p><br></p><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Guest" href="https://boringsql.com" img="https://img.transistorcdn.com/d7sQc6qRrsq8jCM5BFcdsjhtupl7JYR9ZtZr74-LTVI/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9jZDhl/MmU4NjU2YWQ1OTcx/MGEzMDE4MTZhMGM2/Y2M4MC5qcGVn.jpg">Radim Marek</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/e134b670/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Postgres year in review 2025</title>
      <itunes:episode>168</itunes:episode>
      <podcast:episode>168</podcast:episode>
      <itunes:title>Postgres year in review 2025</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">9c2f330b-c7d5-448f-9085-c61a21b45bcd</guid>
      <link>https://share.transistor.fm/s/35167149</link>
      <description>
        <![CDATA[<p>Nik and Michael discuss the events and trends they thought were most important in the Postgres ecosystem in 2025.<br> <br>Here are some links to things they mentioned: </p><ul><li>Postgres 18 release notes <a href="https://www.postgresql.org/docs/18/release-18.html">https://www.postgresql.org/docs/18/release-18.html</a></li><li>Our episode on Postgres 18 <a href="https://postgres.fm/episodes/postgres-18">https://postgres.fm/episodes/postgres-18</a></li><li>LWLock:LockManager benchmarks for Postgres 18 (blog post by Nik) <a href="https://postgres.ai/blog/20251009-postgres-marathon-2-005">https://postgres.ai/blog/20251009-postgres-marathon-2-005</a></li><li>PostgreSQL bug tied to zero-day attack on US Treasury <a href="https://www.theregister.com/2025/02/14/postgresql_bug_treasury">https://www.theregister.com/2025/02/14/postgresql_bug_treasury</a></li><li>PgDog episode <a href="https://postgres.fm/episodes/pgdog">https://postgres.fm/episodes/pgdog</a></li><li>Multigres episode <a href="https://postgres.fm/episodes/multigres">https://postgres.fm/episodes/multigres</a></li><li>Neki announcement <a href="https://planetscale.com/blog/announcing-neki">https://planetscale.com/blog/announcing-neki</a></li><li>Our 100TB episode from 2024 <a href="https://postgres.fm/episodes/to-100tb-and-beyond">https://postgres.fm/episodes/to-100tb-and-beyond</a></li><li>PlanetScale for Postgres <a href="https://planetscale.com/blog/planetscale-for-postgres">https://planetscale.com/blog/planetscale-for-postgres</a></li><li>Oracle's MySQL job cuts <a href="https://www.theregister.com/2025/09/11/oracle_slammed_for_mysql_job">https://www.theregister.com/2025/09/11/oracle_slammed_for_mysql_job</a></li><li>Amazon Aurora DSQL is now generally available <a href="https://aws.amazon.com/about-aws/whats-new/2025/05/amazon-aurora-dsql-generally-available">https://aws.amazon.com/about-aws/whats-new/2025/05/amazon-aurora-dsql-generally-available</a></li><li>Announcing Azure HorizonDB <a href="https://techcommunity.microsoft.com/blog/adforpostgresql/announcing-azure-horizondb/4469710">https://techcommunity.microsoft.com/blog/adforpostgresql/announcing-azure-horizondb/4469710</a></li><li>Lessons from Replit and Tiger Data on Storage for Agentic Experimentation <a href="https://www.tigerdata.com/blog/lessons-replit-tiger-data-storage-agentic-experimentation">https://www.tigerdata.com/blog/lessons-replit-tiger-data-storage-agentic-experimentation</a></li><li>Instant database clones with PostgreSQL 18 <a href="https://boringsql.com/posts/instant-database-clones">https://boringsql.com/posts/instant-database-clones</a></li><li>turbopuffer episode <a href="https://postgres.fm/episodes/turbopuffer">https://postgres.fm/episodes/turbopuffer</a></li><li>Crunchy joins Snowflake <a href="https://www.crunchydata.com/blog/crunchy-data-joins-snowflake">https://www.crunchydata.com/blog/crunchy-data-joins-snowflake</a></li><li>Neon joins Databricks <a href="https://neon.com/blog/neon-and-databricks">https://neon.com/blog/neon-and-databricks</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nik and Michael discuss the events and trends they thought were most important in the Postgres ecosystem in 2025.<br> <br>Here are some links to things they mentioned: </p><ul><li>Postgres 18 release notes <a href="https://www.postgresql.org/docs/18/release-18.html">https://www.postgresql.org/docs/18/release-18.html</a></li><li>Our episode on Postgres 18 <a href="https://postgres.fm/episodes/postgres-18">https://postgres.fm/episodes/postgres-18</a></li><li>LWLock:LockManager benchmarks for Postgres 18 (blog post by Nik) <a href="https://postgres.ai/blog/20251009-postgres-marathon-2-005">https://postgres.ai/blog/20251009-postgres-marathon-2-005</a></li><li>PostgreSQL bug tied to zero-day attack on US Treasury <a href="https://www.theregister.com/2025/02/14/postgresql_bug_treasury">https://www.theregister.com/2025/02/14/postgresql_bug_treasury</a></li><li>PgDog episode <a href="https://postgres.fm/episodes/pgdog">https://postgres.fm/episodes/pgdog</a></li><li>Multigres episode <a href="https://postgres.fm/episodes/multigres">https://postgres.fm/episodes/multigres</a></li><li>Neki announcement <a href="https://planetscale.com/blog/announcing-neki">https://planetscale.com/blog/announcing-neki</a></li><li>Our 100TB episode from 2024 <a href="https://postgres.fm/episodes/to-100tb-and-beyond">https://postgres.fm/episodes/to-100tb-and-beyond</a></li><li>PlanetScale for Postgres <a href="https://planetscale.com/blog/planetscale-for-postgres">https://planetscale.com/blog/planetscale-for-postgres</a></li><li>Oracle's MySQL job cuts <a href="https://www.theregister.com/2025/09/11/oracle_slammed_for_mysql_job">https://www.theregister.com/2025/09/11/oracle_slammed_for_mysql_job</a></li><li>Amazon Aurora DSQL is now generally available <a href="https://aws.amazon.com/about-aws/whats-new/2025/05/amazon-aurora-dsql-generally-available">https://aws.amazon.com/about-aws/whats-new/2025/05/amazon-aurora-dsql-generally-available</a></li><li>Announcing Azure HorizonDB <a href="https://techcommunity.microsoft.com/blog/adforpostgresql/announcing-azure-horizondb/4469710">https://techcommunity.microsoft.com/blog/adforpostgresql/announcing-azure-horizondb/4469710</a></li><li>Lessons from Replit and Tiger Data on Storage for Agentic Experimentation <a href="https://www.tigerdata.com/blog/lessons-replit-tiger-data-storage-agentic-experimentation">https://www.tigerdata.com/blog/lessons-replit-tiger-data-storage-agentic-experimentation</a></li><li>Instant database clones with PostgreSQL 18 <a href="https://boringsql.com/posts/instant-database-clones">https://boringsql.com/posts/instant-database-clones</a></li><li>turbopuffer episode <a href="https://postgres.fm/episodes/turbopuffer">https://postgres.fm/episodes/turbopuffer</a></li><li>Crunchy joins Snowflake <a href="https://www.crunchydata.com/blog/crunchy-data-joins-snowflake">https://www.crunchydata.com/blog/crunchy-data-joins-snowflake</a></li><li>Neon joins Databricks <a href="https://neon.com/blog/neon-and-databricks">https://neon.com/blog/neon-and-databricks</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 02 Jan 2026 14:00:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/35167149/9facb1e5.mp3" length="45562119" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2845</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nik and Michael discuss the events and trends they thought were most important in the Postgres ecosystem in 2025.<br> <br>Here are some links to things they mentioned: </p><ul><li>Postgres 18 release notes <a href="https://www.postgresql.org/docs/18/release-18.html">https://www.postgresql.org/docs/18/release-18.html</a></li><li>Our episode on Postgres 18 <a href="https://postgres.fm/episodes/postgres-18">https://postgres.fm/episodes/postgres-18</a></li><li>LWLock:LockManager benchmarks for Postgres 18 (blog post by Nik) <a href="https://postgres.ai/blog/20251009-postgres-marathon-2-005">https://postgres.ai/blog/20251009-postgres-marathon-2-005</a></li><li>PostgreSQL bug tied to zero-day attack on US Treasury <a href="https://www.theregister.com/2025/02/14/postgresql_bug_treasury">https://www.theregister.com/2025/02/14/postgresql_bug_treasury</a></li><li>PgDog episode <a href="https://postgres.fm/episodes/pgdog">https://postgres.fm/episodes/pgdog</a></li><li>Multigres episode <a href="https://postgres.fm/episodes/multigres">https://postgres.fm/episodes/multigres</a></li><li>Neki announcement <a href="https://planetscale.com/blog/announcing-neki">https://planetscale.com/blog/announcing-neki</a></li><li>Our 100TB episode from 2024 <a href="https://postgres.fm/episodes/to-100tb-and-beyond">https://postgres.fm/episodes/to-100tb-and-beyond</a></li><li>PlanetScale for Postgres <a href="https://planetscale.com/blog/planetscale-for-postgres">https://planetscale.com/blog/planetscale-for-postgres</a></li><li>Oracle's MySQL job cuts <a href="https://www.theregister.com/2025/09/11/oracle_slammed_for_mysql_job">https://www.theregister.com/2025/09/11/oracle_slammed_for_mysql_job</a></li><li>Amazon Aurora DSQL is now generally available <a href="https://aws.amazon.com/about-aws/whats-new/2025/05/amazon-aurora-dsql-generally-available">https://aws.amazon.com/about-aws/whats-new/2025/05/amazon-aurora-dsql-generally-available</a></li><li>Announcing Azure HorizonDB <a href="https://techcommunity.microsoft.com/blog/adforpostgresql/announcing-azure-horizondb/4469710">https://techcommunity.microsoft.com/blog/adforpostgresql/announcing-azure-horizondb/4469710</a></li><li>Lessons from Replit and Tiger Data on Storage for Agentic Experimentation <a href="https://www.tigerdata.com/blog/lessons-replit-tiger-data-storage-agentic-experimentation">https://www.tigerdata.com/blog/lessons-replit-tiger-data-storage-agentic-experimentation</a></li><li>Instant database clones with PostgreSQL 18 <a href="https://boringsql.com/posts/instant-database-clones">https://boringsql.com/posts/instant-database-clones</a></li><li>turbopuffer episode <a href="https://postgres.fm/episodes/turbopuffer">https://postgres.fm/episodes/turbopuffer</a></li><li>Crunchy joins Snowflake <a href="https://www.crunchydata.com/blog/crunchy-data-joins-snowflake">https://www.crunchydata.com/blog/crunchy-data-joins-snowflake</a></li><li>Neon joins Databricks <a href="https://neon.com/blog/neon-and-databricks">https://neon.com/blog/neon-and-databricks</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/35167149/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Archiving</title>
      <itunes:episode>167</itunes:episode>
      <podcast:episode>167</podcast:episode>
      <itunes:title>Archiving</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">3856cc60-2127-4183-99a1-314c5c010e69</guid>
      <link>https://share.transistor.fm/s/8b05eef0</link>
      <description>
        <![CDATA[<p>Nik and Michael discuss a listener question about archiving a database.<br> <br>Here are some links to things they mentioned: </p><ul><li>Listener request to talk about archiving <a href="https://www.youtube.com/watch?v=KFRK8PiIvTg&amp;lc=UgyiFrO37gEgUaVhRgN4AaABAg">https://www.youtube.com/watch?v=KFRK8PiIvTg&amp;lc=UgyiFrO37gEgUaVhRgN4AaABAg</a> </li><li>Our episode on “Is pg_dump a backup tool?” <a href="https://postgres.fm/episodes/is-pg_dump-a-backup-tool">https://postgres.fm/episodes/is-pg_dump-a-backup-tool</a> </li></ul><p><br></p><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nik and Michael discuss a listener question about archiving a database.<br> <br>Here are some links to things they mentioned: </p><ul><li>Listener request to talk about archiving <a href="https://www.youtube.com/watch?v=KFRK8PiIvTg&amp;lc=UgyiFrO37gEgUaVhRgN4AaABAg">https://www.youtube.com/watch?v=KFRK8PiIvTg&amp;lc=UgyiFrO37gEgUaVhRgN4AaABAg</a> </li><li>Our episode on “Is pg_dump a backup tool?” <a href="https://postgres.fm/episodes/is-pg_dump-a-backup-tool">https://postgres.fm/episodes/is-pg_dump-a-backup-tool</a> </li></ul><p><br></p><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 19 Dec 2025 14:00:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/8b05eef0/64dbfc19.mp3" length="29845980" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>1863</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nik and Michael discuss a listener question about archiving a database.<br> <br>Here are some links to things they mentioned: </p><ul><li>Listener request to talk about archiving <a href="https://www.youtube.com/watch?v=KFRK8PiIvTg&amp;lc=UgyiFrO37gEgUaVhRgN4AaABAg">https://www.youtube.com/watch?v=KFRK8PiIvTg&amp;lc=UgyiFrO37gEgUaVhRgN4AaABAg</a> </li><li>Our episode on “Is pg_dump a backup tool?” <a href="https://postgres.fm/episodes/is-pg_dump-a-backup-tool">https://postgres.fm/episodes/is-pg_dump-a-backup-tool</a> </li></ul><p><br></p><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/8b05eef0/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>max_connections vs migrations</title>
      <itunes:episode>166</itunes:episode>
      <podcast:episode>166</podcast:episode>
      <itunes:title>max_connections vs migrations</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">7d3a2bfd-de91-4957-93ad-5aa0e6ba7809</guid>
      <link>https://share.transistor.fm/s/633a85e4</link>
      <description>
        <![CDATA[<p>Nik and Michael discuss max_connections, especially in the context of increasing it to solve problems like migrations intermittently failing(!)<br> <br>Here are some links to things they mentioned: </p><ul><li>max_connections <a href="https://www.postgresql.org/docs/current/runtime-config-connection.html#GUC-MAX-CONNECTIONS">https://www.postgresql.org/docs/current/runtime-config-connection.html#GUC-MAX-CONNECTIONS</a></li><li>Tweet about deployments vs connections issue <a href="https://x.com/brankopetric00/status/1991394329886077090">https://x.com/brankopetric00/status/1991394329886077090</a></li><li>Nik tweet in response <a href="https://x.com/samokhvalov/status/1991465573684027443">https://x.com/samokhvalov/status/1991465573684027443</a></li><li>Analyzing the Limits of Connection Scalability in Postgres (blog post by Andres Freund) <a href="https://www.citusdata.com/blog/2020/10/08/analyzing-connection-scalability/">https://www.citusdata.com/blog/2020/10/08/analyzing-connection-scalability/</a></li><li>Exponential Backoff And Jitter (blog post by Marc Brooker) <a href="https://aws.amazon.com/blogs/architecture/exponential-backoff-and-jitter/">https://aws.amazon.com/blogs/architecture/exponential-backoff-and-jitter/</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nik and Michael discuss max_connections, especially in the context of increasing it to solve problems like migrations intermittently failing(!)<br> <br>Here are some links to things they mentioned: </p><ul><li>max_connections <a href="https://www.postgresql.org/docs/current/runtime-config-connection.html#GUC-MAX-CONNECTIONS">https://www.postgresql.org/docs/current/runtime-config-connection.html#GUC-MAX-CONNECTIONS</a></li><li>Tweet about deployments vs connections issue <a href="https://x.com/brankopetric00/status/1991394329886077090">https://x.com/brankopetric00/status/1991394329886077090</a></li><li>Nik tweet in response <a href="https://x.com/samokhvalov/status/1991465573684027443">https://x.com/samokhvalov/status/1991465573684027443</a></li><li>Analyzing the Limits of Connection Scalability in Postgres (blog post by Andres Freund) <a href="https://www.citusdata.com/blog/2020/10/08/analyzing-connection-scalability/">https://www.citusdata.com/blog/2020/10/08/analyzing-connection-scalability/</a></li><li>Exponential Backoff And Jitter (blog post by Marc Brooker) <a href="https://aws.amazon.com/blogs/architecture/exponential-backoff-and-jitter/">https://aws.amazon.com/blogs/architecture/exponential-backoff-and-jitter/</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 05 Dec 2025 14:00:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/633a85e4/df289071.mp3" length="42917694" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2680</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nik and Michael discuss max_connections, especially in the context of increasing it to solve problems like migrations intermittently failing(!)<br> <br>Here are some links to things they mentioned: </p><ul><li>max_connections <a href="https://www.postgresql.org/docs/current/runtime-config-connection.html#GUC-MAX-CONNECTIONS">https://www.postgresql.org/docs/current/runtime-config-connection.html#GUC-MAX-CONNECTIONS</a></li><li>Tweet about deployments vs connections issue <a href="https://x.com/brankopetric00/status/1991394329886077090">https://x.com/brankopetric00/status/1991394329886077090</a></li><li>Nik tweet in response <a href="https://x.com/samokhvalov/status/1991465573684027443">https://x.com/samokhvalov/status/1991465573684027443</a></li><li>Analyzing the Limits of Connection Scalability in Postgres (blog post by Andres Freund) <a href="https://www.citusdata.com/blog/2020/10/08/analyzing-connection-scalability/">https://www.citusdata.com/blog/2020/10/08/analyzing-connection-scalability/</a></li><li>Exponential Backoff And Jitter (blog post by Marc Brooker) <a href="https://aws.amazon.com/blogs/architecture/exponential-backoff-and-jitter/">https://aws.amazon.com/blogs/architecture/exponential-backoff-and-jitter/</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/633a85e4/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>What's new in EXPLAIN</title>
      <itunes:episode>165</itunes:episode>
      <podcast:episode>165</podcast:episode>
      <itunes:title>What's new in EXPLAIN</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">daa7923f-4361-45b3-8e34-5c5c23d9b8f9</guid>
      <link>https://share.transistor.fm/s/1c1a3d09</link>
      <description>
        <![CDATA[<p>Nik and Michael discuss the various changes to EXPLAIN that arrived in Postgres 18.<br> <br>Here are some links to things they mentioned: </p><ul><li>EXPLAIN (official docs) <a href="https://www.postgresql.org/docs/current/sql-explain.html">https://www.postgresql.org/docs/current/sql-explain.html</a></li><li>Using EXPLAIN (official docs) <a href="https://www.postgresql.org/docs/current/using-explain.html">https://www.postgresql.org/docs/current/using-explain.html</a> </li><li>EXPLAIN glossary (pgMustard site) <a href="https://www.pgmustard.com/docs/explain">https://www.pgmustard.com/docs/explain</a></li><li>Postgres 18 release notes <a href="https://www.postgresql.org/docs/release/18.0/">https://www.postgresql.org/docs/release/18.0/</a></li><li>Enable BUFFERS with EXPLAIN ANALYZE by default (commit) <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=c2a4078eb">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=c2a4078eb</a></li><li>Our (first) BUFFERS by default episode <a href="https://postgres.fm/episodes/buffers-by-default">https://postgres.fm/episodes/buffers-by-default</a> </li><li>Show index search count in EXPLAIN ANALYZE (commit) <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=0fbceae841cb5a31b13d3f284ac8fdd19822eceb">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=0fbceae841cb5a31b13d3f284ac8fdd19822eceb</a></li><li>Our episode on Skip scan with Peter Geoghegan <a href="https://postgres.fm/episodes/skip-scan">https://postgres.fm/episodes/skip-scan</a></li><li>What do the new Index Searches lines in EXPLAIN mean? <a href="https://www.pgmustard.com/blog/what-do-index-searches-in-explain-mean">https://www.pgmustard.com/blog/what-do-index-searches-in-explain-mean</a></li><li>pg_stat_plans presentation by Lukas Fittl <a href="https://www.youtube.com/watch?v=26coQV3f-wk">https://www.youtube.com/watch?v=26coQV3f-wk</a></li><li>Improve EXPLAIN's display of window functions (commit) <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=8b1b34254">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=8b1b34254</a></li><li>Show Parallel Bitmap Heap Scan worker stats in EXPLAIN ANALYZE (commit) <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=5a1e6df3b">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=5a1e6df3b</a></li><li>Add information about WAL buffers being full (commit) <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=320545bfc">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=320545bfc</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nik and Michael discuss the various changes to EXPLAIN that arrived in Postgres 18.<br> <br>Here are some links to things they mentioned: </p><ul><li>EXPLAIN (official docs) <a href="https://www.postgresql.org/docs/current/sql-explain.html">https://www.postgresql.org/docs/current/sql-explain.html</a></li><li>Using EXPLAIN (official docs) <a href="https://www.postgresql.org/docs/current/using-explain.html">https://www.postgresql.org/docs/current/using-explain.html</a> </li><li>EXPLAIN glossary (pgMustard site) <a href="https://www.pgmustard.com/docs/explain">https://www.pgmustard.com/docs/explain</a></li><li>Postgres 18 release notes <a href="https://www.postgresql.org/docs/release/18.0/">https://www.postgresql.org/docs/release/18.0/</a></li><li>Enable BUFFERS with EXPLAIN ANALYZE by default (commit) <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=c2a4078eb">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=c2a4078eb</a></li><li>Our (first) BUFFERS by default episode <a href="https://postgres.fm/episodes/buffers-by-default">https://postgres.fm/episodes/buffers-by-default</a> </li><li>Show index search count in EXPLAIN ANALYZE (commit) <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=0fbceae841cb5a31b13d3f284ac8fdd19822eceb">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=0fbceae841cb5a31b13d3f284ac8fdd19822eceb</a></li><li>Our episode on Skip scan with Peter Geoghegan <a href="https://postgres.fm/episodes/skip-scan">https://postgres.fm/episodes/skip-scan</a></li><li>What do the new Index Searches lines in EXPLAIN mean? <a href="https://www.pgmustard.com/blog/what-do-index-searches-in-explain-mean">https://www.pgmustard.com/blog/what-do-index-searches-in-explain-mean</a></li><li>pg_stat_plans presentation by Lukas Fittl <a href="https://www.youtube.com/watch?v=26coQV3f-wk">https://www.youtube.com/watch?v=26coQV3f-wk</a></li><li>Improve EXPLAIN's display of window functions (commit) <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=8b1b34254">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=8b1b34254</a></li><li>Show Parallel Bitmap Heap Scan worker stats in EXPLAIN ANALYZE (commit) <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=5a1e6df3b">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=5a1e6df3b</a></li><li>Add information about WAL buffers being full (commit) <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=320545bfc">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=320545bfc</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 21 Nov 2025 14:00:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/1c1a3d09/820813ab.mp3" length="43443888" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2713</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nik and Michael discuss the various changes to EXPLAIN that arrived in Postgres 18.<br> <br>Here are some links to things they mentioned: </p><ul><li>EXPLAIN (official docs) <a href="https://www.postgresql.org/docs/current/sql-explain.html">https://www.postgresql.org/docs/current/sql-explain.html</a></li><li>Using EXPLAIN (official docs) <a href="https://www.postgresql.org/docs/current/using-explain.html">https://www.postgresql.org/docs/current/using-explain.html</a> </li><li>EXPLAIN glossary (pgMustard site) <a href="https://www.pgmustard.com/docs/explain">https://www.pgmustard.com/docs/explain</a></li><li>Postgres 18 release notes <a href="https://www.postgresql.org/docs/release/18.0/">https://www.postgresql.org/docs/release/18.0/</a></li><li>Enable BUFFERS with EXPLAIN ANALYZE by default (commit) <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=c2a4078eb">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=c2a4078eb</a></li><li>Our (first) BUFFERS by default episode <a href="https://postgres.fm/episodes/buffers-by-default">https://postgres.fm/episodes/buffers-by-default</a> </li><li>Show index search count in EXPLAIN ANALYZE (commit) <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=0fbceae841cb5a31b13d3f284ac8fdd19822eceb">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=0fbceae841cb5a31b13d3f284ac8fdd19822eceb</a></li><li>Our episode on Skip scan with Peter Geoghegan <a href="https://postgres.fm/episodes/skip-scan">https://postgres.fm/episodes/skip-scan</a></li><li>What do the new Index Searches lines in EXPLAIN mean? <a href="https://www.pgmustard.com/blog/what-do-index-searches-in-explain-mean">https://www.pgmustard.com/blog/what-do-index-searches-in-explain-mean</a></li><li>pg_stat_plans presentation by Lukas Fittl <a href="https://www.youtube.com/watch?v=26coQV3f-wk">https://www.youtube.com/watch?v=26coQV3f-wk</a></li><li>Improve EXPLAIN's display of window functions (commit) <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=8b1b34254">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=8b1b34254</a></li><li>Show Parallel Bitmap Heap Scan worker stats in EXPLAIN ANALYZE (commit) <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=5a1e6df3b">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=5a1e6df3b</a></li><li>Add information about WAL buffers being full (commit) <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=320545bfc">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=320545bfc</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/1c1a3d09/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Tens of TB per hour</title>
      <itunes:episode>164</itunes:episode>
      <podcast:episode>164</podcast:episode>
      <itunes:title>Tens of TB per hour</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">e8b07740-16d9-431e-aaed-ba7603695985</guid>
      <link>https://share.transistor.fm/s/f5f4f5eb</link>
      <description>
        <![CDATA[<p>Nik talks Michael through a recent benchmark he worked with Maxim Boguk on, to see how quickly they could provision a replica.<br> <br>Here are some links to things they mentioned:</p><ul><li>Ultra-fast replica creation with pgBackRest (blog post by Maxim Boguk and Nik) <a href="https://postgres.ai/blog/20251105-postgres-marathon-2-012-ultra-fast-replica-creation-pgbackrest">https://postgres.ai/blog/20251105-postgres-marathon-2-012-ultra-fast-replica-creation-pgbackrest</a></li><li>Copying a database episode <a href="https://postgres.fm/episodes/copying-a-database">https://postgres.fm/episodes/copying-a-database</a></li><li>Add snapshot backup support for PostgreSQL in wal-g (draft PR by Andrey Borodin) <a href="https://github.com/wal-g/wal-g/pull/2101">https://github.com/wal-g/wal-g/pull/2101</a></li><li>Multi-threaded pg_basebackup discussion 1: <a href="https://www.postgresql.org/message-id/flat/CAEHH7R4%3D_GN%2BLSsj0YZOXZ13yc%3DGk9umJOLNopjS%3DimK0c1mWA%40mail.gmail.com">https://www.postgresql.org/message-id/flat/CAEHH7R4%3D_GN%2BLSsj0YZOXZ13yc%3DGk9umJOLNopjS%3DimK0c1mWA%40mail.gmail.com</a></li><li>Multi-threaded pg_basebackup discussion 2: <a href="https://www.postgresql.org/message-id/flat/">https://www.postgresql.org/message-id/flat/</a></li><li>io_method <a href="https://www.postgresql.org/docs/current/runtime-config-resource.html#GUC-IO-METHOD">https://www.postgresql.org/docs/current/runtime-config-resource.html#GUC-IO-METHOD</a> </li><li>pgBackRest <a href="https://github.com/pgbackrest/pgbackrest">https://github.com/pgbackrest/pgbackrest</a></li><li>Add sequence synchronization for logical replication (commit) <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=5509055d6956745532e65ab218e15b99d87d66ce">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=5509055d6956745532e65ab218e15b99d87d66ce</a> </li><li>Allow process priority to be set (pgBackRest feature added by David Steele) <a href="https://github.com/pgbackrest/pgbackrest/pull/2693">https://github.com/pgbackrest/pgbackrest/pull/2693</a> </li><li>Hard limit on process-max (pgBackRest issue from 2019) <a href="https://github.com/pgbackrest/pgbackrest/issues/696">https://github.com/pgbackrest/pgbackrest/issues/696</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nik talks Michael through a recent benchmark he worked with Maxim Boguk on, to see how quickly they could provision a replica.<br> <br>Here are some links to things they mentioned:</p><ul><li>Ultra-fast replica creation with pgBackRest (blog post by Maxim Boguk and Nik) <a href="https://postgres.ai/blog/20251105-postgres-marathon-2-012-ultra-fast-replica-creation-pgbackrest">https://postgres.ai/blog/20251105-postgres-marathon-2-012-ultra-fast-replica-creation-pgbackrest</a></li><li>Copying a database episode <a href="https://postgres.fm/episodes/copying-a-database">https://postgres.fm/episodes/copying-a-database</a></li><li>Add snapshot backup support for PostgreSQL in wal-g (draft PR by Andrey Borodin) <a href="https://github.com/wal-g/wal-g/pull/2101">https://github.com/wal-g/wal-g/pull/2101</a></li><li>Multi-threaded pg_basebackup discussion 1: <a href="https://www.postgresql.org/message-id/flat/CAEHH7R4%3D_GN%2BLSsj0YZOXZ13yc%3DGk9umJOLNopjS%3DimK0c1mWA%40mail.gmail.com">https://www.postgresql.org/message-id/flat/CAEHH7R4%3D_GN%2BLSsj0YZOXZ13yc%3DGk9umJOLNopjS%3DimK0c1mWA%40mail.gmail.com</a></li><li>Multi-threaded pg_basebackup discussion 2: <a href="https://www.postgresql.org/message-id/flat/">https://www.postgresql.org/message-id/flat/</a></li><li>io_method <a href="https://www.postgresql.org/docs/current/runtime-config-resource.html#GUC-IO-METHOD">https://www.postgresql.org/docs/current/runtime-config-resource.html#GUC-IO-METHOD</a> </li><li>pgBackRest <a href="https://github.com/pgbackrest/pgbackrest">https://github.com/pgbackrest/pgbackrest</a></li><li>Add sequence synchronization for logical replication (commit) <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=5509055d6956745532e65ab218e15b99d87d66ce">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=5509055d6956745532e65ab218e15b99d87d66ce</a> </li><li>Allow process priority to be set (pgBackRest feature added by David Steele) <a href="https://github.com/pgbackrest/pgbackrest/pull/2693">https://github.com/pgbackrest/pgbackrest/pull/2693</a> </li><li>Hard limit on process-max (pgBackRest issue from 2019) <a href="https://github.com/pgbackrest/pgbackrest/issues/696">https://github.com/pgbackrest/pgbackrest/issues/696</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 14 Nov 2025 14:00:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/f5f4f5eb/b19a6704.mp3" length="37260178" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2327</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nik talks Michael through a recent benchmark he worked with Maxim Boguk on, to see how quickly they could provision a replica.<br> <br>Here are some links to things they mentioned:</p><ul><li>Ultra-fast replica creation with pgBackRest (blog post by Maxim Boguk and Nik) <a href="https://postgres.ai/blog/20251105-postgres-marathon-2-012-ultra-fast-replica-creation-pgbackrest">https://postgres.ai/blog/20251105-postgres-marathon-2-012-ultra-fast-replica-creation-pgbackrest</a></li><li>Copying a database episode <a href="https://postgres.fm/episodes/copying-a-database">https://postgres.fm/episodes/copying-a-database</a></li><li>Add snapshot backup support for PostgreSQL in wal-g (draft PR by Andrey Borodin) <a href="https://github.com/wal-g/wal-g/pull/2101">https://github.com/wal-g/wal-g/pull/2101</a></li><li>Multi-threaded pg_basebackup discussion 1: <a href="https://www.postgresql.org/message-id/flat/CAEHH7R4%3D_GN%2BLSsj0YZOXZ13yc%3DGk9umJOLNopjS%3DimK0c1mWA%40mail.gmail.com">https://www.postgresql.org/message-id/flat/CAEHH7R4%3D_GN%2BLSsj0YZOXZ13yc%3DGk9umJOLNopjS%3DimK0c1mWA%40mail.gmail.com</a></li><li>Multi-threaded pg_basebackup discussion 2: <a href="https://www.postgresql.org/message-id/flat/">https://www.postgresql.org/message-id/flat/</a></li><li>io_method <a href="https://www.postgresql.org/docs/current/runtime-config-resource.html#GUC-IO-METHOD">https://www.postgresql.org/docs/current/runtime-config-resource.html#GUC-IO-METHOD</a> </li><li>pgBackRest <a href="https://github.com/pgbackrest/pgbackrest">https://github.com/pgbackrest/pgbackrest</a></li><li>Add sequence synchronization for logical replication (commit) <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=5509055d6956745532e65ab218e15b99d87d66ce">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=5509055d6956745532e65ab218e15b99d87d66ce</a> </li><li>Allow process priority to be set (pgBackRest feature added by David Steele) <a href="https://github.com/pgbackrest/pgbackrest/pull/2693">https://github.com/pgbackrest/pgbackrest/pull/2693</a> </li><li>Hard limit on process-max (pgBackRest issue from 2019) <a href="https://github.com/pgbackrest/pgbackrest/issues/696">https://github.com/pgbackrest/pgbackrest/issues/696</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/f5f4f5eb/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Gapless sequences</title>
      <itunes:episode>163</itunes:episode>
      <podcast:episode>163</podcast:episode>
      <itunes:title>Gapless sequences</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">d86b34a6-0631-4290-bc93-51aee0a1d8a1</guid>
      <link>https://share.transistor.fm/s/51ef75f8</link>
      <description>
        <![CDATA[<p>Nik and Michael discuss the concept of gapless sequences — when you might want one, why sequences in Postgres can have gaps, and an idea or two if you do want them.</p><p>And one quick clarification: changing the CACHE option in CREATE SEQUENCE can lead to even more gaps, the docs mention it explicitly.<br> <br>Here are some links to things they mentioned:</p><ul><li>CREATE SEQUENCE <a href="https://www.postgresql.org/docs/current/sql-createsequence.html">https://www.postgresql.org/docs/current/sql-createsequence.html</a></li><li>Sequence Manipulation Functions <a href="https://www.postgresql.org/docs/current/functions-sequence.html">https://www.postgresql.org/docs/current/functions-sequence.html</a></li><li>One, Two, Skip a Few (post by Pete Hamilton from Incident io) <a href="https://incident.io/blog/one-two-skip-a-few">https://incident.io/blog/one-two-skip-a-few</a></li><li>Postgres sequences can commit out-of-order (blog post by Anthony Accomazzo / Sequin) <a href="https://blog.sequinstream.com/postgres-sequences-can-commit-out-of-order">https://blog.sequinstream.com/postgres-sequences-can-commit-out-of-order</a></li><li>Logical Replication of sequences (hackers thread) <a href="https://www.postgresql.org/message-id/flat/CAA4eK1LC%2BKJiAkSrpE_NwvNdidw9F2os7GERUeSxSKv71gXysQ%40mail.gmail.com">https://www.postgresql.org/message-id/flat/CAA4eK1LC%2BKJiAkSrpE_NwvNdidw9F2os7GERUeSxSKv71gXysQ%40mail.gmail.com</a></li><li>Synchronization of sequences to subscriber (patch entry in commitfest) <a href="https://commitfest.postgresql.org/patch/5111/">https://commitfest.postgresql.org/patch/5111/</a></li><li>Get or Create (episode with Haki Benita) <a href="https://postgres.fm/episodes/get-or-create">https://postgres.fm/episodes/get-or-create</a></li><li>German tank problem <a href="https://en.wikipedia.org/wiki/German_tank_problem">https://en.wikipedia.org/wiki/German_tank_problem</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nik and Michael discuss the concept of gapless sequences — when you might want one, why sequences in Postgres can have gaps, and an idea or two if you do want them.</p><p>And one quick clarification: changing the CACHE option in CREATE SEQUENCE can lead to even more gaps, the docs mention it explicitly.<br> <br>Here are some links to things they mentioned:</p><ul><li>CREATE SEQUENCE <a href="https://www.postgresql.org/docs/current/sql-createsequence.html">https://www.postgresql.org/docs/current/sql-createsequence.html</a></li><li>Sequence Manipulation Functions <a href="https://www.postgresql.org/docs/current/functions-sequence.html">https://www.postgresql.org/docs/current/functions-sequence.html</a></li><li>One, Two, Skip a Few (post by Pete Hamilton from Incident io) <a href="https://incident.io/blog/one-two-skip-a-few">https://incident.io/blog/one-two-skip-a-few</a></li><li>Postgres sequences can commit out-of-order (blog post by Anthony Accomazzo / Sequin) <a href="https://blog.sequinstream.com/postgres-sequences-can-commit-out-of-order">https://blog.sequinstream.com/postgres-sequences-can-commit-out-of-order</a></li><li>Logical Replication of sequences (hackers thread) <a href="https://www.postgresql.org/message-id/flat/CAA4eK1LC%2BKJiAkSrpE_NwvNdidw9F2os7GERUeSxSKv71gXysQ%40mail.gmail.com">https://www.postgresql.org/message-id/flat/CAA4eK1LC%2BKJiAkSrpE_NwvNdidw9F2os7GERUeSxSKv71gXysQ%40mail.gmail.com</a></li><li>Synchronization of sequences to subscriber (patch entry in commitfest) <a href="https://commitfest.postgresql.org/patch/5111/">https://commitfest.postgresql.org/patch/5111/</a></li><li>Get or Create (episode with Haki Benita) <a href="https://postgres.fm/episodes/get-or-create">https://postgres.fm/episodes/get-or-create</a></li><li>German tank problem <a href="https://en.wikipedia.org/wiki/German_tank_problem">https://en.wikipedia.org/wiki/German_tank_problem</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 31 Oct 2025 14:00:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/51ef75f8/d50337bd.mp3" length="38265784" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2389</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nik and Michael discuss the concept of gapless sequences — when you might want one, why sequences in Postgres can have gaps, and an idea or two if you do want them.</p><p>And one quick clarification: changing the CACHE option in CREATE SEQUENCE can lead to even more gaps, the docs mention it explicitly.<br> <br>Here are some links to things they mentioned:</p><ul><li>CREATE SEQUENCE <a href="https://www.postgresql.org/docs/current/sql-createsequence.html">https://www.postgresql.org/docs/current/sql-createsequence.html</a></li><li>Sequence Manipulation Functions <a href="https://www.postgresql.org/docs/current/functions-sequence.html">https://www.postgresql.org/docs/current/functions-sequence.html</a></li><li>One, Two, Skip a Few (post by Pete Hamilton from Incident io) <a href="https://incident.io/blog/one-two-skip-a-few">https://incident.io/blog/one-two-skip-a-few</a></li><li>Postgres sequences can commit out-of-order (blog post by Anthony Accomazzo / Sequin) <a href="https://blog.sequinstream.com/postgres-sequences-can-commit-out-of-order">https://blog.sequinstream.com/postgres-sequences-can-commit-out-of-order</a></li><li>Logical Replication of sequences (hackers thread) <a href="https://www.postgresql.org/message-id/flat/CAA4eK1LC%2BKJiAkSrpE_NwvNdidw9F2os7GERUeSxSKv71gXysQ%40mail.gmail.com">https://www.postgresql.org/message-id/flat/CAA4eK1LC%2BKJiAkSrpE_NwvNdidw9F2os7GERUeSxSKv71gXysQ%40mail.gmail.com</a></li><li>Synchronization of sequences to subscriber (patch entry in commitfest) <a href="https://commitfest.postgresql.org/patch/5111/">https://commitfest.postgresql.org/patch/5111/</a></li><li>Get or Create (episode with Haki Benita) <a href="https://postgres.fm/episodes/get-or-create">https://postgres.fm/episodes/get-or-create</a></li><li>German tank problem <a href="https://en.wikipedia.org/wiki/German_tank_problem">https://en.wikipedia.org/wiki/German_tank_problem</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/51ef75f8/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>LWLocks</title>
      <itunes:episode>162</itunes:episode>
      <podcast:episode>162</podcast:episode>
      <itunes:title>LWLocks</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">6ea69f63-39e0-46bb-b79e-f3580588e0a5</guid>
      <link>https://share.transistor.fm/s/88114b38</link>
      <description>
        <![CDATA[<p>Nik and Michael discuss lightweight locks in Postgres — how they differ to (heavier) locks, some occasions they can be troublesome, and some resources for working out what to do if you hit issues.<br> <br>Here are some links to things they mentioned:</p><ul><li>Wait Events of Type LWLock <a href="https://www.postgresql.org/docs/current/monitoring-stats.html#WAIT-EVENT-LWLOCK-TABLE">https://www.postgresql.org/docs/current/monitoring-stats.html#WAIT-EVENT-LWLOCK-TABLE</a></li><li>Our episode on (heavier) locks <a href="https://postgres.fm/episodes/locks">https://postgres.fm/episodes/locks</a></li><li>Nik’s new marathon posts <a href="https://postgres.ai/blog/tags/postgres-marathon">https://postgres.ai/blog/tags/postgres-marathon</a></li><li>Postgres LISTEN/NOTIFY does not scale (blog post by Recall ai) <a href="https://www.recall.ai/blog/postgres-listen-notify-does-not-scale">https://www.recall.ai/blog/postgres-listen-notify-does-not-scale</a></li><li>Explicit Locking <a href="https://www.postgresql.org/docs/current/explicit-locking.html">https://www.postgresql.org/docs/current/explicit-locking.html</a></li><li>pg_stat_activity <a href="https://www.postgresql.org/docs/current/monitoring-stats.html#MONITORING-PG-STAT-ACTIVITY-VIEW">https://www.postgresql.org/docs/current/monitoring-stats.html#MONITORING-PG-STAT-ACTIVITY-VIEW</a></li><li>Tuning with wait events for RDS for PostgreSQL <a href="https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Tuning.html">https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Tuning.html</a></li><li>MultiXact member exhaustion incidents (blog post by Cosmo Wolfe / Metronome) <a href="https://metronome.com/blog/root-cause-analysis-postgresql-multixact-member-exhaustion-incidents-may-2025">https://metronome.com/blog/root-cause-analysis-postgresql-multixact-member-exhaustion-incidents-may-2025</a></li><li>pg_index_pilot <a href="https://gitlab.com/postgres-ai/pg_index_pilot">https://gitlab.com/postgres-ai/pg_index_pilot</a></li><li>Myths and Truths about Synchronous Replication in PostgreSQL (talk by Alexander Kukushkin) <a href="https://www.youtube.com/watch?v=PFn9qRGzTMc">https://www.youtube.com/watch?v=PFn9qRGzTMc</a></li><li>Postgres Indexes, Partitioning and LWLock:LockManager Scalability (blog post by Jeremy Schneider) <a href="https://ardentperf.com/2024/03/03/postgres-indexes-partitioning-and-lwlocklockmanager-scalability">https://ardentperf.com /2024/03/03/postgres-indexes-partitioning-and-lwlocklockmanager-scalability</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nik and Michael discuss lightweight locks in Postgres — how they differ to (heavier) locks, some occasions they can be troublesome, and some resources for working out what to do if you hit issues.<br> <br>Here are some links to things they mentioned:</p><ul><li>Wait Events of Type LWLock <a href="https://www.postgresql.org/docs/current/monitoring-stats.html#WAIT-EVENT-LWLOCK-TABLE">https://www.postgresql.org/docs/current/monitoring-stats.html#WAIT-EVENT-LWLOCK-TABLE</a></li><li>Our episode on (heavier) locks <a href="https://postgres.fm/episodes/locks">https://postgres.fm/episodes/locks</a></li><li>Nik’s new marathon posts <a href="https://postgres.ai/blog/tags/postgres-marathon">https://postgres.ai/blog/tags/postgres-marathon</a></li><li>Postgres LISTEN/NOTIFY does not scale (blog post by Recall ai) <a href="https://www.recall.ai/blog/postgres-listen-notify-does-not-scale">https://www.recall.ai/blog/postgres-listen-notify-does-not-scale</a></li><li>Explicit Locking <a href="https://www.postgresql.org/docs/current/explicit-locking.html">https://www.postgresql.org/docs/current/explicit-locking.html</a></li><li>pg_stat_activity <a href="https://www.postgresql.org/docs/current/monitoring-stats.html#MONITORING-PG-STAT-ACTIVITY-VIEW">https://www.postgresql.org/docs/current/monitoring-stats.html#MONITORING-PG-STAT-ACTIVITY-VIEW</a></li><li>Tuning with wait events for RDS for PostgreSQL <a href="https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Tuning.html">https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Tuning.html</a></li><li>MultiXact member exhaustion incidents (blog post by Cosmo Wolfe / Metronome) <a href="https://metronome.com/blog/root-cause-analysis-postgresql-multixact-member-exhaustion-incidents-may-2025">https://metronome.com/blog/root-cause-analysis-postgresql-multixact-member-exhaustion-incidents-may-2025</a></li><li>pg_index_pilot <a href="https://gitlab.com/postgres-ai/pg_index_pilot">https://gitlab.com/postgres-ai/pg_index_pilot</a></li><li>Myths and Truths about Synchronous Replication in PostgreSQL (talk by Alexander Kukushkin) <a href="https://www.youtube.com/watch?v=PFn9qRGzTMc">https://www.youtube.com/watch?v=PFn9qRGzTMc</a></li><li>Postgres Indexes, Partitioning and LWLock:LockManager Scalability (blog post by Jeremy Schneider) <a href="https://ardentperf.com/2024/03/03/postgres-indexes-partitioning-and-lwlocklockmanager-scalability">https://ardentperf.com /2024/03/03/postgres-indexes-partitioning-and-lwlocklockmanager-scalability</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 17 Oct 2025 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/88114b38/46fb4893.mp3" length="36870616" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2302</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nik and Michael discuss lightweight locks in Postgres — how they differ to (heavier) locks, some occasions they can be troublesome, and some resources for working out what to do if you hit issues.<br> <br>Here are some links to things they mentioned:</p><ul><li>Wait Events of Type LWLock <a href="https://www.postgresql.org/docs/current/monitoring-stats.html#WAIT-EVENT-LWLOCK-TABLE">https://www.postgresql.org/docs/current/monitoring-stats.html#WAIT-EVENT-LWLOCK-TABLE</a></li><li>Our episode on (heavier) locks <a href="https://postgres.fm/episodes/locks">https://postgres.fm/episodes/locks</a></li><li>Nik’s new marathon posts <a href="https://postgres.ai/blog/tags/postgres-marathon">https://postgres.ai/blog/tags/postgres-marathon</a></li><li>Postgres LISTEN/NOTIFY does not scale (blog post by Recall ai) <a href="https://www.recall.ai/blog/postgres-listen-notify-does-not-scale">https://www.recall.ai/blog/postgres-listen-notify-does-not-scale</a></li><li>Explicit Locking <a href="https://www.postgresql.org/docs/current/explicit-locking.html">https://www.postgresql.org/docs/current/explicit-locking.html</a></li><li>pg_stat_activity <a href="https://www.postgresql.org/docs/current/monitoring-stats.html#MONITORING-PG-STAT-ACTIVITY-VIEW">https://www.postgresql.org/docs/current/monitoring-stats.html#MONITORING-PG-STAT-ACTIVITY-VIEW</a></li><li>Tuning with wait events for RDS for PostgreSQL <a href="https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Tuning.html">https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Tuning.html</a></li><li>MultiXact member exhaustion incidents (blog post by Cosmo Wolfe / Metronome) <a href="https://metronome.com/blog/root-cause-analysis-postgresql-multixact-member-exhaustion-incidents-may-2025">https://metronome.com/blog/root-cause-analysis-postgresql-multixact-member-exhaustion-incidents-may-2025</a></li><li>pg_index_pilot <a href="https://gitlab.com/postgres-ai/pg_index_pilot">https://gitlab.com/postgres-ai/pg_index_pilot</a></li><li>Myths and Truths about Synchronous Replication in PostgreSQL (talk by Alexander Kukushkin) <a href="https://www.youtube.com/watch?v=PFn9qRGzTMc">https://www.youtube.com/watch?v=PFn9qRGzTMc</a></li><li>Postgres Indexes, Partitioning and LWLock:LockManager Scalability (blog post by Jeremy Schneider) <a href="https://ardentperf.com/2024/03/03/postgres-indexes-partitioning-and-lwlocklockmanager-scalability">https://ardentperf.com /2024/03/03/postgres-indexes-partitioning-and-lwlocklockmanager-scalability</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/88114b38/transcript.txt" type="text/plain"/>
    </item>
    <item>
      <title>User management</title>
      <itunes:episode>161</itunes:episode>
      <podcast:episode>161</podcast:episode>
      <itunes:title>User management</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">572ea0ee-d465-43d3-bc6a-32f932c0a402</guid>
      <link>https://share.transistor.fm/s/a6c3ed12</link>
      <description>
        <![CDATA[<p>Nik and Michael discuss user management in Postgres — how roles work, making administration easier, setting passwords, and avoiding them being logged.<br> <br>Here are some links to things they mentioned:</p><ul><li>Roles <a href="https://www.postgresql.org/docs/current/user-manag.html">https://www.postgresql.org/docs/current/user-manag.html</a> </li><li>Privileges <a href="https://www.postgresql.org/docs/current/ddl-priv.html">https://www.postgresql.org/docs/current/ddl-priv.html</a></li><li>ALTER DEFAULT PRIVILEGES <a href="https://www.postgresql.org/docs/current/sql-alterdefaultprivileges.html">https://www.postgresql.org/docs/current/sql-alterdefaultprivileges.html</a></li><li>GRANT <a href="https://www.postgresql.org/docs/current/sql-grant.html">https://www.postgresql.org/docs/current/sql-grant.html</a></li><li>REASSIGN OWNED <a href="https://www.postgresql.org/docs/current/sql-reassign-owned.html">https://www.postgresql.org/docs/current/sql-reassign-owned.html</a></li><li>ALTER ROLE (including SET) <a href="https://www.postgresql.org/docs/current/sql-alterrole.html">https://www.postgresql.org/docs/current/sql-alterrole.html</a> </li><li>CREATE ROLE <a href="https://www.postgresql.org/docs/current/sql-createrole.html">https://www.postgresql.org/docs/current/sql-createrole.html</a></li><li>Have I Been Pwned <a href="https://haveibeenpwned.com">https://haveibeenpwned.com</a></li><li>Pwned Passwords API <a href="https://haveibeenpwned.com/API/v3#PwnedPasswords">https://haveibeenpwned.com/API/v3#PwnedPasswords</a></li><li>Crunchy Data PostgreSQL Security Technical Implementation Guide (STIG) <a href="https://www.crunchydata.com/blog/announcing-the-crunchy-data-postgresql-stig">https://www.crunchydata.com/blog/announcing-the-crunchy-data-postgresql-stig</a></li><li>Our episode on auditing <a href="https://postgres.fm/episodes/auditing">https://postgres.fm/episodes/auditing</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nik and Michael discuss user management in Postgres — how roles work, making administration easier, setting passwords, and avoiding them being logged.<br> <br>Here are some links to things they mentioned:</p><ul><li>Roles <a href="https://www.postgresql.org/docs/current/user-manag.html">https://www.postgresql.org/docs/current/user-manag.html</a> </li><li>Privileges <a href="https://www.postgresql.org/docs/current/ddl-priv.html">https://www.postgresql.org/docs/current/ddl-priv.html</a></li><li>ALTER DEFAULT PRIVILEGES <a href="https://www.postgresql.org/docs/current/sql-alterdefaultprivileges.html">https://www.postgresql.org/docs/current/sql-alterdefaultprivileges.html</a></li><li>GRANT <a href="https://www.postgresql.org/docs/current/sql-grant.html">https://www.postgresql.org/docs/current/sql-grant.html</a></li><li>REASSIGN OWNED <a href="https://www.postgresql.org/docs/current/sql-reassign-owned.html">https://www.postgresql.org/docs/current/sql-reassign-owned.html</a></li><li>ALTER ROLE (including SET) <a href="https://www.postgresql.org/docs/current/sql-alterrole.html">https://www.postgresql.org/docs/current/sql-alterrole.html</a> </li><li>CREATE ROLE <a href="https://www.postgresql.org/docs/current/sql-createrole.html">https://www.postgresql.org/docs/current/sql-createrole.html</a></li><li>Have I Been Pwned <a href="https://haveibeenpwned.com">https://haveibeenpwned.com</a></li><li>Pwned Passwords API <a href="https://haveibeenpwned.com/API/v3#PwnedPasswords">https://haveibeenpwned.com/API/v3#PwnedPasswords</a></li><li>Crunchy Data PostgreSQL Security Technical Implementation Guide (STIG) <a href="https://www.crunchydata.com/blog/announcing-the-crunchy-data-postgresql-stig">https://www.crunchydata.com/blog/announcing-the-crunchy-data-postgresql-stig</a></li><li>Our episode on auditing <a href="https://postgres.fm/episodes/auditing">https://postgres.fm/episodes/auditing</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 03 Oct 2025 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/a6c3ed12/f44394d3.mp3" length="37475419" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2340</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nik and Michael discuss user management in Postgres — how roles work, making administration easier, setting passwords, and avoiding them being logged.<br> <br>Here are some links to things they mentioned:</p><ul><li>Roles <a href="https://www.postgresql.org/docs/current/user-manag.html">https://www.postgresql.org/docs/current/user-manag.html</a> </li><li>Privileges <a href="https://www.postgresql.org/docs/current/ddl-priv.html">https://www.postgresql.org/docs/current/ddl-priv.html</a></li><li>ALTER DEFAULT PRIVILEGES <a href="https://www.postgresql.org/docs/current/sql-alterdefaultprivileges.html">https://www.postgresql.org/docs/current/sql-alterdefaultprivileges.html</a></li><li>GRANT <a href="https://www.postgresql.org/docs/current/sql-grant.html">https://www.postgresql.org/docs/current/sql-grant.html</a></li><li>REASSIGN OWNED <a href="https://www.postgresql.org/docs/current/sql-reassign-owned.html">https://www.postgresql.org/docs/current/sql-reassign-owned.html</a></li><li>ALTER ROLE (including SET) <a href="https://www.postgresql.org/docs/current/sql-alterrole.html">https://www.postgresql.org/docs/current/sql-alterrole.html</a> </li><li>CREATE ROLE <a href="https://www.postgresql.org/docs/current/sql-createrole.html">https://www.postgresql.org/docs/current/sql-createrole.html</a></li><li>Have I Been Pwned <a href="https://haveibeenpwned.com">https://haveibeenpwned.com</a></li><li>Pwned Passwords API <a href="https://haveibeenpwned.com/API/v3#PwnedPasswords">https://haveibeenpwned.com/API/v3#PwnedPasswords</a></li><li>Crunchy Data PostgreSQL Security Technical Implementation Guide (STIG) <a href="https://www.crunchydata.com/blog/announcing-the-crunchy-data-postgresql-stig">https://www.crunchydata.com/blog/announcing-the-crunchy-data-postgresql-stig</a></li><li>Our episode on auditing <a href="https://postgres.fm/episodes/auditing">https://postgres.fm/episodes/auditing</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/a6c3ed12/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Postgres 18</title>
      <itunes:episode>160</itunes:episode>
      <podcast:episode>160</podcast:episode>
      <itunes:title>Postgres 18</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">bb6ce9de-f59a-4985-bf81-39cfc54717a0</guid>
      <link>https://share.transistor.fm/s/affec5aa</link>
      <description>
        <![CDATA[<p>Nik and Michael discuss the newly released Postgres 18 — the bigger things it includes, some of their personal highlights, and some thoughts towards the future.<br> <br>Here are some links to things they mentioned:</p><ul><li>Postgres 18 announcement <a href="https://www.postgresql.org/about/news/postgresql-18-released-3142">https://www.postgresql.org/about/news/postgresql-18-released-3142</a></li><li>Postgres 18 release notes <a href="https://www.postgresql.org/docs/18/release-18.html">https://www.postgresql.org/docs/18/release-18.html</a></li><li>Skip scan episode with Peter Geoghegan <a href="https://postgres.fm/episodes/skip-scan">https://postgres.fm/episodes/skip-scan</a></li><li>Easier Postgres fine-tuning with online_advisor <a href="https://neon.com/blog/easier-postgres-fine-tuning-with-online_advisor">https://neon.com/blog/easier-postgres-fine-tuning-with-online_advisor</a></li><li>pganalyze Index Advisor <a href="https://pganalyze.com/index-advisor">https://pganalyze.com/index-advisor</a></li><li>BUFFERS by default <a href="https://postgres.fm/episodes/buffers-by-default">https://postgres.fm/episodes/buffers-by-default</a></li><li>Buffers II (the sequel) <a href="https://postgres.fm/episodes/buffers-ii-the-sequel">https://postgres.fm/episodes/buffers-ii-the-sequel</a></li><li>Return of the BUFFERS <a href="https://postgres.fm/episodes/return-of-the-buffers">https://postgres.fm/episodes/return-of-the-buffers</a></li><li>UUID <a href="https://postgres.fm/episodes/uuid">https://postgres.fm/episodes/uuid</a></li><li>Partitioning by ULID <a href="https://postgres.fm/episodes/partitioning-by-ulid">https://postgres.fm/episodes/partitioning-by-ulid</a></li><li>uuidv7 and uuid_extract_timestamp functions <a href="https://www.postgresql.org/docs/current/functions-uuid.html">https://www.postgresql.org/docs/current/functions-uuid.html</a></li><li>Add --no-policies option to pg_dump, pg_dumpall, and pg_restore <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=cd3c45125">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=cd3c45125</a></li><li>Add ONLY support for VACUUM and ANALYZE <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=62ddf7ee9">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=62ddf7ee9</a></li><li>Make "vacuumdb --analyze-only" process partitioned tables (committed recently for Postgres 19) <a href="https://commitfest.postgresql.org/patch/5871/">https://commitfest.postgresql.org/patch/5871/</a></li><li>NOT VALID constraints <a href="https://postgres.fm/episodes/not-valid-constraints">https://postgres.fm/episodes/not-valid-constraints</a></li><li>The year of the Lock Manager’s Revenge (post by Jeremy Schneider) <a href="https://ardentperf.com/2024/03/03/postgres-indexes-partitioning-and-lwlocklockmanager-scalability">https://ardentperf.com/2024/03/03/postgres-indexes-partitioning-and-lwlocklockmanager-scalability</a></li><li>Increase the number of fast-path lock slots <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=c4d5cb71d">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=c4d5cb71d</a></li><li>"enable" parameters will work differently in Postgres 18 <a href="https://www.pgmustard.com/blog/enable-parameters-work-differently-in-postgres-18">https://www.pgmustard.com/blog/enable-parameters-work-differently-in-postgres-18</a></li><li>logerrors <a href="https://github.com/munakoiso/logerrors">https://github.com/munakoiso/logerrors</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nik and Michael discuss the newly released Postgres 18 — the bigger things it includes, some of their personal highlights, and some thoughts towards the future.<br> <br>Here are some links to things they mentioned:</p><ul><li>Postgres 18 announcement <a href="https://www.postgresql.org/about/news/postgresql-18-released-3142">https://www.postgresql.org/about/news/postgresql-18-released-3142</a></li><li>Postgres 18 release notes <a href="https://www.postgresql.org/docs/18/release-18.html">https://www.postgresql.org/docs/18/release-18.html</a></li><li>Skip scan episode with Peter Geoghegan <a href="https://postgres.fm/episodes/skip-scan">https://postgres.fm/episodes/skip-scan</a></li><li>Easier Postgres fine-tuning with online_advisor <a href="https://neon.com/blog/easier-postgres-fine-tuning-with-online_advisor">https://neon.com/blog/easier-postgres-fine-tuning-with-online_advisor</a></li><li>pganalyze Index Advisor <a href="https://pganalyze.com/index-advisor">https://pganalyze.com/index-advisor</a></li><li>BUFFERS by default <a href="https://postgres.fm/episodes/buffers-by-default">https://postgres.fm/episodes/buffers-by-default</a></li><li>Buffers II (the sequel) <a href="https://postgres.fm/episodes/buffers-ii-the-sequel">https://postgres.fm/episodes/buffers-ii-the-sequel</a></li><li>Return of the BUFFERS <a href="https://postgres.fm/episodes/return-of-the-buffers">https://postgres.fm/episodes/return-of-the-buffers</a></li><li>UUID <a href="https://postgres.fm/episodes/uuid">https://postgres.fm/episodes/uuid</a></li><li>Partitioning by ULID <a href="https://postgres.fm/episodes/partitioning-by-ulid">https://postgres.fm/episodes/partitioning-by-ulid</a></li><li>uuidv7 and uuid_extract_timestamp functions <a href="https://www.postgresql.org/docs/current/functions-uuid.html">https://www.postgresql.org/docs/current/functions-uuid.html</a></li><li>Add --no-policies option to pg_dump, pg_dumpall, and pg_restore <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=cd3c45125">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=cd3c45125</a></li><li>Add ONLY support for VACUUM and ANALYZE <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=62ddf7ee9">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=62ddf7ee9</a></li><li>Make "vacuumdb --analyze-only" process partitioned tables (committed recently for Postgres 19) <a href="https://commitfest.postgresql.org/patch/5871/">https://commitfest.postgresql.org/patch/5871/</a></li><li>NOT VALID constraints <a href="https://postgres.fm/episodes/not-valid-constraints">https://postgres.fm/episodes/not-valid-constraints</a></li><li>The year of the Lock Manager’s Revenge (post by Jeremy Schneider) <a href="https://ardentperf.com/2024/03/03/postgres-indexes-partitioning-and-lwlocklockmanager-scalability">https://ardentperf.com/2024/03/03/postgres-indexes-partitioning-and-lwlocklockmanager-scalability</a></li><li>Increase the number of fast-path lock slots <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=c4d5cb71d">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=c4d5cb71d</a></li><li>"enable" parameters will work differently in Postgres 18 <a href="https://www.pgmustard.com/blog/enable-parameters-work-differently-in-postgres-18">https://www.pgmustard.com/blog/enable-parameters-work-differently-in-postgres-18</a></li><li>logerrors <a href="https://github.com/munakoiso/logerrors">https://github.com/munakoiso/logerrors</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 26 Sep 2025 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/affec5aa/ef7e0d17.mp3" length="53529641" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>3343</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nik and Michael discuss the newly released Postgres 18 — the bigger things it includes, some of their personal highlights, and some thoughts towards the future.<br> <br>Here are some links to things they mentioned:</p><ul><li>Postgres 18 announcement <a href="https://www.postgresql.org/about/news/postgresql-18-released-3142">https://www.postgresql.org/about/news/postgresql-18-released-3142</a></li><li>Postgres 18 release notes <a href="https://www.postgresql.org/docs/18/release-18.html">https://www.postgresql.org/docs/18/release-18.html</a></li><li>Skip scan episode with Peter Geoghegan <a href="https://postgres.fm/episodes/skip-scan">https://postgres.fm/episodes/skip-scan</a></li><li>Easier Postgres fine-tuning with online_advisor <a href="https://neon.com/blog/easier-postgres-fine-tuning-with-online_advisor">https://neon.com/blog/easier-postgres-fine-tuning-with-online_advisor</a></li><li>pganalyze Index Advisor <a href="https://pganalyze.com/index-advisor">https://pganalyze.com/index-advisor</a></li><li>BUFFERS by default <a href="https://postgres.fm/episodes/buffers-by-default">https://postgres.fm/episodes/buffers-by-default</a></li><li>Buffers II (the sequel) <a href="https://postgres.fm/episodes/buffers-ii-the-sequel">https://postgres.fm/episodes/buffers-ii-the-sequel</a></li><li>Return of the BUFFERS <a href="https://postgres.fm/episodes/return-of-the-buffers">https://postgres.fm/episodes/return-of-the-buffers</a></li><li>UUID <a href="https://postgres.fm/episodes/uuid">https://postgres.fm/episodes/uuid</a></li><li>Partitioning by ULID <a href="https://postgres.fm/episodes/partitioning-by-ulid">https://postgres.fm/episodes/partitioning-by-ulid</a></li><li>uuidv7 and uuid_extract_timestamp functions <a href="https://www.postgresql.org/docs/current/functions-uuid.html">https://www.postgresql.org/docs/current/functions-uuid.html</a></li><li>Add --no-policies option to pg_dump, pg_dumpall, and pg_restore <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=cd3c45125">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=cd3c45125</a></li><li>Add ONLY support for VACUUM and ANALYZE <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=62ddf7ee9">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=62ddf7ee9</a></li><li>Make "vacuumdb --analyze-only" process partitioned tables (committed recently for Postgres 19) <a href="https://commitfest.postgresql.org/patch/5871/">https://commitfest.postgresql.org/patch/5871/</a></li><li>NOT VALID constraints <a href="https://postgres.fm/episodes/not-valid-constraints">https://postgres.fm/episodes/not-valid-constraints</a></li><li>The year of the Lock Manager’s Revenge (post by Jeremy Schneider) <a href="https://ardentperf.com/2024/03/03/postgres-indexes-partitioning-and-lwlocklockmanager-scalability">https://ardentperf.com/2024/03/03/postgres-indexes-partitioning-and-lwlocklockmanager-scalability</a></li><li>Increase the number of fast-path lock slots <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=c4d5cb71d">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=c4d5cb71d</a></li><li>"enable" parameters will work differently in Postgres 18 <a href="https://www.pgmustard.com/blog/enable-parameters-work-differently-in-postgres-18">https://www.pgmustard.com/blog/enable-parameters-work-differently-in-postgres-18</a></li><li>logerrors <a href="https://github.com/munakoiso/logerrors">https://github.com/munakoiso/logerrors</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/affec5aa/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Gadget's use of Postgres</title>
      <itunes:episode>159</itunes:episode>
      <podcast:episode>159</podcast:episode>
      <itunes:title>Gadget's use of Postgres</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">d96370df-2156-4cbf-9091-81e2561de302</guid>
      <link>https://share.transistor.fm/s/da383ff3</link>
      <description>
        <![CDATA[<p>Nik and Michael are joined by Harry Brundage from Gadget to talk about their recent zero-downtime major version upgrade, how they use Postgres more generally, their dream database, and some challenges of providing Postgres as an abstracted service at scale.<br> <br>Here are some links to things they mentioned:</p><ul><li>Harry Brundage <a href="https://postgres.fm/people/harry-brundage">https://postgres.fm/people/harry-brundage</a></li><li>Gadget <a href="https://gadget.dev">https://gadget.dev</a></li><li>Zero downtime Postgres upgrades using logical replication (blog post) <a href="https://gadget.dev/blog/zero-downtime-postgres-upgrades-using-logical-replication">https://gadget.dev/blog/zero-downtime-postgres-upgrades-using-logical-replication</a></li><li>HOT updates <a href="https://www.postgresql.org/docs/current/storage-hot.html">https://www.postgresql.org/docs/current/storage-hot.html</a></li><li>PgDog <a href="https://pgdog.dev">https://pgdog.dev</a></li><li>Multigres <a href="https://multigres.com">https://multigres.com</a></li><li>Neki <a href="https://www.neki.dev">https://www.neki.dev</a></li><li>Running 10 Million PostgreSQL Indexes In Production (Heap blog post) <a href="https://www.heap.io/blog/running-10-million-postgresql-indexes-in-production">https://www.heap.io/blog/running-10-million-postgresql-indexes-in-production</a></li><li>pgwatch2 (Postgres.ai Edition) <a href="https://gitlab.com/postgres-ai/pgwatch2">https://gitlab.com/postgres-ai/pgwatch2</a></li><li>Advanced query insights on AlloyDB <a href="https://cloud.google.com/alloydb/docs/advanced-query-insights-overview">https://cloud.google.com/alloydb/docs/advanced-query-insights-overview</a></li><li>OrioleDB <a href="https://www.orioledb.com">https://www.orioledb.com</a></li><li>Not discussed but relevant: Gadget have also now published a blog post about their sharding! <a href="https://gadget.dev/blog/sharding-our-core-postgres-database-without-any-downtime">https://gadget.dev/blog/sharding-our-core-postgres-database-without-any-downtime</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nik and Michael are joined by Harry Brundage from Gadget to talk about their recent zero-downtime major version upgrade, how they use Postgres more generally, their dream database, and some challenges of providing Postgres as an abstracted service at scale.<br> <br>Here are some links to things they mentioned:</p><ul><li>Harry Brundage <a href="https://postgres.fm/people/harry-brundage">https://postgres.fm/people/harry-brundage</a></li><li>Gadget <a href="https://gadget.dev">https://gadget.dev</a></li><li>Zero downtime Postgres upgrades using logical replication (blog post) <a href="https://gadget.dev/blog/zero-downtime-postgres-upgrades-using-logical-replication">https://gadget.dev/blog/zero-downtime-postgres-upgrades-using-logical-replication</a></li><li>HOT updates <a href="https://www.postgresql.org/docs/current/storage-hot.html">https://www.postgresql.org/docs/current/storage-hot.html</a></li><li>PgDog <a href="https://pgdog.dev">https://pgdog.dev</a></li><li>Multigres <a href="https://multigres.com">https://multigres.com</a></li><li>Neki <a href="https://www.neki.dev">https://www.neki.dev</a></li><li>Running 10 Million PostgreSQL Indexes In Production (Heap blog post) <a href="https://www.heap.io/blog/running-10-million-postgresql-indexes-in-production">https://www.heap.io/blog/running-10-million-postgresql-indexes-in-production</a></li><li>pgwatch2 (Postgres.ai Edition) <a href="https://gitlab.com/postgres-ai/pgwatch2">https://gitlab.com/postgres-ai/pgwatch2</a></li><li>Advanced query insights on AlloyDB <a href="https://cloud.google.com/alloydb/docs/advanced-query-insights-overview">https://cloud.google.com/alloydb/docs/advanced-query-insights-overview</a></li><li>OrioleDB <a href="https://www.orioledb.com">https://www.orioledb.com</a></li><li>Not discussed but relevant: Gadget have also now published a blog post about their sharding! <a href="https://gadget.dev/blog/sharding-our-core-postgres-database-without-any-downtime">https://gadget.dev/blog/sharding-our-core-postgres-database-without-any-downtime</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 19 Sep 2025 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/da383ff3/e36ebdfe.mp3" length="50899032" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>3179</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nik and Michael are joined by Harry Brundage from Gadget to talk about their recent zero-downtime major version upgrade, how they use Postgres more generally, their dream database, and some challenges of providing Postgres as an abstracted service at scale.<br> <br>Here are some links to things they mentioned:</p><ul><li>Harry Brundage <a href="https://postgres.fm/people/harry-brundage">https://postgres.fm/people/harry-brundage</a></li><li>Gadget <a href="https://gadget.dev">https://gadget.dev</a></li><li>Zero downtime Postgres upgrades using logical replication (blog post) <a href="https://gadget.dev/blog/zero-downtime-postgres-upgrades-using-logical-replication">https://gadget.dev/blog/zero-downtime-postgres-upgrades-using-logical-replication</a></li><li>HOT updates <a href="https://www.postgresql.org/docs/current/storage-hot.html">https://www.postgresql.org/docs/current/storage-hot.html</a></li><li>PgDog <a href="https://pgdog.dev">https://pgdog.dev</a></li><li>Multigres <a href="https://multigres.com">https://multigres.com</a></li><li>Neki <a href="https://www.neki.dev">https://www.neki.dev</a></li><li>Running 10 Million PostgreSQL Indexes In Production (Heap blog post) <a href="https://www.heap.io/blog/running-10-million-postgresql-indexes-in-production">https://www.heap.io/blog/running-10-million-postgresql-indexes-in-production</a></li><li>pgwatch2 (Postgres.ai Edition) <a href="https://gitlab.com/postgres-ai/pgwatch2">https://gitlab.com/postgres-ai/pgwatch2</a></li><li>Advanced query insights on AlloyDB <a href="https://cloud.google.com/alloydb/docs/advanced-query-insights-overview">https://cloud.google.com/alloydb/docs/advanced-query-insights-overview</a></li><li>OrioleDB <a href="https://www.orioledb.com">https://www.orioledb.com</a></li><li>Not discussed but relevant: Gadget have also now published a blog post about their sharding! <a href="https://gadget.dev/blog/sharding-our-core-postgres-database-without-any-downtime">https://gadget.dev/blog/sharding-our-core-postgres-database-without-any-downtime</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Guest" href="https://gadget.dev" img="https://img.transistorcdn.com/CpTdg2jOm-s24HOr6x-Irq-CcqBIY2JhrIYmBenpbyU/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9iMGU2/NWY2ZTU3YjRlNjNk/MTUzNGExYjRmZjA5/MGMzNS5qcGVn.jpg">Harry Brundage</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/da383ff3/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>turbopuffer</title>
      <itunes:episode>158</itunes:episode>
      <podcast:episode>158</podcast:episode>
      <itunes:title>turbopuffer</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">9afea88b-f486-4adb-8842-1793d46a16f7</guid>
      <link>https://share.transistor.fm/s/140eaa67</link>
      <description>
        <![CDATA[<p>Nik and Michael are joined by Simon Eskildsen from turbopuffer — among other things, they discuss ANN index types, tradeoffs that can make sense for search workloads, and when it can make sense to move search out of Postgres.<br> <br>Here are some links to things they mentioned:</p><ul><li>Simon Eskildsen <a href="https://postgres.fm/people/simon-eskildsen">https://postgres.fm/people/simon-eskildsen</a></li><li>turbopuffer <a href="https://turbopuffer.com">https://turbopuffer.com</a></li><li>Use ULID Idempotency Keys (tip 6 in this blog post from Shopify) <a href="https://shopify.engineering/building-resilient-payment-systems">https://shopify.engineering/building-resilient-payment-systems</a></li><li>PostgreSQL 18 Release Candidate 1 <a href="https://www.postgresql.org/about/news/postgresql-18-rc-1-released-3130">https://www.postgresql.org/about/news/postgresql-18-rc-1-released-3130</a></li><li>Understanding DiskANN (blog post by Junaid Ahmed) <a href="https://www.tigerdata.com/blog/understanding-diskann">https://www.tigerdata.com/blog/understanding-diskann</a></li><li>SPFresh: Incremental In-Place Update for Billion-Scale Vector Search (paper) <a href="https://arxiv.org/abs/2410.14452">https://arxiv.org/abs/2410.14452</a></li><li>Amazon S3 adds new functionality for conditional writes <a href="https://aws.amazon.com/about-aws/whats-new/2024/11/amazon-s3-functionality-conditional-writes">https://aws.amazon.com/about-aws/whats-new/2024/11/amazon-s3-functionality-conditional-writes</a></li><li>Amazon S3 Vectors <a href="https://aws.amazon.com/s3/features/vectors">https://aws.amazon.com/s3/features/vectors</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nik and Michael are joined by Simon Eskildsen from turbopuffer — among other things, they discuss ANN index types, tradeoffs that can make sense for search workloads, and when it can make sense to move search out of Postgres.<br> <br>Here are some links to things they mentioned:</p><ul><li>Simon Eskildsen <a href="https://postgres.fm/people/simon-eskildsen">https://postgres.fm/people/simon-eskildsen</a></li><li>turbopuffer <a href="https://turbopuffer.com">https://turbopuffer.com</a></li><li>Use ULID Idempotency Keys (tip 6 in this blog post from Shopify) <a href="https://shopify.engineering/building-resilient-payment-systems">https://shopify.engineering/building-resilient-payment-systems</a></li><li>PostgreSQL 18 Release Candidate 1 <a href="https://www.postgresql.org/about/news/postgresql-18-rc-1-released-3130">https://www.postgresql.org/about/news/postgresql-18-rc-1-released-3130</a></li><li>Understanding DiskANN (blog post by Junaid Ahmed) <a href="https://www.tigerdata.com/blog/understanding-diskann">https://www.tigerdata.com/blog/understanding-diskann</a></li><li>SPFresh: Incremental In-Place Update for Billion-Scale Vector Search (paper) <a href="https://arxiv.org/abs/2410.14452">https://arxiv.org/abs/2410.14452</a></li><li>Amazon S3 adds new functionality for conditional writes <a href="https://aws.amazon.com/about-aws/whats-new/2024/11/amazon-s3-functionality-conditional-writes">https://aws.amazon.com/about-aws/whats-new/2024/11/amazon-s3-functionality-conditional-writes</a></li><li>Amazon S3 Vectors <a href="https://aws.amazon.com/s3/features/vectors">https://aws.amazon.com/s3/features/vectors</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 12 Sep 2025 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/140eaa67/f22058c0.mp3" length="47658151" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2976</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nik and Michael are joined by Simon Eskildsen from turbopuffer — among other things, they discuss ANN index types, tradeoffs that can make sense for search workloads, and when it can make sense to move search out of Postgres.<br> <br>Here are some links to things they mentioned:</p><ul><li>Simon Eskildsen <a href="https://postgres.fm/people/simon-eskildsen">https://postgres.fm/people/simon-eskildsen</a></li><li>turbopuffer <a href="https://turbopuffer.com">https://turbopuffer.com</a></li><li>Use ULID Idempotency Keys (tip 6 in this blog post from Shopify) <a href="https://shopify.engineering/building-resilient-payment-systems">https://shopify.engineering/building-resilient-payment-systems</a></li><li>PostgreSQL 18 Release Candidate 1 <a href="https://www.postgresql.org/about/news/postgresql-18-rc-1-released-3130">https://www.postgresql.org/about/news/postgresql-18-rc-1-released-3130</a></li><li>Understanding DiskANN (blog post by Junaid Ahmed) <a href="https://www.tigerdata.com/blog/understanding-diskann">https://www.tigerdata.com/blog/understanding-diskann</a></li><li>SPFresh: Incremental In-Place Update for Billion-Scale Vector Search (paper) <a href="https://arxiv.org/abs/2410.14452">https://arxiv.org/abs/2410.14452</a></li><li>Amazon S3 adds new functionality for conditional writes <a href="https://aws.amazon.com/about-aws/whats-new/2024/11/amazon-s3-functionality-conditional-writes">https://aws.amazon.com/about-aws/whats-new/2024/11/amazon-s3-functionality-conditional-writes</a></li><li>Amazon S3 Vectors <a href="https://aws.amazon.com/s3/features/vectors">https://aws.amazon.com/s3/features/vectors</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Guest" href="https://turbopuffer.com" img="https://img.transistorcdn.com/dCVSN1VuogZrgXsmYSRRckoWoc1n86vfqs1YHjQH7TE/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS81ZTYx/ZmMxNmIzZWIxNDQ5/ZTM1ZDE4ZGNlNTMy/ZTc1Mi5qcGVn.jpg">Simon Eskildsen</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/140eaa67/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>When not to use Postgres</title>
      <itunes:episode>157</itunes:episode>
      <podcast:episode>157</podcast:episode>
      <itunes:title>When not to use Postgres</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">9072e5aa-c75a-4d98-a461-4911c7418aad</guid>
      <link>https://share.transistor.fm/s/f36947be</link>
      <description>
        <![CDATA[<p>Nik and Michael discuss when not to use Postgres — specifically use cases where it still makes sense to store data in another system.<br> <br>Here are some links to things they mentioned:</p><ul><li>Just use Postgres (blog post by Ethan McCue) <a href="https://mccue.dev/pages/8-16-24-just-use-postgres">https://mccue.dev/pages/8-16-24-just-use-postgres</a></li><li>Just Use Postgres for Everything (blog post by Stephan Schmidt) <a href="https://www.amazingcto.com/postgres-for-everything">https://www.amazingcto.com/postgres-for-everything</a></li><li>Real-time analytics episode <a href="https://postgres.fm/episodes/real-time-analytics">https://postgres.fm/episodes/real-time-analytics</a></li><li>Crunchy Data Joins Snowflake <a href="https://www.crunchydata.com/blog/crunchy-data-joins-snowflake">https://www.crunchydata.com/blog/crunchy-data-joins-snowflake</a></li><li>Two sizes fit most: PostgreSQL and Clickhouse (blog post by Sid Sijbrandij) <a href="https://about.gitlab.com/blog/two-sizes-fit-most-postgresql-and-clickhouse">https://about.gitlab.com/blog/two-sizes-fit-most-postgresql-and-clickhouse</a></li><li>pg_duckdb episode <a href="https://postgres.fm/episodes/pg_duckdb">https://postgres.fm/episodes/pg_duckdb</a></li><li>Cloudberry <a href="https://github.com/apache/cloudberry">https://github.com/apache/cloudberry</a></li><li>Time-series considerations episode <a href="https://postgres.fm/episodes/time-series-considerations">https://postgres.fm/episodes/time-series-considerations</a></li><li>Queues in Postgres episode <a href="https://postgres.fm/episodes/queues-in-postgres">https://postgres.fm/episodes/queues-in-postgres</a></li><li>Large Objects <a href="https://www.postgresql.org/docs/current/largeobjects.html">https://www.postgresql.org/docs/current/largeobjects.html</a> </li><li>PGlite <a href="https://pglite.dev">https://pglite.dev</a></li><li>ParadeDB <a href="https://www.paradedb.com">https://www.paradedb.com</a></li><li>ZomboDB <a href="https://github.com/zombodb/zombodb">https://github.com/zombodb/zombodb</a></li><li>turbopuffer <a href="https://turbopuffer.com">https://turbopuffer.com</a></li><li>HNSW vs. DiskANN (blog post by Haziqa Sajid) <a href="https://www.tigerdata.com/learn/hnsw-vs-diskann">https://www.tigerdata.com/learn/hnsw-vs-diskann</a></li><li>SPANN: Highly-efficient Billion-scale Approximate Nearest Neighbor Search (paper) <a href="https://www.microsoft.com/en-us/research/wp-content/uploads/2021/11/SPANN_finalversion1.pdf">https://www.microsoft.com/en-us/research/wp-content/uploads/2021/11/SPANN_finalversion1.pdf</a></li><li>Amazon S3 Vectors <a href="https://aws.amazon.com/s3/features/vectors">https://aws.amazon.com/s3/features/vectors</a></li><li>Iterative Index Scans added to pgvector in 0.8.0 <a href="https://github.com/pgvector/pgvector/issues/678">https://github.com/pgvector/pgvector/issues/678</a></li><li>S3 FDW from Supabase <a href="https://github.com/supabase/wrappers/tree/main/wrappers/src/fdw/s3_fdw">https://github.com/supabase/wrappers/tree/main/wrappers/src/fdw/s3_fdw</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nik and Michael discuss when not to use Postgres — specifically use cases where it still makes sense to store data in another system.<br> <br>Here are some links to things they mentioned:</p><ul><li>Just use Postgres (blog post by Ethan McCue) <a href="https://mccue.dev/pages/8-16-24-just-use-postgres">https://mccue.dev/pages/8-16-24-just-use-postgres</a></li><li>Just Use Postgres for Everything (blog post by Stephan Schmidt) <a href="https://www.amazingcto.com/postgres-for-everything">https://www.amazingcto.com/postgres-for-everything</a></li><li>Real-time analytics episode <a href="https://postgres.fm/episodes/real-time-analytics">https://postgres.fm/episodes/real-time-analytics</a></li><li>Crunchy Data Joins Snowflake <a href="https://www.crunchydata.com/blog/crunchy-data-joins-snowflake">https://www.crunchydata.com/blog/crunchy-data-joins-snowflake</a></li><li>Two sizes fit most: PostgreSQL and Clickhouse (blog post by Sid Sijbrandij) <a href="https://about.gitlab.com/blog/two-sizes-fit-most-postgresql-and-clickhouse">https://about.gitlab.com/blog/two-sizes-fit-most-postgresql-and-clickhouse</a></li><li>pg_duckdb episode <a href="https://postgres.fm/episodes/pg_duckdb">https://postgres.fm/episodes/pg_duckdb</a></li><li>Cloudberry <a href="https://github.com/apache/cloudberry">https://github.com/apache/cloudberry</a></li><li>Time-series considerations episode <a href="https://postgres.fm/episodes/time-series-considerations">https://postgres.fm/episodes/time-series-considerations</a></li><li>Queues in Postgres episode <a href="https://postgres.fm/episodes/queues-in-postgres">https://postgres.fm/episodes/queues-in-postgres</a></li><li>Large Objects <a href="https://www.postgresql.org/docs/current/largeobjects.html">https://www.postgresql.org/docs/current/largeobjects.html</a> </li><li>PGlite <a href="https://pglite.dev">https://pglite.dev</a></li><li>ParadeDB <a href="https://www.paradedb.com">https://www.paradedb.com</a></li><li>ZomboDB <a href="https://github.com/zombodb/zombodb">https://github.com/zombodb/zombodb</a></li><li>turbopuffer <a href="https://turbopuffer.com">https://turbopuffer.com</a></li><li>HNSW vs. DiskANN (blog post by Haziqa Sajid) <a href="https://www.tigerdata.com/learn/hnsw-vs-diskann">https://www.tigerdata.com/learn/hnsw-vs-diskann</a></li><li>SPANN: Highly-efficient Billion-scale Approximate Nearest Neighbor Search (paper) <a href="https://www.microsoft.com/en-us/research/wp-content/uploads/2021/11/SPANN_finalversion1.pdf">https://www.microsoft.com/en-us/research/wp-content/uploads/2021/11/SPANN_finalversion1.pdf</a></li><li>Amazon S3 Vectors <a href="https://aws.amazon.com/s3/features/vectors">https://aws.amazon.com/s3/features/vectors</a></li><li>Iterative Index Scans added to pgvector in 0.8.0 <a href="https://github.com/pgvector/pgvector/issues/678">https://github.com/pgvector/pgvector/issues/678</a></li><li>S3 FDW from Supabase <a href="https://github.com/supabase/wrappers/tree/main/wrappers/src/fdw/s3_fdw">https://github.com/supabase/wrappers/tree/main/wrappers/src/fdw/s3_fdw</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 05 Sep 2025 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/f36947be/24445e34.mp3" length="44472910" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2777</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nik and Michael discuss when not to use Postgres — specifically use cases where it still makes sense to store data in another system.<br> <br>Here are some links to things they mentioned:</p><ul><li>Just use Postgres (blog post by Ethan McCue) <a href="https://mccue.dev/pages/8-16-24-just-use-postgres">https://mccue.dev/pages/8-16-24-just-use-postgres</a></li><li>Just Use Postgres for Everything (blog post by Stephan Schmidt) <a href="https://www.amazingcto.com/postgres-for-everything">https://www.amazingcto.com/postgres-for-everything</a></li><li>Real-time analytics episode <a href="https://postgres.fm/episodes/real-time-analytics">https://postgres.fm/episodes/real-time-analytics</a></li><li>Crunchy Data Joins Snowflake <a href="https://www.crunchydata.com/blog/crunchy-data-joins-snowflake">https://www.crunchydata.com/blog/crunchy-data-joins-snowflake</a></li><li>Two sizes fit most: PostgreSQL and Clickhouse (blog post by Sid Sijbrandij) <a href="https://about.gitlab.com/blog/two-sizes-fit-most-postgresql-and-clickhouse">https://about.gitlab.com/blog/two-sizes-fit-most-postgresql-and-clickhouse</a></li><li>pg_duckdb episode <a href="https://postgres.fm/episodes/pg_duckdb">https://postgres.fm/episodes/pg_duckdb</a></li><li>Cloudberry <a href="https://github.com/apache/cloudberry">https://github.com/apache/cloudberry</a></li><li>Time-series considerations episode <a href="https://postgres.fm/episodes/time-series-considerations">https://postgres.fm/episodes/time-series-considerations</a></li><li>Queues in Postgres episode <a href="https://postgres.fm/episodes/queues-in-postgres">https://postgres.fm/episodes/queues-in-postgres</a></li><li>Large Objects <a href="https://www.postgresql.org/docs/current/largeobjects.html">https://www.postgresql.org/docs/current/largeobjects.html</a> </li><li>PGlite <a href="https://pglite.dev">https://pglite.dev</a></li><li>ParadeDB <a href="https://www.paradedb.com">https://www.paradedb.com</a></li><li>ZomboDB <a href="https://github.com/zombodb/zombodb">https://github.com/zombodb/zombodb</a></li><li>turbopuffer <a href="https://turbopuffer.com">https://turbopuffer.com</a></li><li>HNSW vs. DiskANN (blog post by Haziqa Sajid) <a href="https://www.tigerdata.com/learn/hnsw-vs-diskann">https://www.tigerdata.com/learn/hnsw-vs-diskann</a></li><li>SPANN: Highly-efficient Billion-scale Approximate Nearest Neighbor Search (paper) <a href="https://www.microsoft.com/en-us/research/wp-content/uploads/2021/11/SPANN_finalversion1.pdf">https://www.microsoft.com/en-us/research/wp-content/uploads/2021/11/SPANN_finalversion1.pdf</a></li><li>Amazon S3 Vectors <a href="https://aws.amazon.com/s3/features/vectors">https://aws.amazon.com/s3/features/vectors</a></li><li>Iterative Index Scans added to pgvector in 0.8.0 <a href="https://github.com/pgvector/pgvector/issues/678">https://github.com/pgvector/pgvector/issues/678</a></li><li>S3 FDW from Supabase <a href="https://github.com/supabase/wrappers/tree/main/wrappers/src/fdw/s3_fdw">https://github.com/supabase/wrappers/tree/main/wrappers/src/fdw/s3_fdw</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/f36947be/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Disks</title>
      <itunes:episode>156</itunes:episode>
      <podcast:episode>156</podcast:episode>
      <itunes:title>Disks</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">771bf0ea-f3d6-4b3e-a2be-8320994b43fe</guid>
      <link>https://share.transistor.fm/s/dabdc7fa</link>
      <description>
        <![CDATA[<p>Nik and Michael discuss disks in relation to Postgres — why they matter, how saturation can happen, some modern nuances, and how to prepare to avoid issues.<br> <br>Here are some links to things they mentioned:</p><ul><li>Nik’s tweet demonstrating a NOTIFY hot spot <a href="https://x.com/samokhvalov/status/1959468091035009245">https://x.com/samokhvalov/status/1959468091035009245</a></li><li>Postgres LISTEN/NOTIFY does not scale (blog post by Recall ai) <a href="https://www.recall.ai/blog/postgres-listen-notify-does-not-scale">https://www.recall.ai/blog/postgres-listen-notify-does-not-scale</a></li><li>track_io_timing <a href="https://www.postgresql.org/docs/current/runtime-config-statistics.html#GUC-TRACK-IO-TIMING">https://www.postgresql.org/docs/current/runtime-config-statistics.html#GUC-TRACK-IO-TIMING</a></li><li>pg_test_timing <a href="https://www.postgresql.org/docs/current/pgtesttiming.html">https://www.postgresql.org/docs/current/pgtesttiming.html</a> </li><li>PlanetScale for Postgres <a href="https://planetscale.com/blog/planetscale-for-postgres">https://planetscale.com/blog/planetscale-for-postgres</a></li><li>Out of disk episode <a href="https://postgres.fm/episodes/out-of-disk">https://postgres.fm/episodes/out-of-disk</a></li><li>100TB episode <a href="https://postgres.fm/episodes/to-100tb-and-beyond">https://postgres.fm/episodes/to-100tb-and-beyond</a> </li><li>Latency Numbers Every Programmer Should Know <a href="https://gist.github.com/jboner/2841832">https://gist.github.com/jboner/2841832</a></li><li>Fio <a href="https://github.com/axboe/fio">https://github.com/axboe/fio</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nik and Michael discuss disks in relation to Postgres — why they matter, how saturation can happen, some modern nuances, and how to prepare to avoid issues.<br> <br>Here are some links to things they mentioned:</p><ul><li>Nik’s tweet demonstrating a NOTIFY hot spot <a href="https://x.com/samokhvalov/status/1959468091035009245">https://x.com/samokhvalov/status/1959468091035009245</a></li><li>Postgres LISTEN/NOTIFY does not scale (blog post by Recall ai) <a href="https://www.recall.ai/blog/postgres-listen-notify-does-not-scale">https://www.recall.ai/blog/postgres-listen-notify-does-not-scale</a></li><li>track_io_timing <a href="https://www.postgresql.org/docs/current/runtime-config-statistics.html#GUC-TRACK-IO-TIMING">https://www.postgresql.org/docs/current/runtime-config-statistics.html#GUC-TRACK-IO-TIMING</a></li><li>pg_test_timing <a href="https://www.postgresql.org/docs/current/pgtesttiming.html">https://www.postgresql.org/docs/current/pgtesttiming.html</a> </li><li>PlanetScale for Postgres <a href="https://planetscale.com/blog/planetscale-for-postgres">https://planetscale.com/blog/planetscale-for-postgres</a></li><li>Out of disk episode <a href="https://postgres.fm/episodes/out-of-disk">https://postgres.fm/episodes/out-of-disk</a></li><li>100TB episode <a href="https://postgres.fm/episodes/to-100tb-and-beyond">https://postgres.fm/episodes/to-100tb-and-beyond</a> </li><li>Latency Numbers Every Programmer Should Know <a href="https://gist.github.com/jboner/2841832">https://gist.github.com/jboner/2841832</a></li><li>Fio <a href="https://github.com/axboe/fio">https://github.com/axboe/fio</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 29 Aug 2025 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/dabdc7fa/44bee692.mp3" length="44396385" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2773</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nik and Michael discuss disks in relation to Postgres — why they matter, how saturation can happen, some modern nuances, and how to prepare to avoid issues.<br> <br>Here are some links to things they mentioned:</p><ul><li>Nik’s tweet demonstrating a NOTIFY hot spot <a href="https://x.com/samokhvalov/status/1959468091035009245">https://x.com/samokhvalov/status/1959468091035009245</a></li><li>Postgres LISTEN/NOTIFY does not scale (blog post by Recall ai) <a href="https://www.recall.ai/blog/postgres-listen-notify-does-not-scale">https://www.recall.ai/blog/postgres-listen-notify-does-not-scale</a></li><li>track_io_timing <a href="https://www.postgresql.org/docs/current/runtime-config-statistics.html#GUC-TRACK-IO-TIMING">https://www.postgresql.org/docs/current/runtime-config-statistics.html#GUC-TRACK-IO-TIMING</a></li><li>pg_test_timing <a href="https://www.postgresql.org/docs/current/pgtesttiming.html">https://www.postgresql.org/docs/current/pgtesttiming.html</a> </li><li>PlanetScale for Postgres <a href="https://planetscale.com/blog/planetscale-for-postgres">https://planetscale.com/blog/planetscale-for-postgres</a></li><li>Out of disk episode <a href="https://postgres.fm/episodes/out-of-disk">https://postgres.fm/episodes/out-of-disk</a></li><li>100TB episode <a href="https://postgres.fm/episodes/to-100tb-and-beyond">https://postgres.fm/episodes/to-100tb-and-beyond</a> </li><li>Latency Numbers Every Programmer Should Know <a href="https://gist.github.com/jboner/2841832">https://gist.github.com/jboner/2841832</a></li><li>Fio <a href="https://github.com/axboe/fio">https://github.com/axboe/fio</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/dabdc7fa/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Multi-column indexes</title>
      <itunes:episode>155</itunes:episode>
      <podcast:episode>155</podcast:episode>
      <itunes:title>Multi-column indexes</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">7e775caf-46a3-471c-9194-b07c33d31f67</guid>
      <link>https://share.transistor.fm/s/3622b068</link>
      <description>
        <![CDATA[<p>Nik and Michael discuss multi-column indexes in Postgres — what they are, how to think about them, and some guidance around using them effectively.<br> <br>Here are some links to things they mentioned:</p><ul><li>Multicolumn Indexes (docs) <a href="https://www.postgresql.org/docs/current/indexes-multicolumn.html">https://www.postgresql.org/docs/current/indexes-multicolumn.html</a></li><li>Our episode on Index-only scans <a href="https://postgres.fm/episodes/index-only-scans">https://postgres.fm/episodes/index-only-scans</a></li><li>Combining Multiple Indexes (docs) <a href="https://www.postgresql.org/docs/current/indexes-bitmap-scans.html">https://www.postgresql.org/docs/current/indexes-bitmap-scans.html</a></li><li>Enable BUFFERS with EXPLAIN ANALYZE by default <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=c2a4078ebad71999dd451ae7d4358be3c9290b07">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=c2a4078ebad71999dd451ae7d4358be3c9290b07</a></li><li>“PostgreSQL includes an implementation of the standard btree […] The only limitation is that an index entry cannot exceed approximately one-third of a page” <a href="https://www.postgresql.org/docs/current/btree.html">https://www.postgresql.org/docs/current/btree.html</a></li><li>Our episode on HOT updates <a href="https://postgres.fm/episodes/hot-updates">https://postgres.fm/episodes/hot-updates</a></li><li>Our episode on LIMIT vs Performance <a href="https://postgres.fm/episodes/limit-vs-performance">https://postgres.fm/episodes/limit-vs-performance</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nik and Michael discuss multi-column indexes in Postgres — what they are, how to think about them, and some guidance around using them effectively.<br> <br>Here are some links to things they mentioned:</p><ul><li>Multicolumn Indexes (docs) <a href="https://www.postgresql.org/docs/current/indexes-multicolumn.html">https://www.postgresql.org/docs/current/indexes-multicolumn.html</a></li><li>Our episode on Index-only scans <a href="https://postgres.fm/episodes/index-only-scans">https://postgres.fm/episodes/index-only-scans</a></li><li>Combining Multiple Indexes (docs) <a href="https://www.postgresql.org/docs/current/indexes-bitmap-scans.html">https://www.postgresql.org/docs/current/indexes-bitmap-scans.html</a></li><li>Enable BUFFERS with EXPLAIN ANALYZE by default <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=c2a4078ebad71999dd451ae7d4358be3c9290b07">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=c2a4078ebad71999dd451ae7d4358be3c9290b07</a></li><li>“PostgreSQL includes an implementation of the standard btree […] The only limitation is that an index entry cannot exceed approximately one-third of a page” <a href="https://www.postgresql.org/docs/current/btree.html">https://www.postgresql.org/docs/current/btree.html</a></li><li>Our episode on HOT updates <a href="https://postgres.fm/episodes/hot-updates">https://postgres.fm/episodes/hot-updates</a></li><li>Our episode on LIMIT vs Performance <a href="https://postgres.fm/episodes/limit-vs-performance">https://postgres.fm/episodes/limit-vs-performance</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 22 Aug 2025 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/3622b068/bccd5c78.mp3" length="39737424" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2481</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nik and Michael discuss multi-column indexes in Postgres — what they are, how to think about them, and some guidance around using them effectively.<br> <br>Here are some links to things they mentioned:</p><ul><li>Multicolumn Indexes (docs) <a href="https://www.postgresql.org/docs/current/indexes-multicolumn.html">https://www.postgresql.org/docs/current/indexes-multicolumn.html</a></li><li>Our episode on Index-only scans <a href="https://postgres.fm/episodes/index-only-scans">https://postgres.fm/episodes/index-only-scans</a></li><li>Combining Multiple Indexes (docs) <a href="https://www.postgresql.org/docs/current/indexes-bitmap-scans.html">https://www.postgresql.org/docs/current/indexes-bitmap-scans.html</a></li><li>Enable BUFFERS with EXPLAIN ANALYZE by default <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=c2a4078ebad71999dd451ae7d4358be3c9290b07">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=c2a4078ebad71999dd451ae7d4358be3c9290b07</a></li><li>“PostgreSQL includes an implementation of the standard btree […] The only limitation is that an index entry cannot exceed approximately one-third of a page” <a href="https://www.postgresql.org/docs/current/btree.html">https://www.postgresql.org/docs/current/btree.html</a></li><li>Our episode on HOT updates <a href="https://postgres.fm/episodes/hot-updates">https://postgres.fm/episodes/hot-updates</a></li><li>Our episode on LIMIT vs Performance <a href="https://postgres.fm/episodes/limit-vs-performance">https://postgres.fm/episodes/limit-vs-performance</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/3622b068/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Self-driving Postgres</title>
      <itunes:episode>154</itunes:episode>
      <podcast:episode>154</podcast:episode>
      <itunes:title>Self-driving Postgres</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">e9c56b1b-9e46-486f-8b97-8e3a58801998</guid>
      <link>https://share.transistor.fm/s/01254a41</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss self-driving Postgres — what it could mean, using self-driving cars as a reference, and ideas for things to build and optimize for in this area.<br> <br>Here are some links to things they mentioned:</p><ul><li>Nikolay’s blog post on Self-driving Postgres <a href="https://postgres.ai/blog/20250725-self-driving-postgres">https://postgres.ai/blog/20250725-self-driving-postgres</a></li><li>SAE J3016 levels of driving automation <a href="https://www.sae.org/news/2019/01/sae-updates-j3016-automated-driving-graphic">https://www.sae.org/news/2019/01/sae-updates-j3016-automated-driving-graphic</a></li><li>Oracle Autonomous Database <a href="https://www.oracle.com/uk/autonomous-database/">https://www.oracle.com/uk/autonomous-database/</a></li><li>Self-Driving Database Management Systems (2017 paper) <a href="https://db.cs.cmu.edu/papers/2017/p42-pavlo-cidr17.pdf">https://db.cs.cmu.edu/papers/2017/p42-pavlo-cidr17.pdf</a></li><li>PGTune <a href="https://pgtune.leopard.in.ua/">https://pgtune.leopard.in.ua/</a></li><li>pg_index_pilot <a href="https://gitlab.com/postgres-ai/pg_index_pilot/">https://gitlab.com/postgres-ai/pg_index_pilot/</a></li><li>[Vibe] Hacking Postgres with Andrey, Kirk, Nik – index bloat, btree page merge <a href="https://www.youtube.com/watch?v=D1PEdDcvZTw">https://www.youtube.com/watch?v=D1PEdDcvZTw</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss self-driving Postgres — what it could mean, using self-driving cars as a reference, and ideas for things to build and optimize for in this area.<br> <br>Here are some links to things they mentioned:</p><ul><li>Nikolay’s blog post on Self-driving Postgres <a href="https://postgres.ai/blog/20250725-self-driving-postgres">https://postgres.ai/blog/20250725-self-driving-postgres</a></li><li>SAE J3016 levels of driving automation <a href="https://www.sae.org/news/2019/01/sae-updates-j3016-automated-driving-graphic">https://www.sae.org/news/2019/01/sae-updates-j3016-automated-driving-graphic</a></li><li>Oracle Autonomous Database <a href="https://www.oracle.com/uk/autonomous-database/">https://www.oracle.com/uk/autonomous-database/</a></li><li>Self-Driving Database Management Systems (2017 paper) <a href="https://db.cs.cmu.edu/papers/2017/p42-pavlo-cidr17.pdf">https://db.cs.cmu.edu/papers/2017/p42-pavlo-cidr17.pdf</a></li><li>PGTune <a href="https://pgtune.leopard.in.ua/">https://pgtune.leopard.in.ua/</a></li><li>pg_index_pilot <a href="https://gitlab.com/postgres-ai/pg_index_pilot/">https://gitlab.com/postgres-ai/pg_index_pilot/</a></li><li>[Vibe] Hacking Postgres with Andrey, Kirk, Nik – index bloat, btree page merge <a href="https://www.youtube.com/watch?v=D1PEdDcvZTw">https://www.youtube.com/watch?v=D1PEdDcvZTw</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 15 Aug 2025 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/01254a41/87b5cb54.mp3" length="56878768" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>3553</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss self-driving Postgres — what it could mean, using self-driving cars as a reference, and ideas for things to build and optimize for in this area.<br> <br>Here are some links to things they mentioned:</p><ul><li>Nikolay’s blog post on Self-driving Postgres <a href="https://postgres.ai/blog/20250725-self-driving-postgres">https://postgres.ai/blog/20250725-self-driving-postgres</a></li><li>SAE J3016 levels of driving automation <a href="https://www.sae.org/news/2019/01/sae-updates-j3016-automated-driving-graphic">https://www.sae.org/news/2019/01/sae-updates-j3016-automated-driving-graphic</a></li><li>Oracle Autonomous Database <a href="https://www.oracle.com/uk/autonomous-database/">https://www.oracle.com/uk/autonomous-database/</a></li><li>Self-Driving Database Management Systems (2017 paper) <a href="https://db.cs.cmu.edu/papers/2017/p42-pavlo-cidr17.pdf">https://db.cs.cmu.edu/papers/2017/p42-pavlo-cidr17.pdf</a></li><li>PGTune <a href="https://pgtune.leopard.in.ua/">https://pgtune.leopard.in.ua/</a></li><li>pg_index_pilot <a href="https://gitlab.com/postgres-ai/pg_index_pilot/">https://gitlab.com/postgres-ai/pg_index_pilot/</a></li><li>[Vibe] Hacking Postgres with Andrey, Kirk, Nik – index bloat, btree page merge <a href="https://www.youtube.com/watch?v=D1PEdDcvZTw">https://www.youtube.com/watch?v=D1PEdDcvZTw</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/01254a41/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>caSe-inSENsiTive</title>
      <itunes:episode>153</itunes:episode>
      <podcast:episode>153</podcast:episode>
      <itunes:title>caSe-inSENsiTive</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">af6e0ece-fc49-4abb-9256-a70d16bd549f</guid>
      <link>https://share.transistor.fm/s/98d031a2</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss case-insensitive data — when we want to treat columns as case-insensitive, and the pros and cons of using citext, functions like lower(), or a custom collation.<br> <br>Here are some links to things they mentioned:</p><ul><li>citext <a href="https://www.postgresql.org/docs/current/citext.html">https://www.postgresql.org/docs/current/citext.html</a></li><li>Our episode on over-indexing <a href="https://postgres.fm/episodes/over-indexing">https://postgres.fm/episodes/over-indexing</a></li><li>Nondeterministic collations <a href="https://www.postgresql.org/docs/current/collation.html#COLLATION-NONDETERMINISTIC">https://www.postgresql.org/docs/current/collation.html#COLLATION-NONDETERMINISTIC</a></li><li>How to migrate from Django’s PostgreSQL CI Fields to use a case-insensitive collation (blog post by Adam Johnson) <a href="https://adamj.eu/tech/2023/02/23/migrate-django-postgresql-ci-fields-case-insensitive-collation">https://adamj.eu/tech/2023/02/23/migrate-django-postgresql-ci-fields-case-insensitive-collation</a></li><li>The collation versioning problem with ICU 73 (blog post by Daniel Vérité) <a href="https://postgresql.verite.pro/blog/2023/10/20/icu-73-versioning.html">https://postgresql.verite.pro/blog/2023/10/20/icu-73-versioning.html</a></li><li>amcheck <a href="https://www.postgresql.org/docs/current/amcheck.html">https://www.postgresql.org/docs/current/amcheck.html</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss case-insensitive data — when we want to treat columns as case-insensitive, and the pros and cons of using citext, functions like lower(), or a custom collation.<br> <br>Here are some links to things they mentioned:</p><ul><li>citext <a href="https://www.postgresql.org/docs/current/citext.html">https://www.postgresql.org/docs/current/citext.html</a></li><li>Our episode on over-indexing <a href="https://postgres.fm/episodes/over-indexing">https://postgres.fm/episodes/over-indexing</a></li><li>Nondeterministic collations <a href="https://www.postgresql.org/docs/current/collation.html#COLLATION-NONDETERMINISTIC">https://www.postgresql.org/docs/current/collation.html#COLLATION-NONDETERMINISTIC</a></li><li>How to migrate from Django’s PostgreSQL CI Fields to use a case-insensitive collation (blog post by Adam Johnson) <a href="https://adamj.eu/tech/2023/02/23/migrate-django-postgresql-ci-fields-case-insensitive-collation">https://adamj.eu/tech/2023/02/23/migrate-django-postgresql-ci-fields-case-insensitive-collation</a></li><li>The collation versioning problem with ICU 73 (blog post by Daniel Vérité) <a href="https://postgresql.verite.pro/blog/2023/10/20/icu-73-versioning.html">https://postgresql.verite.pro/blog/2023/10/20/icu-73-versioning.html</a></li><li>amcheck <a href="https://www.postgresql.org/docs/current/amcheck.html">https://www.postgresql.org/docs/current/amcheck.html</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 08 Aug 2025 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/98d031a2/d5ce242a.mp3" length="25355023" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>1582</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss case-insensitive data — when we want to treat columns as case-insensitive, and the pros and cons of using citext, functions like lower(), or a custom collation.<br> <br>Here are some links to things they mentioned:</p><ul><li>citext <a href="https://www.postgresql.org/docs/current/citext.html">https://www.postgresql.org/docs/current/citext.html</a></li><li>Our episode on over-indexing <a href="https://postgres.fm/episodes/over-indexing">https://postgres.fm/episodes/over-indexing</a></li><li>Nondeterministic collations <a href="https://www.postgresql.org/docs/current/collation.html#COLLATION-NONDETERMINISTIC">https://www.postgresql.org/docs/current/collation.html#COLLATION-NONDETERMINISTIC</a></li><li>How to migrate from Django’s PostgreSQL CI Fields to use a case-insensitive collation (blog post by Adam Johnson) <a href="https://adamj.eu/tech/2023/02/23/migrate-django-postgresql-ci-fields-case-insensitive-collation">https://adamj.eu/tech/2023/02/23/migrate-django-postgresql-ci-fields-case-insensitive-collation</a></li><li>The collation versioning problem with ICU 73 (blog post by Daniel Vérité) <a href="https://postgresql.verite.pro/blog/2023/10/20/icu-73-versioning.html">https://postgresql.verite.pro/blog/2023/10/20/icu-73-versioning.html</a></li><li>amcheck <a href="https://www.postgresql.org/docs/current/amcheck.html">https://www.postgresql.org/docs/current/amcheck.html</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/98d031a2/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Monitoring from Postgres AI</title>
      <itunes:episode>152</itunes:episode>
      <podcast:episode>152</podcast:episode>
      <itunes:title>Monitoring from Postgres AI</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">8a95840e-4d4f-4e08-859b-032950c0a41a</guid>
      <link>https://share.transistor.fm/s/07029d3d</link>
      <description>
        <![CDATA[<p>Nikolay talks to Michael about Postgres AI's new monitoring tool — what it is, how its different to other tools, and some of the thinking behind it.<br> <br>Here are some links to things they mentioned:</p><ul><li>postgres_ai monitoring <a href="https://gitlab.com/postgres-ai/postgres_ai">https://gitlab.com/postgres-ai/postgres_ai</a></li><li>DB Lab 4.0 announcement <a href="https://github.com/postgres-ai/database-lab-engine/releases/tag/v4.0.0">https://github.com/postgres-ai/database-lab-engine/releases/tag/v4.0.0</a></li><li>pganalyze <a href="https://pganalyze.com">https://pganalyze.com</a></li><li>postgres-checkup <a href="https://gitlab.com/postgres-ai/postgres-checkup">https://gitlab.com/postgres-ai/postgres-checkup</a></li><li>Percona Monitoring and Management (PMM) <a href="https://github.com/percona/pmm">https://github.com/percona/pmm</a></li><li>pgwatch <a href="https://github.com/cybertec-postgresql/pgwatch">https://github.com/cybertec-postgresql/pgwatch</a></li><li>pgwatch Postgres AI Edition <a href="https://gitlab.com/postgres-ai/pgwatch2">https://gitlab.com/postgres-ai/pgwatch2</a></li><li>libpg_query <a href="https://github.com/pganalyze/libpg_query">https://github.com/pganalyze/libpg_query</a></li><li>The Four Golden Signals <a href="https://sre.google/sre-book/monitoring-distributed-systems/#xref_monitoring_golden-signals">https://sre.google/sre-book/monitoring-distributed-systems/#xref_monitoring_golden-signals</a></li><li>logerrors <a href="https://github.com/munakoiso/logerrors">https://github.com/munakoiso/logerrors</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay talks to Michael about Postgres AI's new monitoring tool — what it is, how its different to other tools, and some of the thinking behind it.<br> <br>Here are some links to things they mentioned:</p><ul><li>postgres_ai monitoring <a href="https://gitlab.com/postgres-ai/postgres_ai">https://gitlab.com/postgres-ai/postgres_ai</a></li><li>DB Lab 4.0 announcement <a href="https://github.com/postgres-ai/database-lab-engine/releases/tag/v4.0.0">https://github.com/postgres-ai/database-lab-engine/releases/tag/v4.0.0</a></li><li>pganalyze <a href="https://pganalyze.com">https://pganalyze.com</a></li><li>postgres-checkup <a href="https://gitlab.com/postgres-ai/postgres-checkup">https://gitlab.com/postgres-ai/postgres-checkup</a></li><li>Percona Monitoring and Management (PMM) <a href="https://github.com/percona/pmm">https://github.com/percona/pmm</a></li><li>pgwatch <a href="https://github.com/cybertec-postgresql/pgwatch">https://github.com/cybertec-postgresql/pgwatch</a></li><li>pgwatch Postgres AI Edition <a href="https://gitlab.com/postgres-ai/pgwatch2">https://gitlab.com/postgres-ai/pgwatch2</a></li><li>libpg_query <a href="https://github.com/pganalyze/libpg_query">https://github.com/pganalyze/libpg_query</a></li><li>The Four Golden Signals <a href="https://sre.google/sre-book/monitoring-distributed-systems/#xref_monitoring_golden-signals">https://sre.google/sre-book/monitoring-distributed-systems/#xref_monitoring_golden-signals</a></li><li>logerrors <a href="https://github.com/munakoiso/logerrors">https://github.com/munakoiso/logerrors</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 25 Jul 2025 14:15:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/07029d3d/67d834fb.mp3" length="42908912" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2680</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay talks to Michael about Postgres AI's new monitoring tool — what it is, how its different to other tools, and some of the thinking behind it.<br> <br>Here are some links to things they mentioned:</p><ul><li>postgres_ai monitoring <a href="https://gitlab.com/postgres-ai/postgres_ai">https://gitlab.com/postgres-ai/postgres_ai</a></li><li>DB Lab 4.0 announcement <a href="https://github.com/postgres-ai/database-lab-engine/releases/tag/v4.0.0">https://github.com/postgres-ai/database-lab-engine/releases/tag/v4.0.0</a></li><li>pganalyze <a href="https://pganalyze.com">https://pganalyze.com</a></li><li>postgres-checkup <a href="https://gitlab.com/postgres-ai/postgres-checkup">https://gitlab.com/postgres-ai/postgres-checkup</a></li><li>Percona Monitoring and Management (PMM) <a href="https://github.com/percona/pmm">https://github.com/percona/pmm</a></li><li>pgwatch <a href="https://github.com/cybertec-postgresql/pgwatch">https://github.com/cybertec-postgresql/pgwatch</a></li><li>pgwatch Postgres AI Edition <a href="https://gitlab.com/postgres-ai/pgwatch2">https://gitlab.com/postgres-ai/pgwatch2</a></li><li>libpg_query <a href="https://github.com/pganalyze/libpg_query">https://github.com/pganalyze/libpg_query</a></li><li>The Four Golden Signals <a href="https://sre.google/sre-book/monitoring-distributed-systems/#xref_monitoring_golden-signals">https://sre.google/sre-book/monitoring-distributed-systems/#xref_monitoring_golden-signals</a></li><li>logerrors <a href="https://github.com/munakoiso/logerrors">https://github.com/munakoiso/logerrors</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/07029d3d/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>MultiXact member space exhaustion</title>
      <itunes:episode>151</itunes:episode>
      <podcast:episode>151</podcast:episode>
      <itunes:title>MultiXact member space exhaustion</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">9ae4333e-9561-4d48-806d-c2cc8710ec86</guid>
      <link>https://share.transistor.fm/s/5320e5d5</link>
      <description>
        <![CDATA[<p>Nikolay and Michael are joined by Andrew Johnson and Nate Brennand from Metronome to discuss MultiXact member space exhaustion — what it is, how they managed to hit it, and some tips to prevent running into it at scale.<br> <br>Here are some links to things they mentioned:</p><ul><li>Nate Brennand <a href="https://postgres.fm/people/nate-brennand">https://postgres.fm/people/nate-brennand</a></li><li>Andrew Johnson <a href="https://postgres.fm/people/andrew-johnson">https://postgres.fm/people/andrew-johnson</a></li><li>Metronome <a href="https://metronome.com">https://metronome.com</a></li><li>Root Cause Analysis: PostgreSQL MultiXact member exhaustion incidents (blog post by Metronome) <a href="https://metronome.com/blog/root-cause-analysis-postgresql-multixact-member-exhaustion-incidents-may-2025">https://metronome.com/blog/root-cause-analysis-postgresql-multixact-member-exhaustion-incidents-may-2025</a></li><li>Multixacts and Wraparound (docs) <a href="https://www.postgresql.org/docs/current/routine-vacuuming.html#VACUUM-FOR-MULTIXACT-WRAPAROUND">https://www.postgresql.org/docs/current/routine-vacuuming.html#VACUUM-FOR-MULTIXACT-WRAPAROUND</a></li><li>multixact.c source code <a href="https://github.com/postgres/postgres/blob/master/src/backend/access/transam/multixact.c">https://github.com/postgres/postgres/blob/master/src/backend/access/transam/multixact.c</a></li><li>Add pg_stat_multixact view for multixact membership usage monitoring (patch proposal by Andrew, needing review!) <a href="https://commitfest.postgresql.org/patch/5869/">https://commitfest.postgresql.org/patch/5869/</a></li><li>PostgreSQL subtransactions considered harmful (blog post by Nikolay) <a href="https://postgres.ai/blog/20210831-postgresql-subtransactions-considered-harmful">https://postgres.ai/blog/20210831-postgresql-subtransactions-considered-harmful</a></li><li>vacuum_multixact_failsafe_age doesn't account for MultiXact member exhaustion (thread started by Peter Geoghegan) <a href="https://www.postgresql.org/message-id/flat/CAH2-WzmLPWJk3gbAxy8dHY%2BA-Juz_6uGwfe6DkE8B5-dTDvLcw%40mail.gmail.com">https://www.postgresql.org/message-id/flat/CAH2-WzmLPWJk3gbAxy8dHY%2BA-Juz_6uGwfe6DkE8B5-dTDvLcw%40mail.gmail.com</a></li><li>Amazon S3 Vectors <a href="https://aws.amazon.com/blogs/aws/introducing-amazon-s3-vectors-first-cloud-storage-with-native-vector-support-at-scale/">https://aws.amazon.com/blogs/aws/introducing-amazon-s3-vectors-first-cloud-storage-with-native-vector-support-at-scale/</a></li><li>MultiXacts in PostgreSQL: usage, side effects, and monitoring (blog post by Shawn McCoy and Divya Sharma from AWS) <a href="https://aws.amazon.com/blogs/database/multixacts-in-postgresql-usage-side-effects-and-monitoring/">https://aws.amazon.com/blogs/database/multixacts-in-postgresql-usage-side-effects-and-monitoring/</a></li><li>Postgres Aurora multixact monitoring queries <a href="https://gist.github.com/natebrennand/0924f723ff61fa897c4106379fc7f3dc">https://gist.github.com/natebrennand/0924f723ff61fa897c4106379fc7f3dc</a> </li><li>And finally an apology and a correction, the membership space is ~4B, not ~2B as said by Michael in the episode! Definition here:<br><a href="https://github.com/postgres/postgres/blob/f6ffbeda00e08c4c8ac8cf72173f84157491bfde/src/include/access/multixact.h#L31">https://github.com/postgres/postgres/blob/f6ffbeda00e08c4c8ac8cf72173f84157491bfde/src/include/access/multixact.h#L31</a></li></ul><p>And here's the formula discussed for calculating how the member space can grow quadratically by the number of overlapping transactions:</p><ul><li>Members can be calculated via: aₙ = 2 + [sum from k=3 to n+1 of k]</li><li>This simplifies to: aₙ = (((n+1)(n+2))/2) - 1</li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael are joined by Andrew Johnson and Nate Brennand from Metronome to discuss MultiXact member space exhaustion — what it is, how they managed to hit it, and some tips to prevent running into it at scale.<br> <br>Here are some links to things they mentioned:</p><ul><li>Nate Brennand <a href="https://postgres.fm/people/nate-brennand">https://postgres.fm/people/nate-brennand</a></li><li>Andrew Johnson <a href="https://postgres.fm/people/andrew-johnson">https://postgres.fm/people/andrew-johnson</a></li><li>Metronome <a href="https://metronome.com">https://metronome.com</a></li><li>Root Cause Analysis: PostgreSQL MultiXact member exhaustion incidents (blog post by Metronome) <a href="https://metronome.com/blog/root-cause-analysis-postgresql-multixact-member-exhaustion-incidents-may-2025">https://metronome.com/blog/root-cause-analysis-postgresql-multixact-member-exhaustion-incidents-may-2025</a></li><li>Multixacts and Wraparound (docs) <a href="https://www.postgresql.org/docs/current/routine-vacuuming.html#VACUUM-FOR-MULTIXACT-WRAPAROUND">https://www.postgresql.org/docs/current/routine-vacuuming.html#VACUUM-FOR-MULTIXACT-WRAPAROUND</a></li><li>multixact.c source code <a href="https://github.com/postgres/postgres/blob/master/src/backend/access/transam/multixact.c">https://github.com/postgres/postgres/blob/master/src/backend/access/transam/multixact.c</a></li><li>Add pg_stat_multixact view for multixact membership usage monitoring (patch proposal by Andrew, needing review!) <a href="https://commitfest.postgresql.org/patch/5869/">https://commitfest.postgresql.org/patch/5869/</a></li><li>PostgreSQL subtransactions considered harmful (blog post by Nikolay) <a href="https://postgres.ai/blog/20210831-postgresql-subtransactions-considered-harmful">https://postgres.ai/blog/20210831-postgresql-subtransactions-considered-harmful</a></li><li>vacuum_multixact_failsafe_age doesn't account for MultiXact member exhaustion (thread started by Peter Geoghegan) <a href="https://www.postgresql.org/message-id/flat/CAH2-WzmLPWJk3gbAxy8dHY%2BA-Juz_6uGwfe6DkE8B5-dTDvLcw%40mail.gmail.com">https://www.postgresql.org/message-id/flat/CAH2-WzmLPWJk3gbAxy8dHY%2BA-Juz_6uGwfe6DkE8B5-dTDvLcw%40mail.gmail.com</a></li><li>Amazon S3 Vectors <a href="https://aws.amazon.com/blogs/aws/introducing-amazon-s3-vectors-first-cloud-storage-with-native-vector-support-at-scale/">https://aws.amazon.com/blogs/aws/introducing-amazon-s3-vectors-first-cloud-storage-with-native-vector-support-at-scale/</a></li><li>MultiXacts in PostgreSQL: usage, side effects, and monitoring (blog post by Shawn McCoy and Divya Sharma from AWS) <a href="https://aws.amazon.com/blogs/database/multixacts-in-postgresql-usage-side-effects-and-monitoring/">https://aws.amazon.com/blogs/database/multixacts-in-postgresql-usage-side-effects-and-monitoring/</a></li><li>Postgres Aurora multixact monitoring queries <a href="https://gist.github.com/natebrennand/0924f723ff61fa897c4106379fc7f3dc">https://gist.github.com/natebrennand/0924f723ff61fa897c4106379fc7f3dc</a> </li><li>And finally an apology and a correction, the membership space is ~4B, not ~2B as said by Michael in the episode! Definition here:<br><a href="https://github.com/postgres/postgres/blob/f6ffbeda00e08c4c8ac8cf72173f84157491bfde/src/include/access/multixact.h#L31">https://github.com/postgres/postgres/blob/f6ffbeda00e08c4c8ac8cf72173f84157491bfde/src/include/access/multixact.h#L31</a></li></ul><p>And here's the formula discussed for calculating how the member space can grow quadratically by the number of overlapping transactions:</p><ul><li>Members can be calculated via: aₙ = 2 + [sum from k=3 to n+1 of k]</li><li>This simplifies to: aₙ = (((n+1)(n+2))/2) - 1</li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 18 Jul 2025 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/5320e5d5/0ce20b35.mp3" length="53525514" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>3343</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael are joined by Andrew Johnson and Nate Brennand from Metronome to discuss MultiXact member space exhaustion — what it is, how they managed to hit it, and some tips to prevent running into it at scale.<br> <br>Here are some links to things they mentioned:</p><ul><li>Nate Brennand <a href="https://postgres.fm/people/nate-brennand">https://postgres.fm/people/nate-brennand</a></li><li>Andrew Johnson <a href="https://postgres.fm/people/andrew-johnson">https://postgres.fm/people/andrew-johnson</a></li><li>Metronome <a href="https://metronome.com">https://metronome.com</a></li><li>Root Cause Analysis: PostgreSQL MultiXact member exhaustion incidents (blog post by Metronome) <a href="https://metronome.com/blog/root-cause-analysis-postgresql-multixact-member-exhaustion-incidents-may-2025">https://metronome.com/blog/root-cause-analysis-postgresql-multixact-member-exhaustion-incidents-may-2025</a></li><li>Multixacts and Wraparound (docs) <a href="https://www.postgresql.org/docs/current/routine-vacuuming.html#VACUUM-FOR-MULTIXACT-WRAPAROUND">https://www.postgresql.org/docs/current/routine-vacuuming.html#VACUUM-FOR-MULTIXACT-WRAPAROUND</a></li><li>multixact.c source code <a href="https://github.com/postgres/postgres/blob/master/src/backend/access/transam/multixact.c">https://github.com/postgres/postgres/blob/master/src/backend/access/transam/multixact.c</a></li><li>Add pg_stat_multixact view for multixact membership usage monitoring (patch proposal by Andrew, needing review!) <a href="https://commitfest.postgresql.org/patch/5869/">https://commitfest.postgresql.org/patch/5869/</a></li><li>PostgreSQL subtransactions considered harmful (blog post by Nikolay) <a href="https://postgres.ai/blog/20210831-postgresql-subtransactions-considered-harmful">https://postgres.ai/blog/20210831-postgresql-subtransactions-considered-harmful</a></li><li>vacuum_multixact_failsafe_age doesn't account for MultiXact member exhaustion (thread started by Peter Geoghegan) <a href="https://www.postgresql.org/message-id/flat/CAH2-WzmLPWJk3gbAxy8dHY%2BA-Juz_6uGwfe6DkE8B5-dTDvLcw%40mail.gmail.com">https://www.postgresql.org/message-id/flat/CAH2-WzmLPWJk3gbAxy8dHY%2BA-Juz_6uGwfe6DkE8B5-dTDvLcw%40mail.gmail.com</a></li><li>Amazon S3 Vectors <a href="https://aws.amazon.com/blogs/aws/introducing-amazon-s3-vectors-first-cloud-storage-with-native-vector-support-at-scale/">https://aws.amazon.com/blogs/aws/introducing-amazon-s3-vectors-first-cloud-storage-with-native-vector-support-at-scale/</a></li><li>MultiXacts in PostgreSQL: usage, side effects, and monitoring (blog post by Shawn McCoy and Divya Sharma from AWS) <a href="https://aws.amazon.com/blogs/database/multixacts-in-postgresql-usage-side-effects-and-monitoring/">https://aws.amazon.com/blogs/database/multixacts-in-postgresql-usage-side-effects-and-monitoring/</a></li><li>Postgres Aurora multixact monitoring queries <a href="https://gist.github.com/natebrennand/0924f723ff61fa897c4106379fc7f3dc">https://gist.github.com/natebrennand/0924f723ff61fa897c4106379fc7f3dc</a> </li><li>And finally an apology and a correction, the membership space is ~4B, not ~2B as said by Michael in the episode! Definition here:<br><a href="https://github.com/postgres/postgres/blob/f6ffbeda00e08c4c8ac8cf72173f84157491bfde/src/include/access/multixact.h#L31">https://github.com/postgres/postgres/blob/f6ffbeda00e08c4c8ac8cf72173f84157491bfde/src/include/access/multixact.h#L31</a></li></ul><p>And here's the formula discussed for calculating how the member space can grow quadratically by the number of overlapping transactions:</p><ul><li>Members can be calculated via: aₙ = 2 + [sum from k=3 to n+1 of k]</li><li>This simplifies to: aₙ = (((n+1)(n+2))/2) - 1</li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Guest" href="https://metronome.com/" img="https://img.transistorcdn.com/GAsDtB7MsWkKNooG0KuU3wbMYQ_qyqXj0ifaLRmyfx4/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85NmMz/ZTVhOTAwODVjMzY4/Zjg4YjVlODI2NjI4/ZDBjMi5qcGVn.jpg">Andrew Johnson</podcast:person>
      <podcast:person role="Guest" href="https://metronome.com/" img="https://img.transistorcdn.com/gLMmh71Y_UzfzTeQ1fdlMzZJXcJsz1LpXmVt8WeAOBg/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9mZWY5/ZjJkOTY2ZjZjNmM5/MzUyNzNiYWUyNTlh/NzY0Mi5qcGVn.jpg">Nate Brennand</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/5320e5d5/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Multigres</title>
      <itunes:episode>150</itunes:episode>
      <podcast:episode>150</podcast:episode>
      <itunes:title>Multigres</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">737d64bb-7cc0-46bc-8a20-e0e8d6cd4dcd</guid>
      <link>https://share.transistor.fm/s/c3360fa0</link>
      <description>
        <![CDATA[<p>Nikolay and Michael are joined by Sugu Sougoumarane to discuss Multigres — a project he's joined Supabase to lead, building an adaptation of Vitess for Postgres!<br> <br>Here are some links to things they mentioned:</p><ul><li>Sugu Sougoumarane <a href="https://postgres.fm/people/sugu-sougoumarane">https://postgres.fm/people/sugu-sougoumarane</a></li><li>Supabase <a href="https://supabase.com">https://supabase.com</a></li><li>Announcing Multigres <a href="https://supabase.com/blog/multigres-vitess-for-postgres">https://supabase.com/blog/multigres-vitess-for-postgres</a></li><li>Vitess <a href="https://github.com/vitessio/vitess">https://github.com/vitessio/vitess</a></li><li>SPQR <a href="https://github.com/pg-sharding/spqr">https://github.com/pg-sharding/spqr</a></li><li>Citus <a href="https://github.com/citusdata/citus">https://github.com/citusdata/citus</a></li><li>PgDog <a href="https://github.com/pgdogdev/pgdog">https://github.com/pgdogdev/pgdog</a></li><li>Myths and Truths about Synchronous Replication in PostgreSQL (talk by Alexander Kukushkin) <a href="https://www.youtube.com/watch?v=PFn9qRGzTMc">https://www.youtube.com/watch?v=PFn9qRGzTMc</a></li><li>Consensus algorithms at scale (8 part series by Sugu) <a href="https://planetscale.com/blog/consensus-algorithms-at-scale-part-1">https://planetscale.com/blog/consensus-algorithms-at-scale-part-1</a></li><li>A More Flexible Paxos (blog post by Sugu) <a href="https://www.sougou.io/a-more-flexible-paxos">https://www.sougou.io/a-more-flexible-paxos</a></li><li>libpg_query <a href="https://github.com/pganalyze/libpg_query">https://github.com/pganalyze/libpg_query</a></li><li>PL/Proxy <a href="https://github.com/plproxy/plproxy">https://github.com/plproxy/plproxy</a></li><li>PlanetScale Postgres Benchmarking <a href="https://planetscale.com/blog/benchmarking-postgres">https://planetscale.com/blog/benchmarking-postgres</a></li><li>MultiXact member exhaustion incidents (blog post by Cosmo Wolfe / Metronome) <a href="https://metronome.com/blog/root-cause-analysis-postgresql-multixact-member-exhaustion-incidents-may-2025">https://metronome.com/blog/root-cause-analysis-postgresql-multixact-member-exhaustion-incidents-may-2025</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael are joined by Sugu Sougoumarane to discuss Multigres — a project he's joined Supabase to lead, building an adaptation of Vitess for Postgres!<br> <br>Here are some links to things they mentioned:</p><ul><li>Sugu Sougoumarane <a href="https://postgres.fm/people/sugu-sougoumarane">https://postgres.fm/people/sugu-sougoumarane</a></li><li>Supabase <a href="https://supabase.com">https://supabase.com</a></li><li>Announcing Multigres <a href="https://supabase.com/blog/multigres-vitess-for-postgres">https://supabase.com/blog/multigres-vitess-for-postgres</a></li><li>Vitess <a href="https://github.com/vitessio/vitess">https://github.com/vitessio/vitess</a></li><li>SPQR <a href="https://github.com/pg-sharding/spqr">https://github.com/pg-sharding/spqr</a></li><li>Citus <a href="https://github.com/citusdata/citus">https://github.com/citusdata/citus</a></li><li>PgDog <a href="https://github.com/pgdogdev/pgdog">https://github.com/pgdogdev/pgdog</a></li><li>Myths and Truths about Synchronous Replication in PostgreSQL (talk by Alexander Kukushkin) <a href="https://www.youtube.com/watch?v=PFn9qRGzTMc">https://www.youtube.com/watch?v=PFn9qRGzTMc</a></li><li>Consensus algorithms at scale (8 part series by Sugu) <a href="https://planetscale.com/blog/consensus-algorithms-at-scale-part-1">https://planetscale.com/blog/consensus-algorithms-at-scale-part-1</a></li><li>A More Flexible Paxos (blog post by Sugu) <a href="https://www.sougou.io/a-more-flexible-paxos">https://www.sougou.io/a-more-flexible-paxos</a></li><li>libpg_query <a href="https://github.com/pganalyze/libpg_query">https://github.com/pganalyze/libpg_query</a></li><li>PL/Proxy <a href="https://github.com/plproxy/plproxy">https://github.com/plproxy/plproxy</a></li><li>PlanetScale Postgres Benchmarking <a href="https://planetscale.com/blog/benchmarking-postgres">https://planetscale.com/blog/benchmarking-postgres</a></li><li>MultiXact member exhaustion incidents (blog post by Cosmo Wolfe / Metronome) <a href="https://metronome.com/blog/root-cause-analysis-postgresql-multixact-member-exhaustion-incidents-may-2025">https://metronome.com/blog/root-cause-analysis-postgresql-multixact-member-exhaustion-incidents-may-2025</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 11 Jul 2025 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/c3360fa0/eff1d33e.mp3" length="76313428" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>4767</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael are joined by Sugu Sougoumarane to discuss Multigres — a project he's joined Supabase to lead, building an adaptation of Vitess for Postgres!<br> <br>Here are some links to things they mentioned:</p><ul><li>Sugu Sougoumarane <a href="https://postgres.fm/people/sugu-sougoumarane">https://postgres.fm/people/sugu-sougoumarane</a></li><li>Supabase <a href="https://supabase.com">https://supabase.com</a></li><li>Announcing Multigres <a href="https://supabase.com/blog/multigres-vitess-for-postgres">https://supabase.com/blog/multigres-vitess-for-postgres</a></li><li>Vitess <a href="https://github.com/vitessio/vitess">https://github.com/vitessio/vitess</a></li><li>SPQR <a href="https://github.com/pg-sharding/spqr">https://github.com/pg-sharding/spqr</a></li><li>Citus <a href="https://github.com/citusdata/citus">https://github.com/citusdata/citus</a></li><li>PgDog <a href="https://github.com/pgdogdev/pgdog">https://github.com/pgdogdev/pgdog</a></li><li>Myths and Truths about Synchronous Replication in PostgreSQL (talk by Alexander Kukushkin) <a href="https://www.youtube.com/watch?v=PFn9qRGzTMc">https://www.youtube.com/watch?v=PFn9qRGzTMc</a></li><li>Consensus algorithms at scale (8 part series by Sugu) <a href="https://planetscale.com/blog/consensus-algorithms-at-scale-part-1">https://planetscale.com/blog/consensus-algorithms-at-scale-part-1</a></li><li>A More Flexible Paxos (blog post by Sugu) <a href="https://www.sougou.io/a-more-flexible-paxos">https://www.sougou.io/a-more-flexible-paxos</a></li><li>libpg_query <a href="https://github.com/pganalyze/libpg_query">https://github.com/pganalyze/libpg_query</a></li><li>PL/Proxy <a href="https://github.com/plproxy/plproxy">https://github.com/plproxy/plproxy</a></li><li>PlanetScale Postgres Benchmarking <a href="https://planetscale.com/blog/benchmarking-postgres">https://planetscale.com/blog/benchmarking-postgres</a></li><li>MultiXact member exhaustion incidents (blog post by Cosmo Wolfe / Metronome) <a href="https://metronome.com/blog/root-cause-analysis-postgresql-multixact-member-exhaustion-incidents-may-2025">https://metronome.com/blog/root-cause-analysis-postgresql-multixact-member-exhaustion-incidents-may-2025</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Guest" href="https://www.sougou.io/" img="https://img.transistorcdn.com/QhhBPsB-H1EdteoJDcwgzodtLo1xRvELdpCrSoF5wbQ/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS8yMTdm/OTI0YWY0NzU3MDVi/NGVmMTE4ZWUxYmZh/MzAzYy5qcGVn.jpg">Sugu Sougoumarane</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/c3360fa0/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Multi-tenant options</title>
      <itunes:episode>149</itunes:episode>
      <podcast:episode>149</podcast:episode>
      <itunes:title>Multi-tenant options</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">dac83624-b25d-49ad-bd97-103f01456241</guid>
      <link>https://share.transistor.fm/s/08f6ce00</link>
      <description>
        <![CDATA[<p>Nikolay and Michael are joined by Gwen Shapira to discuss multi-tenant architectures — the high level options, the pros and cons of each, and how they're trying to help with Nile.<br> <br>Here are some links to things they mentioned:</p><ul><li>Gwen Shapira <a href="https://postgres.fm/people/gwen-shapira">https://postgres.fm/people/gwen-shapira</a></li><li>Nile <a href="https://www.thenile.dev">https://www.thenile.dev</a></li><li>SaaS Tenant Isolation Strategies (AWS whitepaper) <a href="https://docs.aws.amazon.com/whitepapers/latest/saas-tenant-isolation-strategies/saas-tenant-isolation-strategies.html">https://docs.aws.amazon.com/whitepapers/latest/saas-tenant-isolation-strategies/saas-tenant-isolation-strategies.html</a> </li><li>Row Level Security <a href="https://www.postgresql.org/docs/current/ddl-rowsecurity.html">https://www.postgresql.org/docs/current/ddl-rowsecurity.html</a></li><li>Citus <a href="https://github.com/citusdata/citus">https://github.com/citusdata/citus</a></li><li>Postgres.AI Bot <a href="https://postgres.ai/blog/20240127-postgres-ai-bot">https://postgres.ai/blog/20240127-postgres-ai-bot</a> </li><li>RLS Performance and Best Practices <a href="https://supabase.com/docs/guides/troubleshooting/rls-performance-and-best-practices-Z5Jjwv">https://supabase.com/docs/guides/troubleshooting/rls-performance-and-best-practices-Z5Jjwv</a></li><li>Case Gwen mentioned about the planner thinking an optimisation was unsafe </li><li>Re-engineering Postgres for Millions of Tenants (Gwen’s recent talk at PGConf.dev) <a href="https://www.youtube.com/watch?v=EfAStGb4s88">https://www.youtube.com/watch?v=EfAStGb4s88</a> </li><li>Multi-tenant database the good, the bad, the ugly (talk by Pierre Ducroquet at PgDay Paris) <a href="https://www.youtube.com/watch?v=4uxuPfSvTGU">https://www.youtube.com/watch?v=4uxuPfSvTGU</a></li></ul><p> </p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael are joined by Gwen Shapira to discuss multi-tenant architectures — the high level options, the pros and cons of each, and how they're trying to help with Nile.<br> <br>Here are some links to things they mentioned:</p><ul><li>Gwen Shapira <a href="https://postgres.fm/people/gwen-shapira">https://postgres.fm/people/gwen-shapira</a></li><li>Nile <a href="https://www.thenile.dev">https://www.thenile.dev</a></li><li>SaaS Tenant Isolation Strategies (AWS whitepaper) <a href="https://docs.aws.amazon.com/whitepapers/latest/saas-tenant-isolation-strategies/saas-tenant-isolation-strategies.html">https://docs.aws.amazon.com/whitepapers/latest/saas-tenant-isolation-strategies/saas-tenant-isolation-strategies.html</a> </li><li>Row Level Security <a href="https://www.postgresql.org/docs/current/ddl-rowsecurity.html">https://www.postgresql.org/docs/current/ddl-rowsecurity.html</a></li><li>Citus <a href="https://github.com/citusdata/citus">https://github.com/citusdata/citus</a></li><li>Postgres.AI Bot <a href="https://postgres.ai/blog/20240127-postgres-ai-bot">https://postgres.ai/blog/20240127-postgres-ai-bot</a> </li><li>RLS Performance and Best Practices <a href="https://supabase.com/docs/guides/troubleshooting/rls-performance-and-best-practices-Z5Jjwv">https://supabase.com/docs/guides/troubleshooting/rls-performance-and-best-practices-Z5Jjwv</a></li><li>Case Gwen mentioned about the planner thinking an optimisation was unsafe </li><li>Re-engineering Postgres for Millions of Tenants (Gwen’s recent talk at PGConf.dev) <a href="https://www.youtube.com/watch?v=EfAStGb4s88">https://www.youtube.com/watch?v=EfAStGb4s88</a> </li><li>Multi-tenant database the good, the bad, the ugly (talk by Pierre Ducroquet at PgDay Paris) <a href="https://www.youtube.com/watch?v=4uxuPfSvTGU">https://www.youtube.com/watch?v=4uxuPfSvTGU</a></li></ul><p> </p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 20 Jun 2025 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/08f6ce00/d9d28346.mp3" length="48324396" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>3018</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael are joined by Gwen Shapira to discuss multi-tenant architectures — the high level options, the pros and cons of each, and how they're trying to help with Nile.<br> <br>Here are some links to things they mentioned:</p><ul><li>Gwen Shapira <a href="https://postgres.fm/people/gwen-shapira">https://postgres.fm/people/gwen-shapira</a></li><li>Nile <a href="https://www.thenile.dev">https://www.thenile.dev</a></li><li>SaaS Tenant Isolation Strategies (AWS whitepaper) <a href="https://docs.aws.amazon.com/whitepapers/latest/saas-tenant-isolation-strategies/saas-tenant-isolation-strategies.html">https://docs.aws.amazon.com/whitepapers/latest/saas-tenant-isolation-strategies/saas-tenant-isolation-strategies.html</a> </li><li>Row Level Security <a href="https://www.postgresql.org/docs/current/ddl-rowsecurity.html">https://www.postgresql.org/docs/current/ddl-rowsecurity.html</a></li><li>Citus <a href="https://github.com/citusdata/citus">https://github.com/citusdata/citus</a></li><li>Postgres.AI Bot <a href="https://postgres.ai/blog/20240127-postgres-ai-bot">https://postgres.ai/blog/20240127-postgres-ai-bot</a> </li><li>RLS Performance and Best Practices <a href="https://supabase.com/docs/guides/troubleshooting/rls-performance-and-best-practices-Z5Jjwv">https://supabase.com/docs/guides/troubleshooting/rls-performance-and-best-practices-Z5Jjwv</a></li><li>Case Gwen mentioned about the planner thinking an optimisation was unsafe </li><li>Re-engineering Postgres for Millions of Tenants (Gwen’s recent talk at PGConf.dev) <a href="https://www.youtube.com/watch?v=EfAStGb4s88">https://www.youtube.com/watch?v=EfAStGb4s88</a> </li><li>Multi-tenant database the good, the bad, the ugly (talk by Pierre Ducroquet at PgDay Paris) <a href="https://www.youtube.com/watch?v=4uxuPfSvTGU">https://www.youtube.com/watch?v=4uxuPfSvTGU</a></li></ul><p> </p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Guest" href="https://www.thenile.dev" img="https://img.transistorcdn.com/iVI03qprSnPvJQ-Sjdh7QdkIvcfLmmVDv_T5YYlC8yI/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lMjkz/MmQ4NzEzOGZmMzNi/ODMyOGM1NTM5MTk0/YTBjYy5qcGVn.jpg">Gwen Shapira</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/08f6ce00/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Mean vs p99</title>
      <itunes:episode>148</itunes:episode>
      <podcast:episode>148</podcast:episode>
      <itunes:title>Mean vs p99</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">59b964d3-1298-4fec-8608-abfa7d89138d</guid>
      <link>https://share.transistor.fm/s/d584066b</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss looking at queries by mean time — when it makes sense, why ordering by a percentile (like p99) might be better, and the merits of approximating percentiles in pg_stat_statements using the standard deviation column.<br> <br>Here are some links to things they mentioned:</p><ul><li>Approximate the p99 of a query with pg_stat_statements (blog post by Michael) <a href="https://www.pgmustard.com/blog/approximate-the-p99-of-a-query-with-pgstatstatements">https://www.pgmustard.com/blog/approximate-the-p99-of-a-query-with-pgstatstatements</a></li><li>pg_stat_statements <a href="https://www.postgresql.org/docs/current/pgstatstatements.html">https://www.postgresql.org/docs/current/pgstatstatements.html</a> </li><li>Our episode about track_planning <a href="https://postgres.fm/episodes/pg-stat-statements-track-planning">https://postgres.fm/episodes/pg-stat-statements-track-planning</a> </li><li>pg_stat_monitor <a href="https://github.com/percona/pg_stat_monitor">https://github.com/percona/pg_stat_monitor</a></li><li>statement_timeout <a href="https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-STATEMENT-TIMEOUT">https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-STATEMENT-TIMEOUT</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss looking at queries by mean time — when it makes sense, why ordering by a percentile (like p99) might be better, and the merits of approximating percentiles in pg_stat_statements using the standard deviation column.<br> <br>Here are some links to things they mentioned:</p><ul><li>Approximate the p99 of a query with pg_stat_statements (blog post by Michael) <a href="https://www.pgmustard.com/blog/approximate-the-p99-of-a-query-with-pgstatstatements">https://www.pgmustard.com/blog/approximate-the-p99-of-a-query-with-pgstatstatements</a></li><li>pg_stat_statements <a href="https://www.postgresql.org/docs/current/pgstatstatements.html">https://www.postgresql.org/docs/current/pgstatstatements.html</a> </li><li>Our episode about track_planning <a href="https://postgres.fm/episodes/pg-stat-statements-track-planning">https://postgres.fm/episodes/pg-stat-statements-track-planning</a> </li><li>pg_stat_monitor <a href="https://github.com/percona/pg_stat_monitor">https://github.com/percona/pg_stat_monitor</a></li><li>statement_timeout <a href="https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-STATEMENT-TIMEOUT">https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-STATEMENT-TIMEOUT</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 13 Jun 2025 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/d584066b/860db628.mp3" length="37339574" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2331</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss looking at queries by mean time — when it makes sense, why ordering by a percentile (like p99) might be better, and the merits of approximating percentiles in pg_stat_statements using the standard deviation column.<br> <br>Here are some links to things they mentioned:</p><ul><li>Approximate the p99 of a query with pg_stat_statements (blog post by Michael) <a href="https://www.pgmustard.com/blog/approximate-the-p99-of-a-query-with-pgstatstatements">https://www.pgmustard.com/blog/approximate-the-p99-of-a-query-with-pgstatstatements</a></li><li>pg_stat_statements <a href="https://www.postgresql.org/docs/current/pgstatstatements.html">https://www.postgresql.org/docs/current/pgstatstatements.html</a> </li><li>Our episode about track_planning <a href="https://postgres.fm/episodes/pg-stat-statements-track-planning">https://postgres.fm/episodes/pg-stat-statements-track-planning</a> </li><li>pg_stat_monitor <a href="https://github.com/percona/pg_stat_monitor">https://github.com/percona/pg_stat_monitor</a></li><li>statement_timeout <a href="https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-STATEMENT-TIMEOUT">https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-STATEMENT-TIMEOUT</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/d584066b/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>What to log</title>
      <itunes:episode>147</itunes:episode>
      <podcast:episode>147</podcast:episode>
      <itunes:title>What to log</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">e3c6ebcb-009f-46f9-b030-fcd094790234</guid>
      <link>https://share.transistor.fm/s/762aed9c</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss logging in Postgres — mostly what to log, and why changing quite a few settings can pay off big time in the long term.<br> <br>Here are some links to things they mentioned:</p><ul><li>What to log <a href="https://www.postgresql.org/docs/current/runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-WHAT">https://www.postgresql.org/docs/current/runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-WHAT</a></li><li>Our episode about Auditing <a href="https://postgres.fm/episodes/auditing">https://postgres.fm/episodes/auditing</a> </li><li>Our episode on auto_explain <a href="https://postgres.fm/episodes/auto_explain">https://postgres.fm/episodes/auto_explain</a> </li></ul><p><br></p><p>Here are the parameters they mentioned changing:</p><ul><li>log_checkpoints</li><li>log_autovacuum_min_duration </li><li>log_statement</li><li>log_connections and log_disconnections</li><li>log_lock_waits</li><li>log_temp_files</li><li>log_min_duration_statement </li><li>log_min_duration_sample and log_statement_sample_rate </li></ul><p><br></p><p>And finally, some very useful tools they meant to mention but forgot to!   </p><ul><li><a href="https://pgpedia.info">https://pgpedia.info</a></li><li><a href="https://postgresqlco.nf">https://postgresqlco.nf</a></li><li><a href="https://why-upgrade.depesz.com/show?from=16.9&amp;to=17.5">https://why-upgrade.depesz.com/show?from=16.9&amp;to=17.5</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss logging in Postgres — mostly what to log, and why changing quite a few settings can pay off big time in the long term.<br> <br>Here are some links to things they mentioned:</p><ul><li>What to log <a href="https://www.postgresql.org/docs/current/runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-WHAT">https://www.postgresql.org/docs/current/runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-WHAT</a></li><li>Our episode about Auditing <a href="https://postgres.fm/episodes/auditing">https://postgres.fm/episodes/auditing</a> </li><li>Our episode on auto_explain <a href="https://postgres.fm/episodes/auto_explain">https://postgres.fm/episodes/auto_explain</a> </li></ul><p><br></p><p>Here are the parameters they mentioned changing:</p><ul><li>log_checkpoints</li><li>log_autovacuum_min_duration </li><li>log_statement</li><li>log_connections and log_disconnections</li><li>log_lock_waits</li><li>log_temp_files</li><li>log_min_duration_statement </li><li>log_min_duration_sample and log_statement_sample_rate </li></ul><p><br></p><p>And finally, some very useful tools they meant to mention but forgot to!   </p><ul><li><a href="https://pgpedia.info">https://pgpedia.info</a></li><li><a href="https://postgresqlco.nf">https://postgresqlco.nf</a></li><li><a href="https://why-upgrade.depesz.com/show?from=16.9&amp;to=17.5">https://why-upgrade.depesz.com/show?from=16.9&amp;to=17.5</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 06 Jun 2025 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/762aed9c/8384f96b.mp3" length="46655049" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2914</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss logging in Postgres — mostly what to log, and why changing quite a few settings can pay off big time in the long term.<br> <br>Here are some links to things they mentioned:</p><ul><li>What to log <a href="https://www.postgresql.org/docs/current/runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-WHAT">https://www.postgresql.org/docs/current/runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-WHAT</a></li><li>Our episode about Auditing <a href="https://postgres.fm/episodes/auditing">https://postgres.fm/episodes/auditing</a> </li><li>Our episode on auto_explain <a href="https://postgres.fm/episodes/auto_explain">https://postgres.fm/episodes/auto_explain</a> </li></ul><p><br></p><p>Here are the parameters they mentioned changing:</p><ul><li>log_checkpoints</li><li>log_autovacuum_min_duration </li><li>log_statement</li><li>log_connections and log_disconnections</li><li>log_lock_waits</li><li>log_temp_files</li><li>log_min_duration_statement </li><li>log_min_duration_sample and log_statement_sample_rate </li></ul><p><br></p><p>And finally, some very useful tools they meant to mention but forgot to!   </p><ul><li><a href="https://pgpedia.info">https://pgpedia.info</a></li><li><a href="https://postgresqlco.nf">https://postgresqlco.nf</a></li><li><a href="https://why-upgrade.depesz.com/show?from=16.9&amp;to=17.5">https://why-upgrade.depesz.com/show?from=16.9&amp;to=17.5</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/762aed9c/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>How to move off RDS</title>
      <itunes:episode>146</itunes:episode>
      <podcast:episode>146</podcast:episode>
      <itunes:title>How to move off RDS</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">f746708d-49cb-4564-8d4f-03e66e380879</guid>
      <link>https://share.transistor.fm/s/8c57a2db</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss moving off managed services — when and why you might want to, and some tips on how for very large databases.<br> <br>Here are some links to things they mentioned:</p><ul><li>Patroni <a href="https://github.com/patroni/patroni">https://github.com/patroni/patroni</a></li><li>pgBackRest <a href="https://github.com/pgbackrest/pgbackrest">https://github.com/pgbackrest/pgbackrest</a></li><li>WAL-G <a href="https://github.com/wal-g/wal-g">https://github.com/wal-g/wal-g</a></li><li>Hetzner Cloud <a href="https://www.hetzner.com/cloud">https://www.hetzner.com/cloud</a></li><li>Postgres Extensions Day <a href="https://pgext.day">https://pgext.day</a></li><li>pg_wait_sampling <a href="https://github.com/postgrespro/pg_wait_sampling">https://github.com/postgrespro/pg_wait_sampling</a></li><li>pg_stat_kcache <a href="https://github.com/powa-team/pg_stat_kcache">https://github.com/powa-team/pg_stat_kcache</a></li><li>auto_explain <a href="https://www.postgresql.org/docs/current/auto-explain.html">https://www.postgresql.org/docs/current/auto-explain.html</a></li><li>Fivetran <a href="https://www.fivetran.com">https://www.fivetran.com</a></li><li>pgcopydb <a href="https://github.com/dimitri/pgcopydb">https://github.com/dimitri/pgcopydb</a></li><li>Kafka <a href="https://kafka.apache.org">https://kafka.apache.org</a></li><li>Debezium <a href="https://debezium.io">https://debezium.io</a></li><li>max_slot_wal_keep_size <a href="https://www.postgresql.org/docs/current/runtime-config-replication.html#GUC-MAX-SLOT-WAL-KEEP-SIZE">https://www.postgresql.org/docs/current/runtime-config-replication.html#GUC-MAX-SLOT-WAL-KEEP-SIZE</a></li><li>log_statement DDL <a href="https://www.postgresql.org/docs/current/runtime-config-logging.html#GUC-LOG-STATEMENT">https://www.postgresql.org/docs/current/runtime-config-logging.html#GUC-LOG-STATEMENT</a></li><li>PgBouncer pause/resume <a href="https://www.pgbouncer.org/usage.html#pause-db">https://www.pgbouncer.org/usage.html#pause-db</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss moving off managed services — when and why you might want to, and some tips on how for very large databases.<br> <br>Here are some links to things they mentioned:</p><ul><li>Patroni <a href="https://github.com/patroni/patroni">https://github.com/patroni/patroni</a></li><li>pgBackRest <a href="https://github.com/pgbackrest/pgbackrest">https://github.com/pgbackrest/pgbackrest</a></li><li>WAL-G <a href="https://github.com/wal-g/wal-g">https://github.com/wal-g/wal-g</a></li><li>Hetzner Cloud <a href="https://www.hetzner.com/cloud">https://www.hetzner.com/cloud</a></li><li>Postgres Extensions Day <a href="https://pgext.day">https://pgext.day</a></li><li>pg_wait_sampling <a href="https://github.com/postgrespro/pg_wait_sampling">https://github.com/postgrespro/pg_wait_sampling</a></li><li>pg_stat_kcache <a href="https://github.com/powa-team/pg_stat_kcache">https://github.com/powa-team/pg_stat_kcache</a></li><li>auto_explain <a href="https://www.postgresql.org/docs/current/auto-explain.html">https://www.postgresql.org/docs/current/auto-explain.html</a></li><li>Fivetran <a href="https://www.fivetran.com">https://www.fivetran.com</a></li><li>pgcopydb <a href="https://github.com/dimitri/pgcopydb">https://github.com/dimitri/pgcopydb</a></li><li>Kafka <a href="https://kafka.apache.org">https://kafka.apache.org</a></li><li>Debezium <a href="https://debezium.io">https://debezium.io</a></li><li>max_slot_wal_keep_size <a href="https://www.postgresql.org/docs/current/runtime-config-replication.html#GUC-MAX-SLOT-WAL-KEEP-SIZE">https://www.postgresql.org/docs/current/runtime-config-replication.html#GUC-MAX-SLOT-WAL-KEEP-SIZE</a></li><li>log_statement DDL <a href="https://www.postgresql.org/docs/current/runtime-config-logging.html#GUC-LOG-STATEMENT">https://www.postgresql.org/docs/current/runtime-config-logging.html#GUC-LOG-STATEMENT</a></li><li>PgBouncer pause/resume <a href="https://www.pgbouncer.org/usage.html#pause-db">https://www.pgbouncer.org/usage.html#pause-db</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 30 May 2025 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/8c57a2db/de7afc16.mp3" length="45676204" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2853</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss moving off managed services — when and why you might want to, and some tips on how for very large databases.<br> <br>Here are some links to things they mentioned:</p><ul><li>Patroni <a href="https://github.com/patroni/patroni">https://github.com/patroni/patroni</a></li><li>pgBackRest <a href="https://github.com/pgbackrest/pgbackrest">https://github.com/pgbackrest/pgbackrest</a></li><li>WAL-G <a href="https://github.com/wal-g/wal-g">https://github.com/wal-g/wal-g</a></li><li>Hetzner Cloud <a href="https://www.hetzner.com/cloud">https://www.hetzner.com/cloud</a></li><li>Postgres Extensions Day <a href="https://pgext.day">https://pgext.day</a></li><li>pg_wait_sampling <a href="https://github.com/postgrespro/pg_wait_sampling">https://github.com/postgrespro/pg_wait_sampling</a></li><li>pg_stat_kcache <a href="https://github.com/powa-team/pg_stat_kcache">https://github.com/powa-team/pg_stat_kcache</a></li><li>auto_explain <a href="https://www.postgresql.org/docs/current/auto-explain.html">https://www.postgresql.org/docs/current/auto-explain.html</a></li><li>Fivetran <a href="https://www.fivetran.com">https://www.fivetran.com</a></li><li>pgcopydb <a href="https://github.com/dimitri/pgcopydb">https://github.com/dimitri/pgcopydb</a></li><li>Kafka <a href="https://kafka.apache.org">https://kafka.apache.org</a></li><li>Debezium <a href="https://debezium.io">https://debezium.io</a></li><li>max_slot_wal_keep_size <a href="https://www.postgresql.org/docs/current/runtime-config-replication.html#GUC-MAX-SLOT-WAL-KEEP-SIZE">https://www.postgresql.org/docs/current/runtime-config-replication.html#GUC-MAX-SLOT-WAL-KEEP-SIZE</a></li><li>log_statement DDL <a href="https://www.postgresql.org/docs/current/runtime-config-logging.html#GUC-LOG-STATEMENT">https://www.postgresql.org/docs/current/runtime-config-logging.html#GUC-LOG-STATEMENT</a></li><li>PgBouncer pause/resume <a href="https://www.pgbouncer.org/usage.html#pause-db">https://www.pgbouncer.org/usage.html#pause-db</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/8c57a2db/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Locks</title>
      <itunes:episode>145</itunes:episode>
      <podcast:episode>145</podcast:episode>
      <itunes:title>Locks</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">e1be0b3e-3b7b-420e-884b-bf19f966fa91</guid>
      <link>https://share.transistor.fm/s/33f2ada6</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss heavyweight locks in Postgres — how to think about them, why you can't avoid them, and some tips for minimising issues.<br> <br>Here are some links to things they mentioned:</p><ul><li>Locking (docs) <a href="https://www.postgresql.org/docs/current/explicit-locking.html">https://www.postgresql.org/docs/current/explicit-locking.html</a></li><li>Postgres rocks, except when it blocks (blog post by Marco Slot) <a href="https://www.citusdata.com/blog/2018/02/15/when-postgresql-blocks/">https://www.citusdata.com/blog/2018/02/15/when-postgresql-blocks/</a></li><li>Lock Conflicts (tool by Hussein Nasser) <a href="https://pglocks.org/">https://pglocks.org/</a></li><li>log_lock_waits (docs) <a href="https://www.postgresql.org/docs/current/runtime-config-logging.html#GUC-LOG-LOCK-WAITS">https://www.postgresql.org/docs/current/runtime-config-logging.html#GUC-LOG-LOCK-WAITS</a></li><li>How to analyze heavyweight lock trees (guide by Nikolay) <a href="https://gitlab.com/postgres-ai/postgresql-consulting/postgres-howtos/-/blob/main/0042_how_to_analyze_heavyweight_locks_part_2.md">https://gitlab.com/postgres-ai/postgresql-consulting/postgres-howtos/-/blob/main/0042_how_to_analyze_heavyweight_locks_part_2.md</a></li><li>Lock management (docs) <a href="https://www.postgresql.org/docs/current/runtime-config-locks.html">https://www.postgresql.org/docs/current/runtime-config-locks.html</a></li><li>Our episode on zero-downtime migrations <a href="https://postgres.fm/episodes/zero-downtime-migrations">https://postgres.fm/episodes/zero-downtime-migrations</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss heavyweight locks in Postgres — how to think about them, why you can't avoid them, and some tips for minimising issues.<br> <br>Here are some links to things they mentioned:</p><ul><li>Locking (docs) <a href="https://www.postgresql.org/docs/current/explicit-locking.html">https://www.postgresql.org/docs/current/explicit-locking.html</a></li><li>Postgres rocks, except when it blocks (blog post by Marco Slot) <a href="https://www.citusdata.com/blog/2018/02/15/when-postgresql-blocks/">https://www.citusdata.com/blog/2018/02/15/when-postgresql-blocks/</a></li><li>Lock Conflicts (tool by Hussein Nasser) <a href="https://pglocks.org/">https://pglocks.org/</a></li><li>log_lock_waits (docs) <a href="https://www.postgresql.org/docs/current/runtime-config-logging.html#GUC-LOG-LOCK-WAITS">https://www.postgresql.org/docs/current/runtime-config-logging.html#GUC-LOG-LOCK-WAITS</a></li><li>How to analyze heavyweight lock trees (guide by Nikolay) <a href="https://gitlab.com/postgres-ai/postgresql-consulting/postgres-howtos/-/blob/main/0042_how_to_analyze_heavyweight_locks_part_2.md">https://gitlab.com/postgres-ai/postgresql-consulting/postgres-howtos/-/blob/main/0042_how_to_analyze_heavyweight_locks_part_2.md</a></li><li>Lock management (docs) <a href="https://www.postgresql.org/docs/current/runtime-config-locks.html">https://www.postgresql.org/docs/current/runtime-config-locks.html</a></li><li>Our episode on zero-downtime migrations <a href="https://postgres.fm/episodes/zero-downtime-migrations">https://postgres.fm/episodes/zero-downtime-migrations</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 23 May 2025 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/33f2ada6/17804751.mp3" length="37365476" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2333</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss heavyweight locks in Postgres — how to think about them, why you can't avoid them, and some tips for minimising issues.<br> <br>Here are some links to things they mentioned:</p><ul><li>Locking (docs) <a href="https://www.postgresql.org/docs/current/explicit-locking.html">https://www.postgresql.org/docs/current/explicit-locking.html</a></li><li>Postgres rocks, except when it blocks (blog post by Marco Slot) <a href="https://www.citusdata.com/blog/2018/02/15/when-postgresql-blocks/">https://www.citusdata.com/blog/2018/02/15/when-postgresql-blocks/</a></li><li>Lock Conflicts (tool by Hussein Nasser) <a href="https://pglocks.org/">https://pglocks.org/</a></li><li>log_lock_waits (docs) <a href="https://www.postgresql.org/docs/current/runtime-config-logging.html#GUC-LOG-LOCK-WAITS">https://www.postgresql.org/docs/current/runtime-config-logging.html#GUC-LOG-LOCK-WAITS</a></li><li>How to analyze heavyweight lock trees (guide by Nikolay) <a href="https://gitlab.com/postgres-ai/postgresql-consulting/postgres-howtos/-/blob/main/0042_how_to_analyze_heavyweight_locks_part_2.md">https://gitlab.com/postgres-ai/postgresql-consulting/postgres-howtos/-/blob/main/0042_how_to_analyze_heavyweight_locks_part_2.md</a></li><li>Lock management (docs) <a href="https://www.postgresql.org/docs/current/runtime-config-locks.html">https://www.postgresql.org/docs/current/runtime-config-locks.html</a></li><li>Our episode on zero-downtime migrations <a href="https://postgres.fm/episodes/zero-downtime-migrations">https://postgres.fm/episodes/zero-downtime-migrations</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/33f2ada6/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Top ten dangerous issues</title>
      <itunes:episode>144</itunes:episode>
      <podcast:episode>144</podcast:episode>
      <itunes:title>Top ten dangerous issues</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">371a1095-2646-4cd7-90b6-f8c9752bf2a1</guid>
      <link>https://share.transistor.fm/s/9aa0b37d</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss ten dangerous Postgres related issues — ones that might be painful enough to get onto the CTO and even CEOs desk, and then what you can do proactively.<br> <br>The ten issues discussed are:</p><ol><li>Heavy lock contention</li><li>Bloat control and index maintenance  </li><li>Lightweight lock contention</li><li>Transaction ID wraparound</li><li>4-byte integer PKs hitting the limit</li><li>Replication limits</li><li>Hard limits</li><li>Data loss</li><li>Poor HA choice (split brain)</li><li>Corruption of various kinds</li></ol><p><br></p><p>Some previous episodes they mentioned that cover the issues in more detail: </p><ul><li>PgDog <a href="https://postgres.fm/episodes/pgdog">https://postgres.fm/episodes/pgdog</a></li><li>Performance cliffs <a href="https://postgres.fm/episodes/performance-cliffs">https://postgres.fm/episodes/performance-cliffs</a></li><li>Zero-downtime migrations <a href="https://postgres.fm/episodes/zero-downtime-migrations">https://postgres.fm/episodes/zero-downtime-migrations</a> </li><li>Queues in Postgres <a href="https://postgres.fm/episodes/queues-in-postgres">https://postgres.fm/episodes/queues-in-postgres</a></li><li>Bloat <a href="https://postgres.fm/episodes/bloat">https://postgres.fm/episodes/bloat</a></li><li>Index maintenance <a href="https://postgres.fm/episodes/index-maintenance">https://postgres.fm/episodes/index-maintenance</a></li><li>Subtransactions <a href="https://postgres.fm/episodes/subtransactions">https://postgres.fm/episodes/subtransactions</a></li><li>Four million TPS <a href="https://postgres.fm/episodes/four-million-tps">https://postgres.fm/episodes/four-million-tps</a></li><li>Transaction ID wraparound <a href="https://postgres.fm/episodes/transaction-id-wraparound">https://postgres.fm/episodes/transaction-id-wraparound</a></li><li>pg_squeeze <a href="https://postgres.fm/episodes/pg_squeeze">https://postgres.fm/episodes/pg_squeeze</a> </li><li>synchronous_commit <a href="https://postgres.fm/episodes/synchronous_commit">https://postgres.fm/episodes/synchronous_commit</a></li><li>Managed service support <a href="https://postgres.fm/episodes/managed-service-support">https://postgres.fm/episodes/managed-service-support</a></li></ul><p> </p><p>And finally, some other things they mentioned: </p><ul><li>A great recent SQL Server-related podcast episode on tuning techniques <a href="https://kendralittle.com/2024/05/20/erik-darling-and-kendra-little-rate-sql-server-performance-tuning-techniques/">https://kendralittle.com/2024/05/20/erik-darling-and-kendra-little-rate-sql-server-performance-tuning-techniques/</a></li><li>Postgres Indexes, Partitioning and LWLock:LockManager Scalability (blog post by Jeremy Schneider) <a href="https://ardentperf.com/2024/03/03/postgres-indexes-partitioning-and-lwlocklockmanager-scalability/">https://ardentperf.com/2024/03/03/postgres-indexes-partitioning-and-lwlocklockmanager-scalability/</a></li><li>Do you vacuum everyday? (talk by Hannu Krosing) <a href="https://www.youtube.com/watch?v=JcRi8Z7rkPg">https://www.youtube.com/watch?v=JcRi8Z7rkPg</a></li><li>pg_stat_wal <a href="https://pgpedia.info/p/pg_stat_wal.html">https://pgpedia.info/p/pg_stat_wal.html</a></li><li>The benefit of lz4 and zstd for Postgres WAL compression (Small Datum blog, Mark Callaghan) <a href="https://smalldatum.blogspot.com/2022/05/the-benefit-of-lz4-and-zstd-for.html">https://smalldatum.blogspot.com/2022/05/the-benefit-of-lz4-and-zstd-for.html</a></li><li>Split-brain in case of network partition (CloudNativePG issue/discussion) <a href="https://github.com/cloudnative-pg/cloudnative-pg/discussions/7462">https://github.com/cloudnative-pg/cloudnative-pg/discussions/7462</a><br> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss ten dangerous Postgres related issues — ones that might be painful enough to get onto the CTO and even CEOs desk, and then what you can do proactively.<br> <br>The ten issues discussed are:</p><ol><li>Heavy lock contention</li><li>Bloat control and index maintenance  </li><li>Lightweight lock contention</li><li>Transaction ID wraparound</li><li>4-byte integer PKs hitting the limit</li><li>Replication limits</li><li>Hard limits</li><li>Data loss</li><li>Poor HA choice (split brain)</li><li>Corruption of various kinds</li></ol><p><br></p><p>Some previous episodes they mentioned that cover the issues in more detail: </p><ul><li>PgDog <a href="https://postgres.fm/episodes/pgdog">https://postgres.fm/episodes/pgdog</a></li><li>Performance cliffs <a href="https://postgres.fm/episodes/performance-cliffs">https://postgres.fm/episodes/performance-cliffs</a></li><li>Zero-downtime migrations <a href="https://postgres.fm/episodes/zero-downtime-migrations">https://postgres.fm/episodes/zero-downtime-migrations</a> </li><li>Queues in Postgres <a href="https://postgres.fm/episodes/queues-in-postgres">https://postgres.fm/episodes/queues-in-postgres</a></li><li>Bloat <a href="https://postgres.fm/episodes/bloat">https://postgres.fm/episodes/bloat</a></li><li>Index maintenance <a href="https://postgres.fm/episodes/index-maintenance">https://postgres.fm/episodes/index-maintenance</a></li><li>Subtransactions <a href="https://postgres.fm/episodes/subtransactions">https://postgres.fm/episodes/subtransactions</a></li><li>Four million TPS <a href="https://postgres.fm/episodes/four-million-tps">https://postgres.fm/episodes/four-million-tps</a></li><li>Transaction ID wraparound <a href="https://postgres.fm/episodes/transaction-id-wraparound">https://postgres.fm/episodes/transaction-id-wraparound</a></li><li>pg_squeeze <a href="https://postgres.fm/episodes/pg_squeeze">https://postgres.fm/episodes/pg_squeeze</a> </li><li>synchronous_commit <a href="https://postgres.fm/episodes/synchronous_commit">https://postgres.fm/episodes/synchronous_commit</a></li><li>Managed service support <a href="https://postgres.fm/episodes/managed-service-support">https://postgres.fm/episodes/managed-service-support</a></li></ul><p> </p><p>And finally, some other things they mentioned: </p><ul><li>A great recent SQL Server-related podcast episode on tuning techniques <a href="https://kendralittle.com/2024/05/20/erik-darling-and-kendra-little-rate-sql-server-performance-tuning-techniques/">https://kendralittle.com/2024/05/20/erik-darling-and-kendra-little-rate-sql-server-performance-tuning-techniques/</a></li><li>Postgres Indexes, Partitioning and LWLock:LockManager Scalability (blog post by Jeremy Schneider) <a href="https://ardentperf.com/2024/03/03/postgres-indexes-partitioning-and-lwlocklockmanager-scalability/">https://ardentperf.com/2024/03/03/postgres-indexes-partitioning-and-lwlocklockmanager-scalability/</a></li><li>Do you vacuum everyday? (talk by Hannu Krosing) <a href="https://www.youtube.com/watch?v=JcRi8Z7rkPg">https://www.youtube.com/watch?v=JcRi8Z7rkPg</a></li><li>pg_stat_wal <a href="https://pgpedia.info/p/pg_stat_wal.html">https://pgpedia.info/p/pg_stat_wal.html</a></li><li>The benefit of lz4 and zstd for Postgres WAL compression (Small Datum blog, Mark Callaghan) <a href="https://smalldatum.blogspot.com/2022/05/the-benefit-of-lz4-and-zstd-for.html">https://smalldatum.blogspot.com/2022/05/the-benefit-of-lz4-and-zstd-for.html</a></li><li>Split-brain in case of network partition (CloudNativePG issue/discussion) <a href="https://github.com/cloudnative-pg/cloudnative-pg/discussions/7462">https://github.com/cloudnative-pg/cloudnative-pg/discussions/7462</a><br> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 09 May 2025 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/9aa0b37d/51b4e326.mp3" length="44639675" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2788</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss ten dangerous Postgres related issues — ones that might be painful enough to get onto the CTO and even CEOs desk, and then what you can do proactively.<br> <br>The ten issues discussed are:</p><ol><li>Heavy lock contention</li><li>Bloat control and index maintenance  </li><li>Lightweight lock contention</li><li>Transaction ID wraparound</li><li>4-byte integer PKs hitting the limit</li><li>Replication limits</li><li>Hard limits</li><li>Data loss</li><li>Poor HA choice (split brain)</li><li>Corruption of various kinds</li></ol><p><br></p><p>Some previous episodes they mentioned that cover the issues in more detail: </p><ul><li>PgDog <a href="https://postgres.fm/episodes/pgdog">https://postgres.fm/episodes/pgdog</a></li><li>Performance cliffs <a href="https://postgres.fm/episodes/performance-cliffs">https://postgres.fm/episodes/performance-cliffs</a></li><li>Zero-downtime migrations <a href="https://postgres.fm/episodes/zero-downtime-migrations">https://postgres.fm/episodes/zero-downtime-migrations</a> </li><li>Queues in Postgres <a href="https://postgres.fm/episodes/queues-in-postgres">https://postgres.fm/episodes/queues-in-postgres</a></li><li>Bloat <a href="https://postgres.fm/episodes/bloat">https://postgres.fm/episodes/bloat</a></li><li>Index maintenance <a href="https://postgres.fm/episodes/index-maintenance">https://postgres.fm/episodes/index-maintenance</a></li><li>Subtransactions <a href="https://postgres.fm/episodes/subtransactions">https://postgres.fm/episodes/subtransactions</a></li><li>Four million TPS <a href="https://postgres.fm/episodes/four-million-tps">https://postgres.fm/episodes/four-million-tps</a></li><li>Transaction ID wraparound <a href="https://postgres.fm/episodes/transaction-id-wraparound">https://postgres.fm/episodes/transaction-id-wraparound</a></li><li>pg_squeeze <a href="https://postgres.fm/episodes/pg_squeeze">https://postgres.fm/episodes/pg_squeeze</a> </li><li>synchronous_commit <a href="https://postgres.fm/episodes/synchronous_commit">https://postgres.fm/episodes/synchronous_commit</a></li><li>Managed service support <a href="https://postgres.fm/episodes/managed-service-support">https://postgres.fm/episodes/managed-service-support</a></li></ul><p> </p><p>And finally, some other things they mentioned: </p><ul><li>A great recent SQL Server-related podcast episode on tuning techniques <a href="https://kendralittle.com/2024/05/20/erik-darling-and-kendra-little-rate-sql-server-performance-tuning-techniques/">https://kendralittle.com/2024/05/20/erik-darling-and-kendra-little-rate-sql-server-performance-tuning-techniques/</a></li><li>Postgres Indexes, Partitioning and LWLock:LockManager Scalability (blog post by Jeremy Schneider) <a href="https://ardentperf.com/2024/03/03/postgres-indexes-partitioning-and-lwlocklockmanager-scalability/">https://ardentperf.com/2024/03/03/postgres-indexes-partitioning-and-lwlocklockmanager-scalability/</a></li><li>Do you vacuum everyday? (talk by Hannu Krosing) <a href="https://www.youtube.com/watch?v=JcRi8Z7rkPg">https://www.youtube.com/watch?v=JcRi8Z7rkPg</a></li><li>pg_stat_wal <a href="https://pgpedia.info/p/pg_stat_wal.html">https://pgpedia.info/p/pg_stat_wal.html</a></li><li>The benefit of lz4 and zstd for Postgres WAL compression (Small Datum blog, Mark Callaghan) <a href="https://smalldatum.blogspot.com/2022/05/the-benefit-of-lz4-and-zstd-for.html">https://smalldatum.blogspot.com/2022/05/the-benefit-of-lz4-and-zstd-for.html</a></li><li>Split-brain in case of network partition (CloudNativePG issue/discussion) <a href="https://github.com/cloudnative-pg/cloudnative-pg/discussions/7462">https://github.com/cloudnative-pg/cloudnative-pg/discussions/7462</a><br> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/9aa0b37d/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>synchronous_commit</title>
      <itunes:episode>143</itunes:episode>
      <podcast:episode>143</podcast:episode>
      <itunes:title>synchronous_commit</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">8c5b89c5-9bee-40ac-a891-84ff8c5f96fa</guid>
      <link>https://share.transistor.fm/s/684a66b1</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss synchronous_commit — what it means on single node setups, for synchronous replication setups, and the pros and cons of the different options for each.<br> <br>Here are some links to things they mentioned:</p><ul><li>synchronous_commit <a href="https://www.postgresql.org/docs/current/runtime-config-wal.html#GUC-SYNCHRONOUS-COMMIT">https://www.postgresql.org/docs/current/runtime-config-wal.html#GUC-SYNCHRONOUS-COMMIT</a></li><li>synchronous_commit history on pgPedia <a href="https://pgpedia.info/s/synchronous_commit.html">https://pgpedia.info/s/synchronous_commit.html</a></li><li>Patroni’s maximum_lag_on_failover setting <a href="https://patroni.readthedocs.io/en/master/replication_modes.html#asynchronous-mode-durability">https://patroni.readthedocs.io/en/master/replication_modes.html#asynchronous-mode-durability</a></li><li>wal_writer_delay <a href="https://www.postgresql.org/docs/current/runtime-config-wal.html#GUC-WAL-WRITER-DELAY">https://www.postgresql.org/docs/current/runtime-config-wal.html#GUC-WAL-WRITER-DELAY</a></li><li>Selective asynchronous commits in PostgreSQL - balancing durability and performance (blog post by Shayon Mukherjee) <a href="https://www.shayon.dev/post/2025/75/selective-asynchronous-commits-in-postgresql-balancing-durability-and-performance/">https://www.shayon.dev/post/2025/75/selective-asynchronous-commits-in-postgresql-balancing-durability-and-performance/</a></li><li>Asynchronous Commit <a href="https://www.postgresql.org/docs/current/wal-async-commit.html">https://www.postgresql.org/docs/current/wal-async-commit.html</a></li><li>synchronous_standby_names <a href="https://www.postgresql.org/docs/current/runtime-config-replication.html#GUC-SYNCHRONOUS-STANDBY-NAMES">https://www.postgresql.org/docs/current/runtime-config-replication.html#GUC-SYNCHRONOUS-STANDBY-NAMES</a></li><li>Jepson article about Amazon RDS multi-AZ clusters (by Kyle Kingsbury, aka "Aphyr”) <a href="https://jepsen.io/analyses/amazon-rds-for-postgresql-17.4">https://jepsen.io/analyses/amazon-rds-for-postgresql-17.4</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss synchronous_commit — what it means on single node setups, for synchronous replication setups, and the pros and cons of the different options for each.<br> <br>Here are some links to things they mentioned:</p><ul><li>synchronous_commit <a href="https://www.postgresql.org/docs/current/runtime-config-wal.html#GUC-SYNCHRONOUS-COMMIT">https://www.postgresql.org/docs/current/runtime-config-wal.html#GUC-SYNCHRONOUS-COMMIT</a></li><li>synchronous_commit history on pgPedia <a href="https://pgpedia.info/s/synchronous_commit.html">https://pgpedia.info/s/synchronous_commit.html</a></li><li>Patroni’s maximum_lag_on_failover setting <a href="https://patroni.readthedocs.io/en/master/replication_modes.html#asynchronous-mode-durability">https://patroni.readthedocs.io/en/master/replication_modes.html#asynchronous-mode-durability</a></li><li>wal_writer_delay <a href="https://www.postgresql.org/docs/current/runtime-config-wal.html#GUC-WAL-WRITER-DELAY">https://www.postgresql.org/docs/current/runtime-config-wal.html#GUC-WAL-WRITER-DELAY</a></li><li>Selective asynchronous commits in PostgreSQL - balancing durability and performance (blog post by Shayon Mukherjee) <a href="https://www.shayon.dev/post/2025/75/selective-asynchronous-commits-in-postgresql-balancing-durability-and-performance/">https://www.shayon.dev/post/2025/75/selective-asynchronous-commits-in-postgresql-balancing-durability-and-performance/</a></li><li>Asynchronous Commit <a href="https://www.postgresql.org/docs/current/wal-async-commit.html">https://www.postgresql.org/docs/current/wal-async-commit.html</a></li><li>synchronous_standby_names <a href="https://www.postgresql.org/docs/current/runtime-config-replication.html#GUC-SYNCHRONOUS-STANDBY-NAMES">https://www.postgresql.org/docs/current/runtime-config-replication.html#GUC-SYNCHRONOUS-STANDBY-NAMES</a></li><li>Jepson article about Amazon RDS multi-AZ clusters (by Kyle Kingsbury, aka "Aphyr”) <a href="https://jepsen.io/analyses/amazon-rds-for-postgresql-17.4">https://jepsen.io/analyses/amazon-rds-for-postgresql-17.4</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 02 May 2025 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/684a66b1/f999f190.mp3" length="48886129" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>3053</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss synchronous_commit — what it means on single node setups, for synchronous replication setups, and the pros and cons of the different options for each.<br> <br>Here are some links to things they mentioned:</p><ul><li>synchronous_commit <a href="https://www.postgresql.org/docs/current/runtime-config-wal.html#GUC-SYNCHRONOUS-COMMIT">https://www.postgresql.org/docs/current/runtime-config-wal.html#GUC-SYNCHRONOUS-COMMIT</a></li><li>synchronous_commit history on pgPedia <a href="https://pgpedia.info/s/synchronous_commit.html">https://pgpedia.info/s/synchronous_commit.html</a></li><li>Patroni’s maximum_lag_on_failover setting <a href="https://patroni.readthedocs.io/en/master/replication_modes.html#asynchronous-mode-durability">https://patroni.readthedocs.io/en/master/replication_modes.html#asynchronous-mode-durability</a></li><li>wal_writer_delay <a href="https://www.postgresql.org/docs/current/runtime-config-wal.html#GUC-WAL-WRITER-DELAY">https://www.postgresql.org/docs/current/runtime-config-wal.html#GUC-WAL-WRITER-DELAY</a></li><li>Selective asynchronous commits in PostgreSQL - balancing durability and performance (blog post by Shayon Mukherjee) <a href="https://www.shayon.dev/post/2025/75/selective-asynchronous-commits-in-postgresql-balancing-durability-and-performance/">https://www.shayon.dev/post/2025/75/selective-asynchronous-commits-in-postgresql-balancing-durability-and-performance/</a></li><li>Asynchronous Commit <a href="https://www.postgresql.org/docs/current/wal-async-commit.html">https://www.postgresql.org/docs/current/wal-async-commit.html</a></li><li>synchronous_standby_names <a href="https://www.postgresql.org/docs/current/runtime-config-replication.html#GUC-SYNCHRONOUS-STANDBY-NAMES">https://www.postgresql.org/docs/current/runtime-config-replication.html#GUC-SYNCHRONOUS-STANDBY-NAMES</a></li><li>Jepson article about Amazon RDS multi-AZ clusters (by Kyle Kingsbury, aka "Aphyr”) <a href="https://jepsen.io/analyses/amazon-rds-for-postgresql-17.4">https://jepsen.io/analyses/amazon-rds-for-postgresql-17.4</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/684a66b1/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Managed service support</title>
      <itunes:episode>142</itunes:episode>
      <podcast:episode>142</podcast:episode>
      <itunes:title>Managed service support</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">166a1ed4-97a1-43c3-a8d6-b3d94c704914</guid>
      <link>https://share.transistor.fm/s/d29753ac</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss managed service support — some tips on how to handle cases that aren't going well, tips for requesting features, whether to factor in support when choosing service provider, and whether to use one at all.<br> <br>Here are some links to things they mentioned:</p><ul><li>YugabyteDB’s new upgrade framework <a href="https://www.yugabyte.com/blog/postgresql-upgrade-framework">https://www.yugabyte.com/blog/postgresql-upgrade-framework</a></li><li>Episode on Blue-green deployments <a href="https://postgres.fm/episodes/blue-green-deployments">https://postgres.fm/episodes/blue-green-deployments</a></li><li>pg_createsubscriber <a href="https://www.postgresql.org/docs/current/app-pgcreatesubscriber.html">https://www.postgresql.org/docs/current/app-pgcreatesubscriber.html</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss managed service support — some tips on how to handle cases that aren't going well, tips for requesting features, whether to factor in support when choosing service provider, and whether to use one at all.<br> <br>Here are some links to things they mentioned:</p><ul><li>YugabyteDB’s new upgrade framework <a href="https://www.yugabyte.com/blog/postgresql-upgrade-framework">https://www.yugabyte.com/blog/postgresql-upgrade-framework</a></li><li>Episode on Blue-green deployments <a href="https://postgres.fm/episodes/blue-green-deployments">https://postgres.fm/episodes/blue-green-deployments</a></li><li>pg_createsubscriber <a href="https://www.postgresql.org/docs/current/app-pgcreatesubscriber.html">https://www.postgresql.org/docs/current/app-pgcreatesubscriber.html</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 25 Apr 2025 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/d29753ac/5d2f1468.mp3" length="34232908" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2137</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss managed service support — some tips on how to handle cases that aren't going well, tips for requesting features, whether to factor in support when choosing service provider, and whether to use one at all.<br> <br>Here are some links to things they mentioned:</p><ul><li>YugabyteDB’s new upgrade framework <a href="https://www.yugabyte.com/blog/postgresql-upgrade-framework">https://www.yugabyte.com/blog/postgresql-upgrade-framework</a></li><li>Episode on Blue-green deployments <a href="https://postgres.fm/episodes/blue-green-deployments">https://postgres.fm/episodes/blue-green-deployments</a></li><li>pg_createsubscriber <a href="https://www.postgresql.org/docs/current/app-pgcreatesubscriber.html">https://www.postgresql.org/docs/current/app-pgcreatesubscriber.html</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/d29753ac/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Time-series considerations</title>
      <itunes:episode>141</itunes:episode>
      <podcast:episode>141</podcast:episode>
      <itunes:title>Time-series considerations</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">5172cb7f-54a9-44e5-9540-10567cc4d9bb</guid>
      <link>https://share.transistor.fm/s/fd53fa0e</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss time-series considerations for Postgres — including when it matters, some tips for avoiding issues, performance considerations, and more.<br> <br>Here are some links to things they mentioned:</p><ul><li>Time series data <a href="https://en.wikipedia.org/wiki/Time_series">https://en.wikipedia.org/wiki/Time_series</a></li><li>TimescaleDB <a href="https://github.com/timescale/timescaledb">https://github.com/timescale/timescaledb</a></li><li>13 Tips to Improve PostgreSQL Insert Performance <a href="https://www.timescale.com/blog/13-tips-to-improve-postgresql-insert-performance">https://www.timescale.com/blog/13-tips-to-improve-postgresql-insert-performance</a></li><li>Why we're leaving the cloud (37 Signals / Basecamp / David Heinemeier Hansson) <a href="https://world.hey.com/dhh/why-we-re-leaving-the-cloud-654b47e0">https://world.hey.com/dhh/why-we-re-leaving-the-cloud-654b47e0</a></li><li>UUID v7 and partitioning (“how to” by Nikolay) <a href="https://gitlab.com/postgres-ai/postgresql-consulting/postgres-howtos/-/blob/main/0065_uuid_v7_and_partitioning_timescaledb.md">https://gitlab.com/postgres-ai/postgresql-consulting/postgres-howtos/-/blob/main/0065_uuid_v7_and_partitioning_timescaledb.md</a></li><li>pg_cron <a href="https://github.com/citusdata/pg_cron">https://github.com/citusdata/pg_cron</a></li><li>pg_partman <a href="https://github.com/pgpartman/pg_partman">https://github.com/pgpartman/pg_partman</a></li><li>Our episode on BRIN indexes <a href="https://postgres.fm/episodes/brin-indexes">https://postgres.fm/episodes/brin-indexes</a></li><li>Tutorial from Citus (Andres Freund and Marco Slot) including rollups <a href="https://www.youtube.com/watch?v=0ybz6zuXCPo">https://www.youtube.com/watch?v=0ybz6zuXCPo</a></li><li>IoT with PostgreSQL (talk by Chris Ellis) <a href="https://youtube.com/watch?v=KnUoDBGv4aw&amp;t=58">https://youtube.com/watch?v=KnUoDBGv4aw&amp;t=58</a></li><li>pg_timeseries <a href="https://github.com/tembo-io/pg_timeseries">https://github.com/tembo-io/pg_timeseries</a></li><li>DuckDB <a href="https://duckdb.org">https://duckdb.org</a></li></ul><p><br>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss time-series considerations for Postgres — including when it matters, some tips for avoiding issues, performance considerations, and more.<br> <br>Here are some links to things they mentioned:</p><ul><li>Time series data <a href="https://en.wikipedia.org/wiki/Time_series">https://en.wikipedia.org/wiki/Time_series</a></li><li>TimescaleDB <a href="https://github.com/timescale/timescaledb">https://github.com/timescale/timescaledb</a></li><li>13 Tips to Improve PostgreSQL Insert Performance <a href="https://www.timescale.com/blog/13-tips-to-improve-postgresql-insert-performance">https://www.timescale.com/blog/13-tips-to-improve-postgresql-insert-performance</a></li><li>Why we're leaving the cloud (37 Signals / Basecamp / David Heinemeier Hansson) <a href="https://world.hey.com/dhh/why-we-re-leaving-the-cloud-654b47e0">https://world.hey.com/dhh/why-we-re-leaving-the-cloud-654b47e0</a></li><li>UUID v7 and partitioning (“how to” by Nikolay) <a href="https://gitlab.com/postgres-ai/postgresql-consulting/postgres-howtos/-/blob/main/0065_uuid_v7_and_partitioning_timescaledb.md">https://gitlab.com/postgres-ai/postgresql-consulting/postgres-howtos/-/blob/main/0065_uuid_v7_and_partitioning_timescaledb.md</a></li><li>pg_cron <a href="https://github.com/citusdata/pg_cron">https://github.com/citusdata/pg_cron</a></li><li>pg_partman <a href="https://github.com/pgpartman/pg_partman">https://github.com/pgpartman/pg_partman</a></li><li>Our episode on BRIN indexes <a href="https://postgres.fm/episodes/brin-indexes">https://postgres.fm/episodes/brin-indexes</a></li><li>Tutorial from Citus (Andres Freund and Marco Slot) including rollups <a href="https://www.youtube.com/watch?v=0ybz6zuXCPo">https://www.youtube.com/watch?v=0ybz6zuXCPo</a></li><li>IoT with PostgreSQL (talk by Chris Ellis) <a href="https://youtube.com/watch?v=KnUoDBGv4aw&amp;t=58">https://youtube.com/watch?v=KnUoDBGv4aw&amp;t=58</a></li><li>pg_timeseries <a href="https://github.com/tembo-io/pg_timeseries">https://github.com/tembo-io/pg_timeseries</a></li><li>DuckDB <a href="https://duckdb.org">https://duckdb.org</a></li></ul><p><br>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 11 Apr 2025 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/fd53fa0e/21db6b02.mp3" length="41030602" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2562</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss time-series considerations for Postgres — including when it matters, some tips for avoiding issues, performance considerations, and more.<br> <br>Here are some links to things they mentioned:</p><ul><li>Time series data <a href="https://en.wikipedia.org/wiki/Time_series">https://en.wikipedia.org/wiki/Time_series</a></li><li>TimescaleDB <a href="https://github.com/timescale/timescaledb">https://github.com/timescale/timescaledb</a></li><li>13 Tips to Improve PostgreSQL Insert Performance <a href="https://www.timescale.com/blog/13-tips-to-improve-postgresql-insert-performance">https://www.timescale.com/blog/13-tips-to-improve-postgresql-insert-performance</a></li><li>Why we're leaving the cloud (37 Signals / Basecamp / David Heinemeier Hansson) <a href="https://world.hey.com/dhh/why-we-re-leaving-the-cloud-654b47e0">https://world.hey.com/dhh/why-we-re-leaving-the-cloud-654b47e0</a></li><li>UUID v7 and partitioning (“how to” by Nikolay) <a href="https://gitlab.com/postgres-ai/postgresql-consulting/postgres-howtos/-/blob/main/0065_uuid_v7_and_partitioning_timescaledb.md">https://gitlab.com/postgres-ai/postgresql-consulting/postgres-howtos/-/blob/main/0065_uuid_v7_and_partitioning_timescaledb.md</a></li><li>pg_cron <a href="https://github.com/citusdata/pg_cron">https://github.com/citusdata/pg_cron</a></li><li>pg_partman <a href="https://github.com/pgpartman/pg_partman">https://github.com/pgpartman/pg_partman</a></li><li>Our episode on BRIN indexes <a href="https://postgres.fm/episodes/brin-indexes">https://postgres.fm/episodes/brin-indexes</a></li><li>Tutorial from Citus (Andres Freund and Marco Slot) including rollups <a href="https://www.youtube.com/watch?v=0ybz6zuXCPo">https://www.youtube.com/watch?v=0ybz6zuXCPo</a></li><li>IoT with PostgreSQL (talk by Chris Ellis) <a href="https://youtube.com/watch?v=KnUoDBGv4aw&amp;t=58">https://youtube.com/watch?v=KnUoDBGv4aw&amp;t=58</a></li><li>pg_timeseries <a href="https://github.com/tembo-io/pg_timeseries">https://github.com/tembo-io/pg_timeseries</a></li><li>DuckDB <a href="https://duckdb.org">https://duckdb.org</a></li></ul><p><br>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/fd53fa0e/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Performance cliffs</title>
      <itunes:episode>140</itunes:episode>
      <podcast:episode>140</podcast:episode>
      <itunes:title>Performance cliffs</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">e9f517f9-b128-4ad5-a880-31d7feb3d1e3</guid>
      <link>https://share.transistor.fm/s/14e7abc7</link>
      <description>
        <![CDATA[<p>Nikolay and Michael are joined by Tomas Vondra to discuss single query performance cliffs — what they are, why they happen, some things we can do to make them less likely or less severe, and some potential improvements to Postgres that could help.<br> <br>Here are some links to things they mentioned:</p><ul><li>Tomas Vondra <a href="https://postgres.fm/people/tomas-vondra">https://postgres.fm/people/tomas-vondra</a></li><li>Where do performance cliffs come from? (Talk by Tomas) <a href="https://www.youtube.com/watch?v=UzdAelm-QSY">https://www.youtube.com/watch?v=UzdAelm-QSY</a></li><li>Where do performance cliffs come from? (Slides) <a href="https://vondra.me/pdf/performance-cliffs-posette-2024.pdf">https://vondra.me/pdf/performance-cliffs-posette-2024.pdf</a></li><li>Increase the number of fast-path lock slots (committed for Postgres 18) <a href="https://www.postgresql.org/message-id/flat/E1ss4gX-000IvX-63%40gemulon.postgresql.org">https://www.postgresql.org/message-id/flat/E1ss4gX-000IvX-63%40gemulon.postgresql.org</a> </li><li>San Francisco Bay Area Postgres meet-up with Tomas on 8th April (online) <a href="https://www.meetup.com/postgresql-1/events/306484787">https://www.meetup.com/postgresql-1/events/306484787</a></li><li>Our episode on Extended Statistics <a href="https://postgres.fm/episodes/extended-statistics">https://postgres.fm/episodes/extended-statistics</a></li><li>Logging plan of the currently running query (proposed patch by Rafael Thofehrn Castro and Atsushi Torikoshi) <a href="https://commitfest.postgresql.org/patch/5330">https://commitfest.postgresql.org/patch/5330</a></li><li>Our episode with Peter Geoghegan on Skip Scan <a href="https://postgres.fm/episodes/skip-scan">https://postgres.fm/episodes/skip-scan</a></li><li>Index Prefetching patch that Tomas is collaborating with Peter Geoghegan on <a href="https://commitfest.postgresql.org/patch/4351">https://commitfest.postgresql.org/patch/4351</a></li><li>A generalized join algorithm, G-Join (paper by Goetz Graefe) <a href="https://dl.gi.de/server/api/core/bitstreams/ce8e3fab-0bac-45fc-a6d4-66edaa52d574/content">https://dl.gi.de/server/api/core/bitstreams/ce8e3fab-0bac-45fc-a6d4-66edaa52d574/content</a> </li><li>Smooth Scan: Robust Access Path Selection without Cardinality Estimation (paper by R. Borovica, S. Idreos, A. Ailamaki, M. Zukowski, C. Fraser) <a href="https://stratos.seas.harvard.edu/sites/g/files/omnuum4611/files/stratos/files/smoothscan.pdf">https://stratos.seas.harvard.edu/sites/g/files/omnuum4611/files/stratos/files/smoothscan.pdf</a></li><li>Just-in-Time Compilation (JIT) <a href="https://www.postgresql.org/docs/current/jit.html">https://www.postgresql.org/docs/current/jit.html</a></li><li>Notes from a pgconf.dev unconference session in 2024 about JIT (discusses issues) <a href="https://wiki.postgresql.org/wiki/PGConf.dev_2024_Developer_Unconference#JIT_compilation">https://wiki.postgresql.org/wiki/PGConf.dev_2024_Developer_Unconference#JIT_compilation</a></li><li>Implementing an alternative JIT provider for PostgreSQL (by Xing Guo) <a href="https://higuoxing.com/archives/implementing-jit-provider-for-pgsql">https://higuoxing.com/archives/implementing-jit-provider-for-pgsql</a></li><li>Tomas’ Office Hours <a href="https://vondra.me/posts/office-hours-experiment">https://vondra.me/posts/office-hours-experiment</a></li></ul><p> </p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael are joined by Tomas Vondra to discuss single query performance cliffs — what they are, why they happen, some things we can do to make them less likely or less severe, and some potential improvements to Postgres that could help.<br> <br>Here are some links to things they mentioned:</p><ul><li>Tomas Vondra <a href="https://postgres.fm/people/tomas-vondra">https://postgres.fm/people/tomas-vondra</a></li><li>Where do performance cliffs come from? (Talk by Tomas) <a href="https://www.youtube.com/watch?v=UzdAelm-QSY">https://www.youtube.com/watch?v=UzdAelm-QSY</a></li><li>Where do performance cliffs come from? (Slides) <a href="https://vondra.me/pdf/performance-cliffs-posette-2024.pdf">https://vondra.me/pdf/performance-cliffs-posette-2024.pdf</a></li><li>Increase the number of fast-path lock slots (committed for Postgres 18) <a href="https://www.postgresql.org/message-id/flat/E1ss4gX-000IvX-63%40gemulon.postgresql.org">https://www.postgresql.org/message-id/flat/E1ss4gX-000IvX-63%40gemulon.postgresql.org</a> </li><li>San Francisco Bay Area Postgres meet-up with Tomas on 8th April (online) <a href="https://www.meetup.com/postgresql-1/events/306484787">https://www.meetup.com/postgresql-1/events/306484787</a></li><li>Our episode on Extended Statistics <a href="https://postgres.fm/episodes/extended-statistics">https://postgres.fm/episodes/extended-statistics</a></li><li>Logging plan of the currently running query (proposed patch by Rafael Thofehrn Castro and Atsushi Torikoshi) <a href="https://commitfest.postgresql.org/patch/5330">https://commitfest.postgresql.org/patch/5330</a></li><li>Our episode with Peter Geoghegan on Skip Scan <a href="https://postgres.fm/episodes/skip-scan">https://postgres.fm/episodes/skip-scan</a></li><li>Index Prefetching patch that Tomas is collaborating with Peter Geoghegan on <a href="https://commitfest.postgresql.org/patch/4351">https://commitfest.postgresql.org/patch/4351</a></li><li>A generalized join algorithm, G-Join (paper by Goetz Graefe) <a href="https://dl.gi.de/server/api/core/bitstreams/ce8e3fab-0bac-45fc-a6d4-66edaa52d574/content">https://dl.gi.de/server/api/core/bitstreams/ce8e3fab-0bac-45fc-a6d4-66edaa52d574/content</a> </li><li>Smooth Scan: Robust Access Path Selection without Cardinality Estimation (paper by R. Borovica, S. Idreos, A. Ailamaki, M. Zukowski, C. Fraser) <a href="https://stratos.seas.harvard.edu/sites/g/files/omnuum4611/files/stratos/files/smoothscan.pdf">https://stratos.seas.harvard.edu/sites/g/files/omnuum4611/files/stratos/files/smoothscan.pdf</a></li><li>Just-in-Time Compilation (JIT) <a href="https://www.postgresql.org/docs/current/jit.html">https://www.postgresql.org/docs/current/jit.html</a></li><li>Notes from a pgconf.dev unconference session in 2024 about JIT (discusses issues) <a href="https://wiki.postgresql.org/wiki/PGConf.dev_2024_Developer_Unconference#JIT_compilation">https://wiki.postgresql.org/wiki/PGConf.dev_2024_Developer_Unconference#JIT_compilation</a></li><li>Implementing an alternative JIT provider for PostgreSQL (by Xing Guo) <a href="https://higuoxing.com/archives/implementing-jit-provider-for-pgsql">https://higuoxing.com/archives/implementing-jit-provider-for-pgsql</a></li><li>Tomas’ Office Hours <a href="https://vondra.me/posts/office-hours-experiment">https://vondra.me/posts/office-hours-experiment</a></li></ul><p> </p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 04 Apr 2025 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/14e7abc7/75c9dcff.mp3" length="36642432" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2288</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael are joined by Tomas Vondra to discuss single query performance cliffs — what they are, why they happen, some things we can do to make them less likely or less severe, and some potential improvements to Postgres that could help.<br> <br>Here are some links to things they mentioned:</p><ul><li>Tomas Vondra <a href="https://postgres.fm/people/tomas-vondra">https://postgres.fm/people/tomas-vondra</a></li><li>Where do performance cliffs come from? (Talk by Tomas) <a href="https://www.youtube.com/watch?v=UzdAelm-QSY">https://www.youtube.com/watch?v=UzdAelm-QSY</a></li><li>Where do performance cliffs come from? (Slides) <a href="https://vondra.me/pdf/performance-cliffs-posette-2024.pdf">https://vondra.me/pdf/performance-cliffs-posette-2024.pdf</a></li><li>Increase the number of fast-path lock slots (committed for Postgres 18) <a href="https://www.postgresql.org/message-id/flat/E1ss4gX-000IvX-63%40gemulon.postgresql.org">https://www.postgresql.org/message-id/flat/E1ss4gX-000IvX-63%40gemulon.postgresql.org</a> </li><li>San Francisco Bay Area Postgres meet-up with Tomas on 8th April (online) <a href="https://www.meetup.com/postgresql-1/events/306484787">https://www.meetup.com/postgresql-1/events/306484787</a></li><li>Our episode on Extended Statistics <a href="https://postgres.fm/episodes/extended-statistics">https://postgres.fm/episodes/extended-statistics</a></li><li>Logging plan of the currently running query (proposed patch by Rafael Thofehrn Castro and Atsushi Torikoshi) <a href="https://commitfest.postgresql.org/patch/5330">https://commitfest.postgresql.org/patch/5330</a></li><li>Our episode with Peter Geoghegan on Skip Scan <a href="https://postgres.fm/episodes/skip-scan">https://postgres.fm/episodes/skip-scan</a></li><li>Index Prefetching patch that Tomas is collaborating with Peter Geoghegan on <a href="https://commitfest.postgresql.org/patch/4351">https://commitfest.postgresql.org/patch/4351</a></li><li>A generalized join algorithm, G-Join (paper by Goetz Graefe) <a href="https://dl.gi.de/server/api/core/bitstreams/ce8e3fab-0bac-45fc-a6d4-66edaa52d574/content">https://dl.gi.de/server/api/core/bitstreams/ce8e3fab-0bac-45fc-a6d4-66edaa52d574/content</a> </li><li>Smooth Scan: Robust Access Path Selection without Cardinality Estimation (paper by R. Borovica, S. Idreos, A. Ailamaki, M. Zukowski, C. Fraser) <a href="https://stratos.seas.harvard.edu/sites/g/files/omnuum4611/files/stratos/files/smoothscan.pdf">https://stratos.seas.harvard.edu/sites/g/files/omnuum4611/files/stratos/files/smoothscan.pdf</a></li><li>Just-in-Time Compilation (JIT) <a href="https://www.postgresql.org/docs/current/jit.html">https://www.postgresql.org/docs/current/jit.html</a></li><li>Notes from a pgconf.dev unconference session in 2024 about JIT (discusses issues) <a href="https://wiki.postgresql.org/wiki/PGConf.dev_2024_Developer_Unconference#JIT_compilation">https://wiki.postgresql.org/wiki/PGConf.dev_2024_Developer_Unconference#JIT_compilation</a></li><li>Implementing an alternative JIT provider for PostgreSQL (by Xing Guo) <a href="https://higuoxing.com/archives/implementing-jit-provider-for-pgsql">https://higuoxing.com/archives/implementing-jit-provider-for-pgsql</a></li><li>Tomas’ Office Hours <a href="https://vondra.me/posts/office-hours-experiment">https://vondra.me/posts/office-hours-experiment</a></li></ul><p> </p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Guest" href="https://vondra.me" img="https://img.transistorcdn.com/Zv-muphA43-Wn4-1The_plyw4TUJ8kKl2xAyrxi9mK8/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS8xZjU1/ODcxZGIzNGY1YTVh/ZWU0YzI2MDZiYzgz/MThkMS5qcGc.jpg">Tomas Vondra</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/14e7abc7/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>PgDog</title>
      <itunes:episode>139</itunes:episode>
      <podcast:episode>139</podcast:episode>
      <itunes:title>PgDog</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">4fa77178-cf2c-428b-9ad3-4c98dc3c47ff</guid>
      <link>https://share.transistor.fm/s/401bfa5b</link>
      <description>
        <![CDATA[<p>Nikolay and Michael are joined by Lev Kokotov to discuss PgDog — including whether or when sharding is needed, the origin story (via PgCat), what's already supported, and what's coming next.   <br> <br>Here are some links to things they mentioned:</p><ul><li>Lev Kokotov <a href="https://postgres.fm/people/lev-kokotov">https://postgres.fm/people/lev-kokotov</a></li><li>PgDog <a href="https://github.com/pgdogdev/pgdog">https://github.com/pgdogdev/pgdog</a></li><li>PgCat <a href="https://github.com/postgresml/pgcat">https://github.com/postgresml/pgcat</a></li><li>Adopting PgCat (Instacart blog post) <a href="https://www.instacart.com/company/how-its-made/adopting-pgcat-a-nextgen-postgres-proxy">https://www.instacart.com/company/how-its-made/adopting-pgcat-a-nextgen-postgres-proxy</a></li><li>PgDog discussion on Hacker News <a href="https://news.ycombinator.com/item?id=43364668">https://news.ycombinator.com/item?id=43364668</a></li><li>Citus <a href="https://github.com/citusdata/citus">https://github.com/citusdata/citus</a></li><li>Sharding &amp; IDs at Instagram (blog post) <a href="https://instagram-engineering.com/sharding-ids-at-instagram-1cf5a71e5a5c">https://instagram-engineering.com/sharding-ids-at-instagram-1cf5a71e5a5c</a></li><li>Sharding pgvector (blog post by Lev) <a href="https://pgdog.dev/blog/sharding-pgvector">https://pgdog.dev/blog/sharding-pgvector</a></li></ul><p><br></p><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael are joined by Lev Kokotov to discuss PgDog — including whether or when sharding is needed, the origin story (via PgCat), what's already supported, and what's coming next.   <br> <br>Here are some links to things they mentioned:</p><ul><li>Lev Kokotov <a href="https://postgres.fm/people/lev-kokotov">https://postgres.fm/people/lev-kokotov</a></li><li>PgDog <a href="https://github.com/pgdogdev/pgdog">https://github.com/pgdogdev/pgdog</a></li><li>PgCat <a href="https://github.com/postgresml/pgcat">https://github.com/postgresml/pgcat</a></li><li>Adopting PgCat (Instacart blog post) <a href="https://www.instacart.com/company/how-its-made/adopting-pgcat-a-nextgen-postgres-proxy">https://www.instacart.com/company/how-its-made/adopting-pgcat-a-nextgen-postgres-proxy</a></li><li>PgDog discussion on Hacker News <a href="https://news.ycombinator.com/item?id=43364668">https://news.ycombinator.com/item?id=43364668</a></li><li>Citus <a href="https://github.com/citusdata/citus">https://github.com/citusdata/citus</a></li><li>Sharding &amp; IDs at Instagram (blog post) <a href="https://instagram-engineering.com/sharding-ids-at-instagram-1cf5a71e5a5c">https://instagram-engineering.com/sharding-ids-at-instagram-1cf5a71e5a5c</a></li><li>Sharding pgvector (blog post by Lev) <a href="https://pgdog.dev/blog/sharding-pgvector">https://pgdog.dev/blog/sharding-pgvector</a></li></ul><p><br></p><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 28 Mar 2025 14:00:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/401bfa5b/2109a66d.mp3" length="46662563" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2914</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael are joined by Lev Kokotov to discuss PgDog — including whether or when sharding is needed, the origin story (via PgCat), what's already supported, and what's coming next.   <br> <br>Here are some links to things they mentioned:</p><ul><li>Lev Kokotov <a href="https://postgres.fm/people/lev-kokotov">https://postgres.fm/people/lev-kokotov</a></li><li>PgDog <a href="https://github.com/pgdogdev/pgdog">https://github.com/pgdogdev/pgdog</a></li><li>PgCat <a href="https://github.com/postgresml/pgcat">https://github.com/postgresml/pgcat</a></li><li>Adopting PgCat (Instacart blog post) <a href="https://www.instacart.com/company/how-its-made/adopting-pgcat-a-nextgen-postgres-proxy">https://www.instacart.com/company/how-its-made/adopting-pgcat-a-nextgen-postgres-proxy</a></li><li>PgDog discussion on Hacker News <a href="https://news.ycombinator.com/item?id=43364668">https://news.ycombinator.com/item?id=43364668</a></li><li>Citus <a href="https://github.com/citusdata/citus">https://github.com/citusdata/citus</a></li><li>Sharding &amp; IDs at Instagram (blog post) <a href="https://instagram-engineering.com/sharding-ids-at-instagram-1cf5a71e5a5c">https://instagram-engineering.com/sharding-ids-at-instagram-1cf5a71e5a5c</a></li><li>Sharding pgvector (blog post by Lev) <a href="https://pgdog.dev/blog/sharding-pgvector">https://pgdog.dev/blog/sharding-pgvector</a></li></ul><p><br></p><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Guest" href="https://pgdog.dev" img="https://img.transistorcdn.com/Hk6SCfcPn4yRlbcbHTr_taZYGxIwEyP97zBJehPiyxo/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS82ODQy/MjdlYmZjMDNhNTNk/YWY5ZWEzNTZhMTlh/ODQ0NS5qcGVn.jpg">Lev Kokotov</podcast:person>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/401bfa5b/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Snapshots</title>
      <itunes:episode>138</itunes:episode>
      <podcast:episode>138</podcast:episode>
      <itunes:title>Snapshots</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">786cead7-fd69-4cff-b22c-abec7c7a6968</guid>
      <link>https://share.transistor.fm/s/2e3bbd3f</link>
      <description>
        <![CDATA[<p>Nikolay talks Michael through using cloud snapshots — how they can be used to reduce RTO for huge Postgres setups, also to improve provisioning time, and some major catches to be aware of.<br> <br>Here are some links to things they mentioned:</p><ul><li>Snapshots on RDS <a href="https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateSnapshot.html">https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateSnapshot.html</a></li><li>pgBackRest <a href="https://pgbackrest.org">https://pgbackrest.org</a></li><li>WAL-G <a href="https://github.com/wal-g/wal-g">https://github.com/wal-g/wal-g</a></li><li>pg_backup_start and pg_backup_stop (docs) <a href="https://www.postgresql.org/docs/current/functions-admin.html#FUNCTIONS-ADMIN-BACKUP">https://www.postgresql.org/docs/current/functions-admin.html#FUNCTIONS-ADMIN-BACKUP</a> </li><li>How to troubleshoot long Postgres startup (by Nikolay) <a href="https://gitlab.com/postgres-ai/postgresql-consulting/postgres-howtos/-/blob/main/0003_how_to_troubleshoot_long_startup.md">https://gitlab.com/postgres-ai/postgresql-consulting/postgres-howtos/-/blob/main/0003_how_to_troubleshoot_long_startup.md</a></li><li>Restoring to a DB instance (RDS docs mentioning lazy loading) <a href="https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_RestoreFromSnapshot.html">https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_RestoreFromSnapshot.html</a></li><li> Amazon EBS fast snapshot restore <a href="https://docs.aws.amazon.com/ebs/latest/userguide/ebs-fast-snapshot-restore.html">https://docs.aws.amazon.com/ebs/latest/userguide/ebs-fast-snapshot-restore.html</a></li><li>Our 100th episode “To 100TB, and beyond!” <a href="https://postgres.fm/episodes/to-100tb-and-beyond">https://postgres.fm/episodes/to-100tb-and-beyond</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay talks Michael through using cloud snapshots — how they can be used to reduce RTO for huge Postgres setups, also to improve provisioning time, and some major catches to be aware of.<br> <br>Here are some links to things they mentioned:</p><ul><li>Snapshots on RDS <a href="https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateSnapshot.html">https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateSnapshot.html</a></li><li>pgBackRest <a href="https://pgbackrest.org">https://pgbackrest.org</a></li><li>WAL-G <a href="https://github.com/wal-g/wal-g">https://github.com/wal-g/wal-g</a></li><li>pg_backup_start and pg_backup_stop (docs) <a href="https://www.postgresql.org/docs/current/functions-admin.html#FUNCTIONS-ADMIN-BACKUP">https://www.postgresql.org/docs/current/functions-admin.html#FUNCTIONS-ADMIN-BACKUP</a> </li><li>How to troubleshoot long Postgres startup (by Nikolay) <a href="https://gitlab.com/postgres-ai/postgresql-consulting/postgres-howtos/-/blob/main/0003_how_to_troubleshoot_long_startup.md">https://gitlab.com/postgres-ai/postgresql-consulting/postgres-howtos/-/blob/main/0003_how_to_troubleshoot_long_startup.md</a></li><li>Restoring to a DB instance (RDS docs mentioning lazy loading) <a href="https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_RestoreFromSnapshot.html">https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_RestoreFromSnapshot.html</a></li><li> Amazon EBS fast snapshot restore <a href="https://docs.aws.amazon.com/ebs/latest/userguide/ebs-fast-snapshot-restore.html">https://docs.aws.amazon.com/ebs/latest/userguide/ebs-fast-snapshot-restore.html</a></li><li>Our 100th episode “To 100TB, and beyond!” <a href="https://postgres.fm/episodes/to-100tb-and-beyond">https://postgres.fm/episodes/to-100tb-and-beyond</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 21 Mar 2025 14:00:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/2e3bbd3f/caec8eef.mp3" length="42359681" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2645</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay talks Michael through using cloud snapshots — how they can be used to reduce RTO for huge Postgres setups, also to improve provisioning time, and some major catches to be aware of.<br> <br>Here are some links to things they mentioned:</p><ul><li>Snapshots on RDS <a href="https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateSnapshot.html">https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateSnapshot.html</a></li><li>pgBackRest <a href="https://pgbackrest.org">https://pgbackrest.org</a></li><li>WAL-G <a href="https://github.com/wal-g/wal-g">https://github.com/wal-g/wal-g</a></li><li>pg_backup_start and pg_backup_stop (docs) <a href="https://www.postgresql.org/docs/current/functions-admin.html#FUNCTIONS-ADMIN-BACKUP">https://www.postgresql.org/docs/current/functions-admin.html#FUNCTIONS-ADMIN-BACKUP</a> </li><li>How to troubleshoot long Postgres startup (by Nikolay) <a href="https://gitlab.com/postgres-ai/postgresql-consulting/postgres-howtos/-/blob/main/0003_how_to_troubleshoot_long_startup.md">https://gitlab.com/postgres-ai/postgresql-consulting/postgres-howtos/-/blob/main/0003_how_to_troubleshoot_long_startup.md</a></li><li>Restoring to a DB instance (RDS docs mentioning lazy loading) <a href="https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_RestoreFromSnapshot.html">https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_RestoreFromSnapshot.html</a></li><li> Amazon EBS fast snapshot restore <a href="https://docs.aws.amazon.com/ebs/latest/userguide/ebs-fast-snapshot-restore.html">https://docs.aws.amazon.com/ebs/latest/userguide/ebs-fast-snapshot-restore.html</a></li><li>Our 100th episode “To 100TB, and beyond!” <a href="https://postgres.fm/episodes/to-100tb-and-beyond">https://postgres.fm/episodes/to-100tb-and-beyond</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/2e3bbd3f/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>GIN Indexes</title>
      <itunes:episode>137</itunes:episode>
      <podcast:episode>137</podcast:episode>
      <itunes:title>GIN Indexes</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">e219fac4-5951-4133-b3fa-a1830fb5ed09</guid>
      <link>https://share.transistor.fm/s/21f64bd0</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss GIN indexes in Postgres — what they are, what they're used for, and some limitations to be aware of.<br> <br>Here are some links to things they mentioned:</p><ul><li>GIN Indexes <a href="https://www.postgresql.org/docs/current/gin.html">https://www.postgresql.org/docs/current/gin.html</a></li><li>Generalized Search Trees for Database Systems (Hellerstein, Naughton, Pfeffer) <a href="https://dsf.berkeley.edu/papers/vldb95-gist.pdf">https://dsf.berkeley.edu/papers/vldb95-gist.pdf</a> </li><li>RUM extension <a href="https://pgxn.org/dist/rum/1.1.0/">https://pgxn.org/dist/rum/1.1.0/</a></li><li>Understanding Postgres GIN Indexes: The Good and the Bad (Lukas Fittl) <a href="https://pganalyze.com/blog/gin-index">https://pganalyze.com/blog/gin-index</a></li></ul><p><br>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss GIN indexes in Postgres — what they are, what they're used for, and some limitations to be aware of.<br> <br>Here are some links to things they mentioned:</p><ul><li>GIN Indexes <a href="https://www.postgresql.org/docs/current/gin.html">https://www.postgresql.org/docs/current/gin.html</a></li><li>Generalized Search Trees for Database Systems (Hellerstein, Naughton, Pfeffer) <a href="https://dsf.berkeley.edu/papers/vldb95-gist.pdf">https://dsf.berkeley.edu/papers/vldb95-gist.pdf</a> </li><li>RUM extension <a href="https://pgxn.org/dist/rum/1.1.0/">https://pgxn.org/dist/rum/1.1.0/</a></li><li>Understanding Postgres GIN Indexes: The Good and the Bad (Lukas Fittl) <a href="https://pganalyze.com/blog/gin-index">https://pganalyze.com/blog/gin-index</a></li></ul><p><br>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 14 Mar 2025 14:00:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/21f64bd0/38f2dc53.mp3" length="39386323" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2459</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss GIN indexes in Postgres — what they are, what they're used for, and some limitations to be aware of.<br> <br>Here are some links to things they mentioned:</p><ul><li>GIN Indexes <a href="https://www.postgresql.org/docs/current/gin.html">https://www.postgresql.org/docs/current/gin.html</a></li><li>Generalized Search Trees for Database Systems (Hellerstein, Naughton, Pfeffer) <a href="https://dsf.berkeley.edu/papers/vldb95-gist.pdf">https://dsf.berkeley.edu/papers/vldb95-gist.pdf</a> </li><li>RUM extension <a href="https://pgxn.org/dist/rum/1.1.0/">https://pgxn.org/dist/rum/1.1.0/</a></li><li>Understanding Postgres GIN Indexes: The Good and the Bad (Lukas Fittl) <a href="https://pganalyze.com/blog/gin-index">https://pganalyze.com/blog/gin-index</a></li></ul><p><br>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/21f64bd0/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Best Practices</title>
      <itunes:episode>136</itunes:episode>
      <podcast:episode>136</podcast:episode>
      <itunes:title>Best Practices</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">1cb5f993-2c1f-4542-baf1-db2616ff2a65</guid>
      <link>https://share.transistor.fm/s/ef117e3a</link>
      <description>
        <![CDATA[<p>Nikolay and Michael use a recent "best practices" article as a prompt — giving a few tips each on the topics mentioned, like schema design, performance, backups, and more.<br> <br>Here are some links to things they mentioned:</p><ul><li>7 Crucial PostgreSQL Best Practices (recent blog post) <a href="https://speakdatascience.com/postgresql-best-practices">https://speakdatascience.com/postgresql-best-practices</a></li><li>“Don't do this” episode <a href="https://postgres.fm/episodes/dont-do-this">https://postgres.fm/episodes/dont-do-this</a></li><li>Article discussion on Hacker News <a href="https://news.ycombinator.com/item?id=42992913">https://news.ycombinator.com/item?id=42992913</a></li><li>Mozilla’s SQL Style Guide <a href="https://docs.telemetry.mozilla.org/concepts/sql_style">https://docs.telemetry.mozilla.org/concepts/sql_style</a></li><li>“SQL vs NoSQL” episode with Franck Pachot <a href="https://postgres.fm/episodes/sql-vs-nosql">https://postgres.fm/episodes/sql-vs-nosql</a></li><li>HA episode <a href="https://postgres.fm/episodes/high-availability">https://postgres.fm/episodes/high-availability</a> </li></ul><p><br>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael use a recent "best practices" article as a prompt — giving a few tips each on the topics mentioned, like schema design, performance, backups, and more.<br> <br>Here are some links to things they mentioned:</p><ul><li>7 Crucial PostgreSQL Best Practices (recent blog post) <a href="https://speakdatascience.com/postgresql-best-practices">https://speakdatascience.com/postgresql-best-practices</a></li><li>“Don't do this” episode <a href="https://postgres.fm/episodes/dont-do-this">https://postgres.fm/episodes/dont-do-this</a></li><li>Article discussion on Hacker News <a href="https://news.ycombinator.com/item?id=42992913">https://news.ycombinator.com/item?id=42992913</a></li><li>Mozilla’s SQL Style Guide <a href="https://docs.telemetry.mozilla.org/concepts/sql_style">https://docs.telemetry.mozilla.org/concepts/sql_style</a></li><li>“SQL vs NoSQL” episode with Franck Pachot <a href="https://postgres.fm/episodes/sql-vs-nosql">https://postgres.fm/episodes/sql-vs-nosql</a></li><li>HA episode <a href="https://postgres.fm/episodes/high-availability">https://postgres.fm/episodes/high-availability</a> </li></ul><p><br>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 07 Mar 2025 14:00:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/ef117e3a/7d2841fd.mp3" length="39214130" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2449</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael use a recent "best practices" article as a prompt — giving a few tips each on the topics mentioned, like schema design, performance, backups, and more.<br> <br>Here are some links to things they mentioned:</p><ul><li>7 Crucial PostgreSQL Best Practices (recent blog post) <a href="https://speakdatascience.com/postgresql-best-practices">https://speakdatascience.com/postgresql-best-practices</a></li><li>“Don't do this” episode <a href="https://postgres.fm/episodes/dont-do-this">https://postgres.fm/episodes/dont-do-this</a></li><li>Article discussion on Hacker News <a href="https://news.ycombinator.com/item?id=42992913">https://news.ycombinator.com/item?id=42992913</a></li><li>Mozilla’s SQL Style Guide <a href="https://docs.telemetry.mozilla.org/concepts/sql_style">https://docs.telemetry.mozilla.org/concepts/sql_style</a></li><li>“SQL vs NoSQL” episode with Franck Pachot <a href="https://postgres.fm/episodes/sql-vs-nosql">https://postgres.fm/episodes/sql-vs-nosql</a></li><li>HA episode <a href="https://postgres.fm/episodes/high-availability">https://postgres.fm/episodes/high-availability</a> </li></ul><p><br>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/ef117e3a/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Extended Statistics</title>
      <itunes:episode>135</itunes:episode>
      <podcast:episode>135</podcast:episode>
      <itunes:title>Extended Statistics</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">94fc93d1-5834-4377-a44b-5959aeec38c4</guid>
      <link>https://share.transistor.fm/s/13ff79f4</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss the CREATE STATISTICS feature in Postgres — what it's for, how often it's used, and how to spot cases where it would help. <br> <br>Here are some links to things they mentioned:</p><ul><li>CREATE STATISTICS <a href="https://www.postgresql.org/docs/current/sql-createstatistics.html">https://www.postgresql.org/docs/current/sql-createstatistics.html</a></li><li>citext <a href="https://www.postgresql.org/docs/current/citext.html">https://www.postgresql.org/docs/current/citext.html</a></li><li>Statistics Used by the Planner <a href="https://www.postgresql.org/docs/current/planner-stats.html">https://www.postgresql.org/docs/current/planner-stats.html</a></li><li>default_statistics_target <a href="https://www.postgresql.org/docs/current/runtime-config-query.html#GUC-DEFAULT-STATISTICS-TARGET">https://www.postgresql.org/docs/current/runtime-config-query.html#GUC-DEFAULT-STATISTICS-TARGET</a></li><li>Tomáš Vondra on Postgres TV <a href="https://www.youtube.com/watch?v=8la-OWfD3VI">https://www.youtube.com/watch?v=8la-OWfD3VI</a></li><li>Recent commit to Postgres 18 for pg_upgrade <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=1fd1bd871012732e3c6c482667d2f2c56f1a9395">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=1fd1bd871012732e3c6c482667d2f2c56f1a9395</a></li><li>Multivariate Statistics Examples <a href="https://www.postgresql.org/docs/current/multivariate-statistics-examples.html">https://www.postgresql.org/docs/current/multivariate-statistics-examples.html</a></li><li>Extended statistics (README) <a href="https://github.com/postgres/postgres/blob/master/src/backend/statistics/README">https://github.com/postgres/postgres/blob/master/src/backend/statistics/README</a></li><li>How we used Postgres extended statistics to achieve a 3000x speedup (blog post by Jared Rulison) <a href="https://medium.com/affinity-engineering/how-we-used-postgres-extended-statistics-to-achieve-a-3000x-speedup-ea93d3dcdc61">https://medium.com/affinity-engineering/how-we-used-postgres-extended-statistics-to-achieve-a-3000x-speedup-ea93d3dcdc61</a></li></ul><p><br>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss the CREATE STATISTICS feature in Postgres — what it's for, how often it's used, and how to spot cases where it would help. <br> <br>Here are some links to things they mentioned:</p><ul><li>CREATE STATISTICS <a href="https://www.postgresql.org/docs/current/sql-createstatistics.html">https://www.postgresql.org/docs/current/sql-createstatistics.html</a></li><li>citext <a href="https://www.postgresql.org/docs/current/citext.html">https://www.postgresql.org/docs/current/citext.html</a></li><li>Statistics Used by the Planner <a href="https://www.postgresql.org/docs/current/planner-stats.html">https://www.postgresql.org/docs/current/planner-stats.html</a></li><li>default_statistics_target <a href="https://www.postgresql.org/docs/current/runtime-config-query.html#GUC-DEFAULT-STATISTICS-TARGET">https://www.postgresql.org/docs/current/runtime-config-query.html#GUC-DEFAULT-STATISTICS-TARGET</a></li><li>Tomáš Vondra on Postgres TV <a href="https://www.youtube.com/watch?v=8la-OWfD3VI">https://www.youtube.com/watch?v=8la-OWfD3VI</a></li><li>Recent commit to Postgres 18 for pg_upgrade <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=1fd1bd871012732e3c6c482667d2f2c56f1a9395">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=1fd1bd871012732e3c6c482667d2f2c56f1a9395</a></li><li>Multivariate Statistics Examples <a href="https://www.postgresql.org/docs/current/multivariate-statistics-examples.html">https://www.postgresql.org/docs/current/multivariate-statistics-examples.html</a></li><li>Extended statistics (README) <a href="https://github.com/postgres/postgres/blob/master/src/backend/statistics/README">https://github.com/postgres/postgres/blob/master/src/backend/statistics/README</a></li><li>How we used Postgres extended statistics to achieve a 3000x speedup (blog post by Jared Rulison) <a href="https://medium.com/affinity-engineering/how-we-used-postgres-extended-statistics-to-achieve-a-3000x-speedup-ea93d3dcdc61">https://medium.com/affinity-engineering/how-we-used-postgres-extended-statistics-to-achieve-a-3000x-speedup-ea93d3dcdc61</a></li></ul><p><br>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 28 Feb 2025 14:00:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/13ff79f4/c0a3a47e.mp3" length="31411678" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>1961</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss the CREATE STATISTICS feature in Postgres — what it's for, how often it's used, and how to spot cases where it would help. <br> <br>Here are some links to things they mentioned:</p><ul><li>CREATE STATISTICS <a href="https://www.postgresql.org/docs/current/sql-createstatistics.html">https://www.postgresql.org/docs/current/sql-createstatistics.html</a></li><li>citext <a href="https://www.postgresql.org/docs/current/citext.html">https://www.postgresql.org/docs/current/citext.html</a></li><li>Statistics Used by the Planner <a href="https://www.postgresql.org/docs/current/planner-stats.html">https://www.postgresql.org/docs/current/planner-stats.html</a></li><li>default_statistics_target <a href="https://www.postgresql.org/docs/current/runtime-config-query.html#GUC-DEFAULT-STATISTICS-TARGET">https://www.postgresql.org/docs/current/runtime-config-query.html#GUC-DEFAULT-STATISTICS-TARGET</a></li><li>Tomáš Vondra on Postgres TV <a href="https://www.youtube.com/watch?v=8la-OWfD3VI">https://www.youtube.com/watch?v=8la-OWfD3VI</a></li><li>Recent commit to Postgres 18 for pg_upgrade <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=1fd1bd871012732e3c6c482667d2f2c56f1a9395">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=1fd1bd871012732e3c6c482667d2f2c56f1a9395</a></li><li>Multivariate Statistics Examples <a href="https://www.postgresql.org/docs/current/multivariate-statistics-examples.html">https://www.postgresql.org/docs/current/multivariate-statistics-examples.html</a></li><li>Extended statistics (README) <a href="https://github.com/postgres/postgres/blob/master/src/backend/statistics/README">https://github.com/postgres/postgres/blob/master/src/backend/statistics/README</a></li><li>How we used Postgres extended statistics to achieve a 3000x speedup (blog post by Jared Rulison) <a href="https://medium.com/affinity-engineering/how-we-used-postgres-extended-statistics-to-achieve-a-3000x-speedup-ea93d3dcdc61">https://medium.com/affinity-engineering/how-we-used-postgres-extended-statistics-to-achieve-a-3000x-speedup-ea93d3dcdc61</a></li></ul><p><br>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With credit to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/13ff79f4/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>SQL vs NoSQL</title>
      <itunes:episode>134</itunes:episode>
      <podcast:episode>134</podcast:episode>
      <itunes:title>SQL vs NoSQL</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">6305266b-4e06-48ac-8e34-9dde613138ae</guid>
      <link>https://share.transistor.fm/s/bee45e34</link>
      <description>
        <![CDATA[<p>Nikolay and Michael are joined by Franck Pachot to discuss SQL vs NoSQL — did Franck change teams by joining MongoDB, normalisation vs denormalisation, developer experience, NULLs, and more!<br> <br>Here are some links to things they mentioned:</p><ul><li>Franck Pachot <a href="https://postgres.fm/people/franck-pachot">https://postgres.fm/people/franck-pachot</a></li><li>Franck's workshop at PGConf India <a href="https://pgconf.in/conferences/pgconfin2025/program/proposals/958">https://pgconf.in/conferences/pgconfin2025/program/proposals/958</a> </li><li>PostgreSQL Conference Germany <a href="https://2025.pgconf.de/">https://2025.pgconf.de</a></li><li>"Schema Later" Considered Harmful by Michael Stonebraker and Álvaro Hernández <a href="https://www.enterprisedb.com/blog/schema-later-considered-harmful">https://www.enterprisedb.com/blog/schema-later-considered-harmful</a></li><li>Comparison of JOINS by Michael Stonebraker and Álvaro Hernández <a href="https://www.enterprisedb.com/blog/comparison-joins-mongodb-vs-postgresql">https://www.enterprisedb.com/blog/comparison-joins-mongodb-vs-postgresql</a> </li><li>Franck’s post about why he joined MongoDB <a href="https://www.linkedin.com/pulse/2025-im-joining-mongodb-franck-pachot-e4shf">https://www.linkedin.com/pulse/2025-im-joining-mongodb-franck-pachot-e4shf</a></li><li>EdgeDB <a href="https://www.edgedb.com">https://www.edgedb.com</a></li><li>Nikolay’s tweet about a recent issue with NULLs <a href="https://x.com/samokhvalov/status/1889078097124999272">https://x.com/samokhvalov/status/1889078097124999272</a></li><li>PartiQL <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ql-reference.html">https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ql-reference.html</a></li><li>FerretDB <a href="https://www.ferretdb.com">https://www.ferretdb.com</a></li><li>DocumentDB <a href="https://github.com/microsoft/documentdb">https://github.com/microsoft/documentdb</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael are joined by Franck Pachot to discuss SQL vs NoSQL — did Franck change teams by joining MongoDB, normalisation vs denormalisation, developer experience, NULLs, and more!<br> <br>Here are some links to things they mentioned:</p><ul><li>Franck Pachot <a href="https://postgres.fm/people/franck-pachot">https://postgres.fm/people/franck-pachot</a></li><li>Franck's workshop at PGConf India <a href="https://pgconf.in/conferences/pgconfin2025/program/proposals/958">https://pgconf.in/conferences/pgconfin2025/program/proposals/958</a> </li><li>PostgreSQL Conference Germany <a href="https://2025.pgconf.de/">https://2025.pgconf.de</a></li><li>"Schema Later" Considered Harmful by Michael Stonebraker and Álvaro Hernández <a href="https://www.enterprisedb.com/blog/schema-later-considered-harmful">https://www.enterprisedb.com/blog/schema-later-considered-harmful</a></li><li>Comparison of JOINS by Michael Stonebraker and Álvaro Hernández <a href="https://www.enterprisedb.com/blog/comparison-joins-mongodb-vs-postgresql">https://www.enterprisedb.com/blog/comparison-joins-mongodb-vs-postgresql</a> </li><li>Franck’s post about why he joined MongoDB <a href="https://www.linkedin.com/pulse/2025-im-joining-mongodb-franck-pachot-e4shf">https://www.linkedin.com/pulse/2025-im-joining-mongodb-franck-pachot-e4shf</a></li><li>EdgeDB <a href="https://www.edgedb.com">https://www.edgedb.com</a></li><li>Nikolay’s tweet about a recent issue with NULLs <a href="https://x.com/samokhvalov/status/1889078097124999272">https://x.com/samokhvalov/status/1889078097124999272</a></li><li>PartiQL <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ql-reference.html">https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ql-reference.html</a></li><li>FerretDB <a href="https://www.ferretdb.com">https://www.ferretdb.com</a></li><li>DocumentDB <a href="https://github.com/microsoft/documentdb">https://github.com/microsoft/documentdb</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 14 Feb 2025 14:30:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/bee45e34/6b8b6542.mp3" length="48049365" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>3001</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael are joined by Franck Pachot to discuss SQL vs NoSQL — did Franck change teams by joining MongoDB, normalisation vs denormalisation, developer experience, NULLs, and more!<br> <br>Here are some links to things they mentioned:</p><ul><li>Franck Pachot <a href="https://postgres.fm/people/franck-pachot">https://postgres.fm/people/franck-pachot</a></li><li>Franck's workshop at PGConf India <a href="https://pgconf.in/conferences/pgconfin2025/program/proposals/958">https://pgconf.in/conferences/pgconfin2025/program/proposals/958</a> </li><li>PostgreSQL Conference Germany <a href="https://2025.pgconf.de/">https://2025.pgconf.de</a></li><li>"Schema Later" Considered Harmful by Michael Stonebraker and Álvaro Hernández <a href="https://www.enterprisedb.com/blog/schema-later-considered-harmful">https://www.enterprisedb.com/blog/schema-later-considered-harmful</a></li><li>Comparison of JOINS by Michael Stonebraker and Álvaro Hernández <a href="https://www.enterprisedb.com/blog/comparison-joins-mongodb-vs-postgresql">https://www.enterprisedb.com/blog/comparison-joins-mongodb-vs-postgresql</a> </li><li>Franck’s post about why he joined MongoDB <a href="https://www.linkedin.com/pulse/2025-im-joining-mongodb-franck-pachot-e4shf">https://www.linkedin.com/pulse/2025-im-joining-mongodb-franck-pachot-e4shf</a></li><li>EdgeDB <a href="https://www.edgedb.com">https://www.edgedb.com</a></li><li>Nikolay’s tweet about a recent issue with NULLs <a href="https://x.com/samokhvalov/status/1889078097124999272">https://x.com/samokhvalov/status/1889078097124999272</a></li><li>PartiQL <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ql-reference.html">https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ql-reference.html</a></li><li>FerretDB <a href="https://www.ferretdb.com">https://www.ferretdb.com</a></li><li>DocumentDB <a href="https://github.com/microsoft/documentdb">https://github.com/microsoft/documentdb</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Guest" href="http://blog.pachot.net" img="https://img.transistorcdn.com/9aJ1OWcgzLyF3HA_gz4S0HfdE1Wh6wizoHp9gLrOW3s/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS83YTBk/ODRlZDQwODkwMzY5/YzJjMzExZjZmNWQ4/MjUxMC5qcGc.jpg">Franck Pachot</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/bee45e34/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Return of the BUFFERS</title>
      <itunes:episode>133</itunes:episode>
      <podcast:episode>133</podcast:episode>
      <itunes:title>Return of the BUFFERS</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">4861cc51-3384-4318-94dd-cfd44b7c320f</guid>
      <link>https://share.transistor.fm/s/5b698b15</link>
      <description>
        <![CDATA[<p>Nikolay and Michael return to the topic of BUFFERS for the third (and final?) time! They discuss the news that it'll be on by default with EXPLAIN ANALYZE in Postgres 18, and what effect that might have. <br> <br>Here are some links to things they mentioned:</p><ul><li>Our first BUFFERS episode <a href="https://postgres.fm/episodes/buffers-by-default">https://postgres.fm/episodes/buffers-by-default</a></li><li>Our second BUFFERS episode <a href="https://postgres.fm/episodes/buffers-ii-the-sequel">https://postgres.fm/episodes/buffers-ii-the-sequel</a></li><li>BUFFERS enabled for EXPLAIN ANALYZE by default (commit for Postgres 18) <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=c2a4078ebad71999dd451ae7d4358be3c9290b07">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=c2a4078ebad71999dd451ae7d4358be3c9290b07</a></li><li><a href="https://explain.depesz.com/history">https://explain.depesz.com/history</a></li><li>Latency Numbers Every Programmer Should Know <a href="https://gist.github.com/jboner/2841832">https://gist.github.com/jboner/2841832</a></li><li>Twitter conversation about flushing caches <a href="https://x.com/prochazkafilip/status/1881655337499205736">https://x.com/prochazkafilip/status/1881655337499205736</a></li><li>pg_buffercache_evict <a href="https://www.postgresql.org/docs/current/pgbuffercache.html#PGBUFFERCACHE-PG-BUFFERCACHE-EVICT">https://www.postgresql.org/docs/current/pgbuffercache.html#PGBUFFERCACHE-PG-BUFFERCACHE-EVICT</a></li><li>How to compare the quality of SQL query plans (blog post by Andrei Lepikhov) <a href="https://danolivo.substack.com/p/whose-optimisation-is-better">https://danolivo.substack.com/p/whose-optimisation-is-better</a></li><li>We were added as PostgreSQL Contributors! <a href="https://www.postgresql.org/about/news/new-postgresql-contributors-3006">https://www.postgresql.org/about/news/new-postgresql-contributors-3006</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael return to the topic of BUFFERS for the third (and final?) time! They discuss the news that it'll be on by default with EXPLAIN ANALYZE in Postgres 18, and what effect that might have. <br> <br>Here are some links to things they mentioned:</p><ul><li>Our first BUFFERS episode <a href="https://postgres.fm/episodes/buffers-by-default">https://postgres.fm/episodes/buffers-by-default</a></li><li>Our second BUFFERS episode <a href="https://postgres.fm/episodes/buffers-ii-the-sequel">https://postgres.fm/episodes/buffers-ii-the-sequel</a></li><li>BUFFERS enabled for EXPLAIN ANALYZE by default (commit for Postgres 18) <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=c2a4078ebad71999dd451ae7d4358be3c9290b07">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=c2a4078ebad71999dd451ae7d4358be3c9290b07</a></li><li><a href="https://explain.depesz.com/history">https://explain.depesz.com/history</a></li><li>Latency Numbers Every Programmer Should Know <a href="https://gist.github.com/jboner/2841832">https://gist.github.com/jboner/2841832</a></li><li>Twitter conversation about flushing caches <a href="https://x.com/prochazkafilip/status/1881655337499205736">https://x.com/prochazkafilip/status/1881655337499205736</a></li><li>pg_buffercache_evict <a href="https://www.postgresql.org/docs/current/pgbuffercache.html#PGBUFFERCACHE-PG-BUFFERCACHE-EVICT">https://www.postgresql.org/docs/current/pgbuffercache.html#PGBUFFERCACHE-PG-BUFFERCACHE-EVICT</a></li><li>How to compare the quality of SQL query plans (blog post by Andrei Lepikhov) <a href="https://danolivo.substack.com/p/whose-optimisation-is-better">https://danolivo.substack.com/p/whose-optimisation-is-better</a></li><li>We were added as PostgreSQL Contributors! <a href="https://www.postgresql.org/about/news/new-postgresql-contributors-3006">https://www.postgresql.org/about/news/new-postgresql-contributors-3006</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 07 Feb 2025 14:00:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/5b698b15/a3aa82bf.mp3" length="49735431" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>3106</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael return to the topic of BUFFERS for the third (and final?) time! They discuss the news that it'll be on by default with EXPLAIN ANALYZE in Postgres 18, and what effect that might have. <br> <br>Here are some links to things they mentioned:</p><ul><li>Our first BUFFERS episode <a href="https://postgres.fm/episodes/buffers-by-default">https://postgres.fm/episodes/buffers-by-default</a></li><li>Our second BUFFERS episode <a href="https://postgres.fm/episodes/buffers-ii-the-sequel">https://postgres.fm/episodes/buffers-ii-the-sequel</a></li><li>BUFFERS enabled for EXPLAIN ANALYZE by default (commit for Postgres 18) <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=c2a4078ebad71999dd451ae7d4358be3c9290b07">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=c2a4078ebad71999dd451ae7d4358be3c9290b07</a></li><li><a href="https://explain.depesz.com/history">https://explain.depesz.com/history</a></li><li>Latency Numbers Every Programmer Should Know <a href="https://gist.github.com/jboner/2841832">https://gist.github.com/jboner/2841832</a></li><li>Twitter conversation about flushing caches <a href="https://x.com/prochazkafilip/status/1881655337499205736">https://x.com/prochazkafilip/status/1881655337499205736</a></li><li>pg_buffercache_evict <a href="https://www.postgresql.org/docs/current/pgbuffercache.html#PGBUFFERCACHE-PG-BUFFERCACHE-EVICT">https://www.postgresql.org/docs/current/pgbuffercache.html#PGBUFFERCACHE-PG-BUFFERCACHE-EVICT</a></li><li>How to compare the quality of SQL query plans (blog post by Andrei Lepikhov) <a href="https://danolivo.substack.com/p/whose-optimisation-is-better">https://danolivo.substack.com/p/whose-optimisation-is-better</a></li><li>We were added as PostgreSQL Contributors! <a href="https://www.postgresql.org/about/news/new-postgresql-contributors-3006">https://www.postgresql.org/about/news/new-postgresql-contributors-3006</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/5b698b15/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Reads causing writes</title>
      <itunes:episode>132</itunes:episode>
      <podcast:episode>132</podcast:episode>
      <itunes:title>Reads causing writes</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">c5b4e9cd-44cb-431f-902c-c52bc663f19e</guid>
      <link>https://share.transistor.fm/s/83a2e421</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss a couple of surprising ways read queries (selects) can cause writes (shared buffers dirtied) in Postgres.<br> <br>Here are some links to things they mentioned:</p><ul><li>Reads causing writes in Postgres (post by Alex Jesipow) <a href="https://jesipow.com/blog/postgres-reads-cause-writes/">https://jesipow.com/blog/postgres-reads-cause-writes/</a></li><li>Exploring how SELECT queries can produce disk writes (post by Nikolay Sivko) <a href="https://blog.okmeter.io/postgresql-exploring-how-select-queries-can-produce-disk-writes-f36c8bee6b6f">https://blog.okmeter.io/postgresql-exploring-how-select-queries-can-produce-disk-writes-f36c8bee6b6f</a> </li><li>Hint Bits (wiki) <a href="https://wiki.postgresql.org/wiki/Hint_Bits">https://wiki.postgresql.org/wiki/Hint_Bits</a></li><li>pg_stat_statements <a href="https://www.postgresql.org/docs/current/pgstatstatements.html">https://www.postgresql.org/docs/current/pgstatstatements.html</a> </li><li>pg_stat_kcache <a href="https://github.com/powa-team/pg_stat_kcache">https://github.com/powa-team/pg_stat_kcache</a> </li><li>pg_wait_sampling <a href="https://github.com/postgrespro/pg_wait_sampling">https://github.com/postgrespro/pg_wait_sampling</a> </li><li>BUFFERS by default (episode 4!) <a href="https://postgres.fm/episodes/buffers-by-default">https://postgres.fm/episodes/buffers-by-default</a> </li><li>Page layout (docs) <a href="https://www.postgresql.org/docs/current/storage-page-layout.html">https://www.postgresql.org/docs/current/storage-page-layout.html</a> </li><li>From Reddit (user merlinm), PD_ALL_VISIBLE may be a third case <a href="https://www.reddit.com/r/PostgreSQL/comments/1hjuyfn/comment/m3e6e7v/">https://www.reddit.com/r/PostgreSQL/comments/1hjuyfn/comment/m3e6e7v/</a> </li><li>Coroot <a href="https://coroot.com/">https://coroot.com/</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss a couple of surprising ways read queries (selects) can cause writes (shared buffers dirtied) in Postgres.<br> <br>Here are some links to things they mentioned:</p><ul><li>Reads causing writes in Postgres (post by Alex Jesipow) <a href="https://jesipow.com/blog/postgres-reads-cause-writes/">https://jesipow.com/blog/postgres-reads-cause-writes/</a></li><li>Exploring how SELECT queries can produce disk writes (post by Nikolay Sivko) <a href="https://blog.okmeter.io/postgresql-exploring-how-select-queries-can-produce-disk-writes-f36c8bee6b6f">https://blog.okmeter.io/postgresql-exploring-how-select-queries-can-produce-disk-writes-f36c8bee6b6f</a> </li><li>Hint Bits (wiki) <a href="https://wiki.postgresql.org/wiki/Hint_Bits">https://wiki.postgresql.org/wiki/Hint_Bits</a></li><li>pg_stat_statements <a href="https://www.postgresql.org/docs/current/pgstatstatements.html">https://www.postgresql.org/docs/current/pgstatstatements.html</a> </li><li>pg_stat_kcache <a href="https://github.com/powa-team/pg_stat_kcache">https://github.com/powa-team/pg_stat_kcache</a> </li><li>pg_wait_sampling <a href="https://github.com/postgrespro/pg_wait_sampling">https://github.com/postgrespro/pg_wait_sampling</a> </li><li>BUFFERS by default (episode 4!) <a href="https://postgres.fm/episodes/buffers-by-default">https://postgres.fm/episodes/buffers-by-default</a> </li><li>Page layout (docs) <a href="https://www.postgresql.org/docs/current/storage-page-layout.html">https://www.postgresql.org/docs/current/storage-page-layout.html</a> </li><li>From Reddit (user merlinm), PD_ALL_VISIBLE may be a third case <a href="https://www.reddit.com/r/PostgreSQL/comments/1hjuyfn/comment/m3e6e7v/">https://www.reddit.com/r/PostgreSQL/comments/1hjuyfn/comment/m3e6e7v/</a> </li><li>Coroot <a href="https://coroot.com/">https://coroot.com/</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 24 Jan 2025 14:00:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/83a2e421/c16eb4f6.mp3" length="25763798" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>1608</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss a couple of surprising ways read queries (selects) can cause writes (shared buffers dirtied) in Postgres.<br> <br>Here are some links to things they mentioned:</p><ul><li>Reads causing writes in Postgres (post by Alex Jesipow) <a href="https://jesipow.com/blog/postgres-reads-cause-writes/">https://jesipow.com/blog/postgres-reads-cause-writes/</a></li><li>Exploring how SELECT queries can produce disk writes (post by Nikolay Sivko) <a href="https://blog.okmeter.io/postgresql-exploring-how-select-queries-can-produce-disk-writes-f36c8bee6b6f">https://blog.okmeter.io/postgresql-exploring-how-select-queries-can-produce-disk-writes-f36c8bee6b6f</a> </li><li>Hint Bits (wiki) <a href="https://wiki.postgresql.org/wiki/Hint_Bits">https://wiki.postgresql.org/wiki/Hint_Bits</a></li><li>pg_stat_statements <a href="https://www.postgresql.org/docs/current/pgstatstatements.html">https://www.postgresql.org/docs/current/pgstatstatements.html</a> </li><li>pg_stat_kcache <a href="https://github.com/powa-team/pg_stat_kcache">https://github.com/powa-team/pg_stat_kcache</a> </li><li>pg_wait_sampling <a href="https://github.com/postgrespro/pg_wait_sampling">https://github.com/postgrespro/pg_wait_sampling</a> </li><li>BUFFERS by default (episode 4!) <a href="https://postgres.fm/episodes/buffers-by-default">https://postgres.fm/episodes/buffers-by-default</a> </li><li>Page layout (docs) <a href="https://www.postgresql.org/docs/current/storage-page-layout.html">https://www.postgresql.org/docs/current/storage-page-layout.html</a> </li><li>From Reddit (user merlinm), PD_ALL_VISIBLE may be a third case <a href="https://www.reddit.com/r/PostgreSQL/comments/1hjuyfn/comment/m3e6e7v/">https://www.reddit.com/r/PostgreSQL/comments/1hjuyfn/comment/m3e6e7v/</a> </li><li>Coroot <a href="https://coroot.com/">https://coroot.com/</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/83a2e421/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>NOT VALID constraints</title>
      <itunes:episode>131</itunes:episode>
      <podcast:episode>131</podcast:episode>
      <itunes:title>NOT VALID constraints</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">99b72e6d-78db-4f83-8132-df70d6c9355c</guid>
      <link>https://share.transistor.fm/s/23d49b95</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss adding constraints in an online fashion, using NOT VALID and then VALIDATE CONSTRAINT.<br> <br>Here are some links to things they mentioned:</p><ul><li>ADD table_constraint NOT VALID  <a href="https://www.postgresql.org/docs/current/sql-altertable.html#SQL-ALTERTABLE-DESC-ADD-TABLE-CONSTRAINT">https://www.postgresql.org/docs/current/sql-altertable.html#SQL-ALTERTABLE-DESC-ADD-TABLE-CONSTRAINT</a></li><li>Our episode on zero-downtime migrations <a href="https://postgres.fm/episodes/zero-downtime-migrations">https://postgres.fm/episodes/zero-downtime-migrations</a></li><li>VALIDATE CONSTRAINT <a href="https://www.postgresql.org/docs/current/sql-altertable.html#SQL-ALTERTABLE-DESC-VALIDATE-CONSTRAINT">https://www.postgresql.org/docs/current/sql-altertable.html#SQL-ALTERTABLE-DESC-VALIDATE-CONSTRAINT</a></li><li>ALTER TABLE notes <a href="https://www.postgresql.org/docs/current/sql-altertable.html#SQL-ALTERTABLE-NOTES">https://www.postgresql.org/docs/current/sql-altertable.html#SQL-ALTERTABLE-NOTES</a></li><li>pgroll <a href="https://github.com/xataio/pgroll">https://github.com/xataio/pgroll</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss adding constraints in an online fashion, using NOT VALID and then VALIDATE CONSTRAINT.<br> <br>Here are some links to things they mentioned:</p><ul><li>ADD table_constraint NOT VALID  <a href="https://www.postgresql.org/docs/current/sql-altertable.html#SQL-ALTERTABLE-DESC-ADD-TABLE-CONSTRAINT">https://www.postgresql.org/docs/current/sql-altertable.html#SQL-ALTERTABLE-DESC-ADD-TABLE-CONSTRAINT</a></li><li>Our episode on zero-downtime migrations <a href="https://postgres.fm/episodes/zero-downtime-migrations">https://postgres.fm/episodes/zero-downtime-migrations</a></li><li>VALIDATE CONSTRAINT <a href="https://www.postgresql.org/docs/current/sql-altertable.html#SQL-ALTERTABLE-DESC-VALIDATE-CONSTRAINT">https://www.postgresql.org/docs/current/sql-altertable.html#SQL-ALTERTABLE-DESC-VALIDATE-CONSTRAINT</a></li><li>ALTER TABLE notes <a href="https://www.postgresql.org/docs/current/sql-altertable.html#SQL-ALTERTABLE-NOTES">https://www.postgresql.org/docs/current/sql-altertable.html#SQL-ALTERTABLE-NOTES</a></li><li>pgroll <a href="https://github.com/xataio/pgroll">https://github.com/xataio/pgroll</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 17 Jan 2025 14:00:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/23d49b95/fa654916.mp3" length="32614995" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2036</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss adding constraints in an online fashion, using NOT VALID and then VALIDATE CONSTRAINT.<br> <br>Here are some links to things they mentioned:</p><ul><li>ADD table_constraint NOT VALID  <a href="https://www.postgresql.org/docs/current/sql-altertable.html#SQL-ALTERTABLE-DESC-ADD-TABLE-CONSTRAINT">https://www.postgresql.org/docs/current/sql-altertable.html#SQL-ALTERTABLE-DESC-ADD-TABLE-CONSTRAINT</a></li><li>Our episode on zero-downtime migrations <a href="https://postgres.fm/episodes/zero-downtime-migrations">https://postgres.fm/episodes/zero-downtime-migrations</a></li><li>VALIDATE CONSTRAINT <a href="https://www.postgresql.org/docs/current/sql-altertable.html#SQL-ALTERTABLE-DESC-VALIDATE-CONSTRAINT">https://www.postgresql.org/docs/current/sql-altertable.html#SQL-ALTERTABLE-DESC-VALIDATE-CONSTRAINT</a></li><li>ALTER TABLE notes <a href="https://www.postgresql.org/docs/current/sql-altertable.html#SQL-ALTERTABLE-NOTES">https://www.postgresql.org/docs/current/sql-altertable.html#SQL-ALTERTABLE-NOTES</a></li><li>pgroll <a href="https://github.com/xataio/pgroll">https://github.com/xataio/pgroll</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/23d49b95/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>pg_squeeze</title>
      <itunes:episode>130</itunes:episode>
      <podcast:episode>130</podcast:episode>
      <itunes:title>pg_squeeze</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">bb2da26f-8e20-45fa-87c6-5f58bd2eb8d7</guid>
      <link>https://share.transistor.fm/s/d794245b</link>
      <description>
        <![CDATA[<p>Michael and Nikolay are joined by Antonín Houska to discuss pg_squeeze — what it is, how it started, some of its features, and hopes of getting the functionality into core.<br> <br>Here are some links to things they mentioned:</p><ul><li>Antonín Houska <a href="https://postgres.fm/people/antonin-houska">https://postgres.fm/people/antonin-houska</a></li><li>pg_squeeze <a href="https://github.com/cybertec-postgresql/pg_squeeze">https://github.com/cybertec-postgresql/pg_squeeze</a></li><li>Cybertec <a href="https://www.cybertec-postgresql.com">https://www.cybertec-postgresql.com</a></li><li>pg_repack <a href="https://github.com/reorg/pg_repack">https://github.com/reorg/pg_repack</a></li><li>Introducing pg_squeeze (by Kaarel Moppel) <a href="https://www.cybertec-postgresql.com/en/introducing-pg_squeeze-a-postgresql-extension-to-auto-rebuild-bloated-tables">https://www.cybertec-postgresql.com/en/introducing-pg_squeeze-a-postgresql-extension-to-auto-rebuild-bloated-tables</a></li><li>pg_squeeze is included in the PostgreSQL APT packages <a href="https://wiki.postgresql.org/wiki/Apt">https://wiki.postgresql.org/wiki/Apt</a></li><li>pg_squeeze is included in the PostgreSQL Yum packages <a href="https://yum.postgresql.org">https://yum.postgresql.org</a></li><li>pg_rewrite <a href="https://github.com/cybertec-postgresql/pg_rewrite">https://github.com/cybertec-postgresql/pg_rewrite</a></li><li>VACUUM FULL / CLUSTER CONCURRENTLY patch <a href="https://commitfest.postgresql.org/51/5117">https://commitfest.postgresql.org/51/5117</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Michael and Nikolay are joined by Antonín Houska to discuss pg_squeeze — what it is, how it started, some of its features, and hopes of getting the functionality into core.<br> <br>Here are some links to things they mentioned:</p><ul><li>Antonín Houska <a href="https://postgres.fm/people/antonin-houska">https://postgres.fm/people/antonin-houska</a></li><li>pg_squeeze <a href="https://github.com/cybertec-postgresql/pg_squeeze">https://github.com/cybertec-postgresql/pg_squeeze</a></li><li>Cybertec <a href="https://www.cybertec-postgresql.com">https://www.cybertec-postgresql.com</a></li><li>pg_repack <a href="https://github.com/reorg/pg_repack">https://github.com/reorg/pg_repack</a></li><li>Introducing pg_squeeze (by Kaarel Moppel) <a href="https://www.cybertec-postgresql.com/en/introducing-pg_squeeze-a-postgresql-extension-to-auto-rebuild-bloated-tables">https://www.cybertec-postgresql.com/en/introducing-pg_squeeze-a-postgresql-extension-to-auto-rebuild-bloated-tables</a></li><li>pg_squeeze is included in the PostgreSQL APT packages <a href="https://wiki.postgresql.org/wiki/Apt">https://wiki.postgresql.org/wiki/Apt</a></li><li>pg_squeeze is included in the PostgreSQL Yum packages <a href="https://yum.postgresql.org">https://yum.postgresql.org</a></li><li>pg_rewrite <a href="https://github.com/cybertec-postgresql/pg_rewrite">https://github.com/cybertec-postgresql/pg_rewrite</a></li><li>VACUUM FULL / CLUSTER CONCURRENTLY patch <a href="https://commitfest.postgresql.org/51/5117">https://commitfest.postgresql.org/51/5117</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 10 Jan 2025 14:00:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/d794245b/9b626ecd.mp3" length="35014050" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2186</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Michael and Nikolay are joined by Antonín Houska to discuss pg_squeeze — what it is, how it started, some of its features, and hopes of getting the functionality into core.<br> <br>Here are some links to things they mentioned:</p><ul><li>Antonín Houska <a href="https://postgres.fm/people/antonin-houska">https://postgres.fm/people/antonin-houska</a></li><li>pg_squeeze <a href="https://github.com/cybertec-postgresql/pg_squeeze">https://github.com/cybertec-postgresql/pg_squeeze</a></li><li>Cybertec <a href="https://www.cybertec-postgresql.com">https://www.cybertec-postgresql.com</a></li><li>pg_repack <a href="https://github.com/reorg/pg_repack">https://github.com/reorg/pg_repack</a></li><li>Introducing pg_squeeze (by Kaarel Moppel) <a href="https://www.cybertec-postgresql.com/en/introducing-pg_squeeze-a-postgresql-extension-to-auto-rebuild-bloated-tables">https://www.cybertec-postgresql.com/en/introducing-pg_squeeze-a-postgresql-extension-to-auto-rebuild-bloated-tables</a></li><li>pg_squeeze is included in the PostgreSQL APT packages <a href="https://wiki.postgresql.org/wiki/Apt">https://wiki.postgresql.org/wiki/Apt</a></li><li>pg_squeeze is included in the PostgreSQL Yum packages <a href="https://yum.postgresql.org">https://yum.postgresql.org</a></li><li>pg_rewrite <a href="https://github.com/cybertec-postgresql/pg_rewrite">https://github.com/cybertec-postgresql/pg_rewrite</a></li><li>VACUUM FULL / CLUSTER CONCURRENTLY patch <a href="https://commitfest.postgresql.org/51/5117">https://commitfest.postgresql.org/51/5117</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Guest" href="https://www.cybertec-postgresql.com" img="https://img.transistorcdn.com/C28YRP_I8bvSoQD8_0NZs8u6nU3pIhwF3YKJyQB4smw/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS8wZDg3/YTZlZTAxNTc3ZGFh/NzczMDk3ODJiZTFk/MTYyYS5qcGc.jpg">Antonín Houska</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/d794245b/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>pg_duckdb</title>
      <itunes:episode>129</itunes:episode>
      <podcast:episode>129</podcast:episode>
      <itunes:title>pg_duckdb</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">f1e93a8e-6599-4567-8d9a-ffdfcbc1c7d8</guid>
      <link>https://share.transistor.fm/s/5c9d0a00</link>
      <description>
        <![CDATA[<p>Michael and Nikolay are joined by Joe Sciarrino and Jelte Fennema-Nio to discuss pg_duckdb — what it is, how it started, what early users are using it for, and what they're working on next.<br> <br>Here are some links to things they mentioned:</p><ul><li>Joe Sciarrino <a href="https://postgres.fm/people/joe-sciarrino">https://postgres.fm/people/joe-sciarrino</a></li><li>Jelte Fennema-Nio <a href="https://postgres.fm/people/jelte-fennema-nio">https://postgres.fm/people/jelte-fennema-nio</a></li><li>pg_duckdb <a href="https://github.com/duckdb/pg_duckdb">https://github.com/duckdb/pg_duckdb</a></li><li>Hydra <a href="https://www.hydra.so">https://www.hydra.so</a></li><li>MotherDuck <a href="https://motherduck.com">https://motherduck.com</a></li><li>The problems and benefits of an elephant with a beak (lightning talk by Jelte) <a href="https://www.youtube.com/watch?v=ogvbKE4fw9A&amp;list=PLF36ND7b_WU4QL6bA28NrzBOevqUYiPYq&amp;t=1073s">https://www.youtube.com/watch?v=ogvbKE4fw9A&amp;list=PLF36ND7b_WU4QL6bA28NrzBOevqUYiPYq&amp;t=1073s</a></li><li>pg_duckdb announcement post (by Jordan and Brett from MotherDuck) <a href="https://motherduck.com/blog/pg_duckdb-postgresql-extension-for-duckdb-motherduck/">https://motherduck.com/blog/pg_duckdb-postgresql-extension-for-duckdb-motherduck</a></li><li>pg_duckdb 0.2 release <a href="https://github.com/duckdb/pg_duckdb/releases/tag/v0.2.0">https://github.com/duckdb/pg_duckdb/releases/tag/v0.2.0</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Michael and Nikolay are joined by Joe Sciarrino and Jelte Fennema-Nio to discuss pg_duckdb — what it is, how it started, what early users are using it for, and what they're working on next.<br> <br>Here are some links to things they mentioned:</p><ul><li>Joe Sciarrino <a href="https://postgres.fm/people/joe-sciarrino">https://postgres.fm/people/joe-sciarrino</a></li><li>Jelte Fennema-Nio <a href="https://postgres.fm/people/jelte-fennema-nio">https://postgres.fm/people/jelte-fennema-nio</a></li><li>pg_duckdb <a href="https://github.com/duckdb/pg_duckdb">https://github.com/duckdb/pg_duckdb</a></li><li>Hydra <a href="https://www.hydra.so">https://www.hydra.so</a></li><li>MotherDuck <a href="https://motherduck.com">https://motherduck.com</a></li><li>The problems and benefits of an elephant with a beak (lightning talk by Jelte) <a href="https://www.youtube.com/watch?v=ogvbKE4fw9A&amp;list=PLF36ND7b_WU4QL6bA28NrzBOevqUYiPYq&amp;t=1073s">https://www.youtube.com/watch?v=ogvbKE4fw9A&amp;list=PLF36ND7b_WU4QL6bA28NrzBOevqUYiPYq&amp;t=1073s</a></li><li>pg_duckdb announcement post (by Jordan and Brett from MotherDuck) <a href="https://motherduck.com/blog/pg_duckdb-postgresql-extension-for-duckdb-motherduck/">https://motherduck.com/blog/pg_duckdb-postgresql-extension-for-duckdb-motherduck</a></li><li>pg_duckdb 0.2 release <a href="https://github.com/duckdb/pg_duckdb/releases/tag/v0.2.0">https://github.com/duckdb/pg_duckdb/releases/tag/v0.2.0</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 03 Jan 2025 14:00:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/5c9d0a00/a12556dd.mp3" length="38568791" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2408</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Michael and Nikolay are joined by Joe Sciarrino and Jelte Fennema-Nio to discuss pg_duckdb — what it is, how it started, what early users are using it for, and what they're working on next.<br> <br>Here are some links to things they mentioned:</p><ul><li>Joe Sciarrino <a href="https://postgres.fm/people/joe-sciarrino">https://postgres.fm/people/joe-sciarrino</a></li><li>Jelte Fennema-Nio <a href="https://postgres.fm/people/jelte-fennema-nio">https://postgres.fm/people/jelte-fennema-nio</a></li><li>pg_duckdb <a href="https://github.com/duckdb/pg_duckdb">https://github.com/duckdb/pg_duckdb</a></li><li>Hydra <a href="https://www.hydra.so">https://www.hydra.so</a></li><li>MotherDuck <a href="https://motherduck.com">https://motherduck.com</a></li><li>The problems and benefits of an elephant with a beak (lightning talk by Jelte) <a href="https://www.youtube.com/watch?v=ogvbKE4fw9A&amp;list=PLF36ND7b_WU4QL6bA28NrzBOevqUYiPYq&amp;t=1073s">https://www.youtube.com/watch?v=ogvbKE4fw9A&amp;list=PLF36ND7b_WU4QL6bA28NrzBOevqUYiPYq&amp;t=1073s</a></li><li>pg_duckdb announcement post (by Jordan and Brett from MotherDuck) <a href="https://motherduck.com/blog/pg_duckdb-postgresql-extension-for-duckdb-motherduck/">https://motherduck.com/blog/pg_duckdb-postgresql-extension-for-duckdb-motherduck</a></li><li>pg_duckdb 0.2 release <a href="https://github.com/duckdb/pg_duckdb/releases/tag/v0.2.0">https://github.com/duckdb/pg_duckdb/releases/tag/v0.2.0</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Guest" href="https://www.hydra.so" img="https://img.transistorcdn.com/Uu40mOV0IkEcQmjsCyqcoJM-gNHvCABVBsx0HCK5CWM/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lMTBi/ZmM2ZmNjMGVjNzgw/MDUxZjY4YTA1YTU5/ZTAzMS5qcGc.jpg">Joe Sciarrino</podcast:person>
      <podcast:person role="Guest" href="https://motherduck.com/" img="https://img.transistorcdn.com/PgmUt--TpKAzDfqKe9Uou2fqA3z1espbI97UzFdkzCI/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS84Y2Qw/MTg3MTM1MmE3NTY0/ZjA0NTU0ZGNjM2U2/ZmEyYy5qcGc.jpg">Jelte Fennema-Nio</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/5c9d0a00/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>RLS vs performance</title>
      <itunes:episode>128</itunes:episode>
      <podcast:episode>128</podcast:episode>
      <itunes:title>RLS vs performance</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">1801b0cc-bd04-4978-b18e-aa2596fb052c</guid>
      <link>https://share.transistor.fm/s/675cd95c</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss Row Level Security in Postgres, focussing on the performance side effects and some tips to avoid (or minimize) them.<br> <br>Here are some links to things they mentioned:</p><ul><li>Row Security Policies (docs) <a href="https://www.postgresql.org/docs/current/ddl-rowsecurity.html">https://www.postgresql.org/docs/current/ddl-rowsecurity.html</a></li><li>7+ million Postgres tables (recent talk by Kailash Nadh) <a href="https://www.youtube.com/watch?v=xhi5Q_wL9i0">https://www.youtube.com/watch?v=xhi5Q_wL9i0</a></li><li>Row Level Security guide (Supabase docs) <a href="https://supabase.com/docs/guides/database/postgres/row-level-security">https://supabase.com/docs/guides/database/postgres/row-level-security</a></li><li>current_setting function <a href="https://www.postgresql.org/docs/current/functions-admin.html#id-1.5.8.34.3.6.2.2.1.1.1.1">https://www.postgresql.org/docs/current/functions-admin.html#id-1.5.8.34.3.6.2.2.1.1.1.1</a></li><li>Our slow count episode <a href="https://postgres.fm/episodes/slow-count">https://postgres.fm/episodes/slow-count</a></li><li>RLS Performance and Best Practices (gist from Gary Austin) <a href="https://github.com/orgs/supabase/discussions/14576">https://github.com/orgs/supabase/discussions/14576</a></li><li>Everything you need to know about Postgres Row Level Security (talk by Paul Copplestone) <a href="https://www.youtube.com/watch?v=vZT1Qx2xUCo">https://www.youtube.com/watch?v=vZT1Qx2xUCo</a></li><li>BUFFERS enabled for EXPLAIN ANALYZE by default (commit for Postgres 18) <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=c2a4078ebad71999dd451ae7d4358be3c9290b07">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=c2a4078ebad71999dd451ae7d4358be3c9290b07</a></li><li>Add UUID version 7 generation function (commit for Postgres 18) <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=78c5e141e9c139fc2ff36a220334e4aa25e1b0eb">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=78c5e141e9c139fc2ff36a220334e4aa25e1b0eb</a></li><li>Postgres hacking session with Andrey and Kirk (for UUIDv7): <a href="https://www.youtube.com/watch?v=YPq_hiOE-N8">https://www.youtube.com/watch?v=YPq_hiOE-N8</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss Row Level Security in Postgres, focussing on the performance side effects and some tips to avoid (or minimize) them.<br> <br>Here are some links to things they mentioned:</p><ul><li>Row Security Policies (docs) <a href="https://www.postgresql.org/docs/current/ddl-rowsecurity.html">https://www.postgresql.org/docs/current/ddl-rowsecurity.html</a></li><li>7+ million Postgres tables (recent talk by Kailash Nadh) <a href="https://www.youtube.com/watch?v=xhi5Q_wL9i0">https://www.youtube.com/watch?v=xhi5Q_wL9i0</a></li><li>Row Level Security guide (Supabase docs) <a href="https://supabase.com/docs/guides/database/postgres/row-level-security">https://supabase.com/docs/guides/database/postgres/row-level-security</a></li><li>current_setting function <a href="https://www.postgresql.org/docs/current/functions-admin.html#id-1.5.8.34.3.6.2.2.1.1.1.1">https://www.postgresql.org/docs/current/functions-admin.html#id-1.5.8.34.3.6.2.2.1.1.1.1</a></li><li>Our slow count episode <a href="https://postgres.fm/episodes/slow-count">https://postgres.fm/episodes/slow-count</a></li><li>RLS Performance and Best Practices (gist from Gary Austin) <a href="https://github.com/orgs/supabase/discussions/14576">https://github.com/orgs/supabase/discussions/14576</a></li><li>Everything you need to know about Postgres Row Level Security (talk by Paul Copplestone) <a href="https://www.youtube.com/watch?v=vZT1Qx2xUCo">https://www.youtube.com/watch?v=vZT1Qx2xUCo</a></li><li>BUFFERS enabled for EXPLAIN ANALYZE by default (commit for Postgres 18) <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=c2a4078ebad71999dd451ae7d4358be3c9290b07">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=c2a4078ebad71999dd451ae7d4358be3c9290b07</a></li><li>Add UUID version 7 generation function (commit for Postgres 18) <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=78c5e141e9c139fc2ff36a220334e4aa25e1b0eb">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=78c5e141e9c139fc2ff36a220334e4aa25e1b0eb</a></li><li>Postgres hacking session with Andrey and Kirk (for UUIDv7): <a href="https://www.youtube.com/watch?v=YPq_hiOE-N8">https://www.youtube.com/watch?v=YPq_hiOE-N8</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 20 Dec 2024 14:00:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/675cd95c/c8f336e6.mp3" length="39210377" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2448</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss Row Level Security in Postgres, focussing on the performance side effects and some tips to avoid (or minimize) them.<br> <br>Here are some links to things they mentioned:</p><ul><li>Row Security Policies (docs) <a href="https://www.postgresql.org/docs/current/ddl-rowsecurity.html">https://www.postgresql.org/docs/current/ddl-rowsecurity.html</a></li><li>7+ million Postgres tables (recent talk by Kailash Nadh) <a href="https://www.youtube.com/watch?v=xhi5Q_wL9i0">https://www.youtube.com/watch?v=xhi5Q_wL9i0</a></li><li>Row Level Security guide (Supabase docs) <a href="https://supabase.com/docs/guides/database/postgres/row-level-security">https://supabase.com/docs/guides/database/postgres/row-level-security</a></li><li>current_setting function <a href="https://www.postgresql.org/docs/current/functions-admin.html#id-1.5.8.34.3.6.2.2.1.1.1.1">https://www.postgresql.org/docs/current/functions-admin.html#id-1.5.8.34.3.6.2.2.1.1.1.1</a></li><li>Our slow count episode <a href="https://postgres.fm/episodes/slow-count">https://postgres.fm/episodes/slow-count</a></li><li>RLS Performance and Best Practices (gist from Gary Austin) <a href="https://github.com/orgs/supabase/discussions/14576">https://github.com/orgs/supabase/discussions/14576</a></li><li>Everything you need to know about Postgres Row Level Security (talk by Paul Copplestone) <a href="https://www.youtube.com/watch?v=vZT1Qx2xUCo">https://www.youtube.com/watch?v=vZT1Qx2xUCo</a></li><li>BUFFERS enabled for EXPLAIN ANALYZE by default (commit for Postgres 18) <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=c2a4078ebad71999dd451ae7d4358be3c9290b07">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=c2a4078ebad71999dd451ae7d4358be3c9290b07</a></li><li>Add UUID version 7 generation function (commit for Postgres 18) <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=78c5e141e9c139fc2ff36a220334e4aa25e1b0eb">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=78c5e141e9c139fc2ff36a220334e4aa25e1b0eb</a></li><li>Postgres hacking session with Andrey and Kirk (for UUIDv7): <a href="https://www.youtube.com/watch?v=YPq_hiOE-N8">https://www.youtube.com/watch?v=YPq_hiOE-N8</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/675cd95c/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>jOOQ</title>
      <itunes:episode>127</itunes:episode>
      <podcast:episode>127</podcast:episode>
      <itunes:title>jOOQ</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">321997f6-02ad-42d9-b379-89355051c2cf</guid>
      <link>https://share.transistor.fm/s/a1205ff9</link>
      <description>
        <![CDATA[<p>Michael and Nikolay are joined by Lukas Eder, the creator of jOOQ, to discuss what it is, some nice developer experience features it has, and some fun things he's come across from a Postgres perspective.<br> <br>Here are some links to things they mentioned:</p><ul><li>Lukas Eder <a href="https://postgres.fm/people/lukas-eder">https://postgres.fm/people/lukas-eder</a></li><li>jOOQ <a href="https://www.jooq.org/">https://www.jooq.org/</a> </li><li>DSL <a href="https://en.wikipedia.org/wiki/Domain-specific_language">https://en.wikipedia.org/wiki/Domain-specific_language</a> </li><li>SQL Dialects <a href="https://www.jooq.org/javadoc/latest/org.jooq/org/jooq/SQLDialect.html">https://www.jooq.org/javadoc/latest/org.jooq/org/jooq/SQLDialect.html</a></li><li>MERGE <a href="https://www.postgresql.org/docs/current/sql-merge.html">https://www.postgresql.org/docs/current/sql-merge.html</a> </li><li>match_recognize <a href="https://modern-sql.com/feature/match_recognize">https://modern-sql.com/feature/match_recognize</a> </li><li>JOOQ, joy of SQL (talk by Kevin Davin) <a href="https://www.youtube.com/watch?v=8Ej47GZX9D8">https://www.youtube.com/watch?v=8Ej47GZX9D8</a>  </li><li>BUFFERS enabled for EXPLAIN ANALYZE by default (commit for Postgres 18) <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=c2a4078ebad71999dd451ae7d4358be3c9290b07">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=c2a4078ebad71999dd451ae7d4358be3c9290b07</a> </li><li>PostGIS <a href="https://postgis.net/">https://postgis.net/</a> </li><li>10 SQL Tricks That You Didn’t Think Were Possible (blog post by Lukas) <a href="https://blog.jooq.org/10-sql-tricks-that-you-didnt-think-were-possible/">https://blog.jooq.org/10-sql-tricks-that-you-didnt-think-were-possible/</a> </li><li>jOOQ questions on Stack Overflow <a href="https://stackoverflow.com/questions/tagged/jooq">https://stackoverflow.com/questions/tagged/jooq</a> </li><li>Our episode on NULLs <a href="https://postgres.fm/episodes/nulls-the-good-the-bad-the-ugly-and-the-unknown">https://postgres.fm/episodes/nulls-the-good-the-bad-the-ugly-and-the-unknown</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Michael and Nikolay are joined by Lukas Eder, the creator of jOOQ, to discuss what it is, some nice developer experience features it has, and some fun things he's come across from a Postgres perspective.<br> <br>Here are some links to things they mentioned:</p><ul><li>Lukas Eder <a href="https://postgres.fm/people/lukas-eder">https://postgres.fm/people/lukas-eder</a></li><li>jOOQ <a href="https://www.jooq.org/">https://www.jooq.org/</a> </li><li>DSL <a href="https://en.wikipedia.org/wiki/Domain-specific_language">https://en.wikipedia.org/wiki/Domain-specific_language</a> </li><li>SQL Dialects <a href="https://www.jooq.org/javadoc/latest/org.jooq/org/jooq/SQLDialect.html">https://www.jooq.org/javadoc/latest/org.jooq/org/jooq/SQLDialect.html</a></li><li>MERGE <a href="https://www.postgresql.org/docs/current/sql-merge.html">https://www.postgresql.org/docs/current/sql-merge.html</a> </li><li>match_recognize <a href="https://modern-sql.com/feature/match_recognize">https://modern-sql.com/feature/match_recognize</a> </li><li>JOOQ, joy of SQL (talk by Kevin Davin) <a href="https://www.youtube.com/watch?v=8Ej47GZX9D8">https://www.youtube.com/watch?v=8Ej47GZX9D8</a>  </li><li>BUFFERS enabled for EXPLAIN ANALYZE by default (commit for Postgres 18) <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=c2a4078ebad71999dd451ae7d4358be3c9290b07">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=c2a4078ebad71999dd451ae7d4358be3c9290b07</a> </li><li>PostGIS <a href="https://postgis.net/">https://postgis.net/</a> </li><li>10 SQL Tricks That You Didn’t Think Were Possible (blog post by Lukas) <a href="https://blog.jooq.org/10-sql-tricks-that-you-didnt-think-were-possible/">https://blog.jooq.org/10-sql-tricks-that-you-didnt-think-were-possible/</a> </li><li>jOOQ questions on Stack Overflow <a href="https://stackoverflow.com/questions/tagged/jooq">https://stackoverflow.com/questions/tagged/jooq</a> </li><li>Our episode on NULLs <a href="https://postgres.fm/episodes/nulls-the-good-the-bad-the-ugly-and-the-unknown">https://postgres.fm/episodes/nulls-the-good-the-bad-the-ugly-and-the-unknown</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 13 Dec 2024 14:00:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/a1205ff9/d96dec35.mp3" length="48534597" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>3031</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Michael and Nikolay are joined by Lukas Eder, the creator of jOOQ, to discuss what it is, some nice developer experience features it has, and some fun things he's come across from a Postgres perspective.<br> <br>Here are some links to things they mentioned:</p><ul><li>Lukas Eder <a href="https://postgres.fm/people/lukas-eder">https://postgres.fm/people/lukas-eder</a></li><li>jOOQ <a href="https://www.jooq.org/">https://www.jooq.org/</a> </li><li>DSL <a href="https://en.wikipedia.org/wiki/Domain-specific_language">https://en.wikipedia.org/wiki/Domain-specific_language</a> </li><li>SQL Dialects <a href="https://www.jooq.org/javadoc/latest/org.jooq/org/jooq/SQLDialect.html">https://www.jooq.org/javadoc/latest/org.jooq/org/jooq/SQLDialect.html</a></li><li>MERGE <a href="https://www.postgresql.org/docs/current/sql-merge.html">https://www.postgresql.org/docs/current/sql-merge.html</a> </li><li>match_recognize <a href="https://modern-sql.com/feature/match_recognize">https://modern-sql.com/feature/match_recognize</a> </li><li>JOOQ, joy of SQL (talk by Kevin Davin) <a href="https://www.youtube.com/watch?v=8Ej47GZX9D8">https://www.youtube.com/watch?v=8Ej47GZX9D8</a>  </li><li>BUFFERS enabled for EXPLAIN ANALYZE by default (commit for Postgres 18) <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=c2a4078ebad71999dd451ae7d4358be3c9290b07">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=c2a4078ebad71999dd451ae7d4358be3c9290b07</a> </li><li>PostGIS <a href="https://postgis.net/">https://postgis.net/</a> </li><li>10 SQL Tricks That You Didn’t Think Were Possible (blog post by Lukas) <a href="https://blog.jooq.org/10-sql-tricks-that-you-didnt-think-were-possible/">https://blog.jooq.org/10-sql-tricks-that-you-didnt-think-were-possible/</a> </li><li>jOOQ questions on Stack Overflow <a href="https://stackoverflow.com/questions/tagged/jooq">https://stackoverflow.com/questions/tagged/jooq</a> </li><li>Our episode on NULLs <a href="https://postgres.fm/episodes/nulls-the-good-the-bad-the-ugly-and-the-unknown">https://postgres.fm/episodes/nulls-the-good-the-bad-the-ugly-and-the-unknown</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Guest" href="https://www.jooq.org" img="https://img.transistorcdn.com/joAdXHla5xoONb7_-ZKGCnJziXxgVb521EdA7jpzqj0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9mNzEw/MzI0MDg3MjM3NDRm/NDZiYzU4YzkzMjJk/MzI4My5qcGc.jpg">Lukas Eder</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/a1205ff9/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Column Tetris</title>
      <itunes:episode>126</itunes:episode>
      <podcast:episode>126</podcast:episode>
      <itunes:title>Column Tetris</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">d75a8f2a-c800-401a-b1c4-625dbca94bfc</guid>
      <link>https://share.transistor.fm/s/c73d50b8</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss "Column Tetris" — what it is, why it matters, how to order columns for new tables, and how to re-organise existing ones.<br> <br>Here are some links to things they mentioned:</p><ul><li>“Column Tetris” by Erwin Brandstetter on Stack Overflow  <a href="https://stackoverflow.com/questions/2966524/calculating-and-saving-space-in-postgresql/7431468#7431468">https://stackoverflow.com/questions/2966524/calculating-and-saving-space-in-postgresql/7431468#7431468</a></li><li>Data Types <a href="https://www.postgresql.org/docs/current/datatype.html">https://www.postgresql.org/docs/current/datatype.html</a></li><li>OrioleDB beta7 benchmarks <a href="https://www.orioledb.com/blog/orioledb-beta7-benchmarks">https://www.orioledb.com/blog/orioledb-beta7-benchmarks</a></li><li>pg_hexedit <a href="https://github.com/petergeoghegan/pg_hexedit">https://github.com/petergeoghegan/pg_hexedit</a></li><li>Saving Space Basically for Free (blog post by James Coleman from Braintree) <a href="https://medium.com/paypal-tech/postgresql-at-scale-saving-space-basically-for-free-d94483d9ed9a">https://medium.com/paypal-tech/postgresql-at-scale-saving-space-basically-for-free-d94483d9ed9a</a></li><li>Ordering Table Columns (GitLab <a href="https://docs.gitlab.com/ee/development/database/ordering_table_columns.html">https://docs.gitlab.com/ee/development/database/ordering_table_columns.html</a></li><li>postgres_dba alignment padding query <a href="https://github.com/NikolayS/postgres_dba/blob/master/sql/p1_alignment_padding.sql">https://github.com/NikolayS/postgres_dba/blob/master/sql/p1_alignment_padding.sql</a></li><li>Good explanation from Marco Slot of how alignment was used to fix a recent issue <a href="https://x.com/marcoslot/status/1858132850383421570">https://x.com/marcoslot/status/1858132850383421570</a></li><li>pg_repack feature request discussion <a href="https://github.com/reorg/pg_repack/issues/101">https://github.com/reorg/pg_repack/issues/101</a></li><li>Our episode on bloat (with Chelsea Dole) <a href="https://postgres.fm/episodes/bloat">https://postgres.fm/episodes/bloat</a></li><li>Optimizing table layout for maximum efficiency (blog post by Renato Massaro) <a href="https://r.ena.to/blog/optimizing-postgres-table-layout-for-maximum-efficiency/">https://r.ena.to/blog/optimizing-postgres-table-layout-for-maximum-efficiency</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss "Column Tetris" — what it is, why it matters, how to order columns for new tables, and how to re-organise existing ones.<br> <br>Here are some links to things they mentioned:</p><ul><li>“Column Tetris” by Erwin Brandstetter on Stack Overflow  <a href="https://stackoverflow.com/questions/2966524/calculating-and-saving-space-in-postgresql/7431468#7431468">https://stackoverflow.com/questions/2966524/calculating-and-saving-space-in-postgresql/7431468#7431468</a></li><li>Data Types <a href="https://www.postgresql.org/docs/current/datatype.html">https://www.postgresql.org/docs/current/datatype.html</a></li><li>OrioleDB beta7 benchmarks <a href="https://www.orioledb.com/blog/orioledb-beta7-benchmarks">https://www.orioledb.com/blog/orioledb-beta7-benchmarks</a></li><li>pg_hexedit <a href="https://github.com/petergeoghegan/pg_hexedit">https://github.com/petergeoghegan/pg_hexedit</a></li><li>Saving Space Basically for Free (blog post by James Coleman from Braintree) <a href="https://medium.com/paypal-tech/postgresql-at-scale-saving-space-basically-for-free-d94483d9ed9a">https://medium.com/paypal-tech/postgresql-at-scale-saving-space-basically-for-free-d94483d9ed9a</a></li><li>Ordering Table Columns (GitLab <a href="https://docs.gitlab.com/ee/development/database/ordering_table_columns.html">https://docs.gitlab.com/ee/development/database/ordering_table_columns.html</a></li><li>postgres_dba alignment padding query <a href="https://github.com/NikolayS/postgres_dba/blob/master/sql/p1_alignment_padding.sql">https://github.com/NikolayS/postgres_dba/blob/master/sql/p1_alignment_padding.sql</a></li><li>Good explanation from Marco Slot of how alignment was used to fix a recent issue <a href="https://x.com/marcoslot/status/1858132850383421570">https://x.com/marcoslot/status/1858132850383421570</a></li><li>pg_repack feature request discussion <a href="https://github.com/reorg/pg_repack/issues/101">https://github.com/reorg/pg_repack/issues/101</a></li><li>Our episode on bloat (with Chelsea Dole) <a href="https://postgres.fm/episodes/bloat">https://postgres.fm/episodes/bloat</a></li><li>Optimizing table layout for maximum efficiency (blog post by Renato Massaro) <a href="https://r.ena.to/blog/optimizing-postgres-table-layout-for-maximum-efficiency/">https://r.ena.to/blog/optimizing-postgres-table-layout-for-maximum-efficiency</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 06 Dec 2024 14:00:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/c73d50b8/9c4740f0.mp3" length="39488727" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2466</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss "Column Tetris" — what it is, why it matters, how to order columns for new tables, and how to re-organise existing ones.<br> <br>Here are some links to things they mentioned:</p><ul><li>“Column Tetris” by Erwin Brandstetter on Stack Overflow  <a href="https://stackoverflow.com/questions/2966524/calculating-and-saving-space-in-postgresql/7431468#7431468">https://stackoverflow.com/questions/2966524/calculating-and-saving-space-in-postgresql/7431468#7431468</a></li><li>Data Types <a href="https://www.postgresql.org/docs/current/datatype.html">https://www.postgresql.org/docs/current/datatype.html</a></li><li>OrioleDB beta7 benchmarks <a href="https://www.orioledb.com/blog/orioledb-beta7-benchmarks">https://www.orioledb.com/blog/orioledb-beta7-benchmarks</a></li><li>pg_hexedit <a href="https://github.com/petergeoghegan/pg_hexedit">https://github.com/petergeoghegan/pg_hexedit</a></li><li>Saving Space Basically for Free (blog post by James Coleman from Braintree) <a href="https://medium.com/paypal-tech/postgresql-at-scale-saving-space-basically-for-free-d94483d9ed9a">https://medium.com/paypal-tech/postgresql-at-scale-saving-space-basically-for-free-d94483d9ed9a</a></li><li>Ordering Table Columns (GitLab <a href="https://docs.gitlab.com/ee/development/database/ordering_table_columns.html">https://docs.gitlab.com/ee/development/database/ordering_table_columns.html</a></li><li>postgres_dba alignment padding query <a href="https://github.com/NikolayS/postgres_dba/blob/master/sql/p1_alignment_padding.sql">https://github.com/NikolayS/postgres_dba/blob/master/sql/p1_alignment_padding.sql</a></li><li>Good explanation from Marco Slot of how alignment was used to fix a recent issue <a href="https://x.com/marcoslot/status/1858132850383421570">https://x.com/marcoslot/status/1858132850383421570</a></li><li>pg_repack feature request discussion <a href="https://github.com/reorg/pg_repack/issues/101">https://github.com/reorg/pg_repack/issues/101</a></li><li>Our episode on bloat (with Chelsea Dole) <a href="https://postgres.fm/episodes/bloat">https://postgres.fm/episodes/bloat</a></li><li>Optimizing table layout for maximum efficiency (blog post by Renato Massaro) <a href="https://r.ena.to/blog/optimizing-postgres-table-layout-for-maximum-efficiency/">https://r.ena.to/blog/optimizing-postgres-table-layout-for-maximum-efficiency</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/c73d50b8/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>pg_stat_statements track_planning</title>
      <itunes:episode>125</itunes:episode>
      <podcast:episode>125</podcast:episode>
      <itunes:title>pg_stat_statements track_planning</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">e4c97c54-a08a-4415-97e0-5764259936d0</guid>
      <link>https://share.transistor.fm/s/729ade94</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss the track_planning parameter of pg_stat_statements — what it is, how it affects performance, and when or whether you should switch it on.<br> <br>Here are some links to things they mentioned:</p><ul><li>pg_stat_statements.track_planning <a href="https://www.postgresql.org/docs/current/pgstatstatements.html#id-1.11.7.40.9.2.4.1.3">https://www.postgresql.org/docs/current/pgstatstatements.html#id-1.11.7.40.9.2.4.1.3</a></li><li>Our episode about pg_stat_statements <a href="https://postgres.fm/episodes/pg_stat_statements">https://postgres.fm/episodes/pg_stat_statements</a></li><li>PostgreSQL 13.0 release notes <a href="https://www.postgresql.org/docs/release/13.0/">https://www.postgresql.org/docs/release/13.0/</a></li><li>track_planning causing performance regression (thread on hackers during v13 beta) <a href="https://www.postgresql.org/message-id/flat/2895b53b033c47ccb22972b589050dd9%40EX13D05UWC001.ant.amazon.com">https://www.postgresql.org/message-id/flat/2895b53b033c47ccb22972b589050dd9%40EX13D05UWC001.ant.amazon.com</a></li><li>Our episode on 4 million TPS <a href="https://postgres.fm/episodes/four-million-tps">https://postgres.fm/episodes/four-million-tps</a></li><li>Observer effect in pg_stat_statements and pg_stat_kcache (Postgres TV Hacking session with Andrey and Kirk) <a href="https://www.youtube.com/live/wHMNX-fHb2A?si=DPgmrPaSpPF6DxuS">https://www.youtube.com/live/wHMNX-fHb2A?si=DPgmrPaSpPF6DxuS</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss the track_planning parameter of pg_stat_statements — what it is, how it affects performance, and when or whether you should switch it on.<br> <br>Here are some links to things they mentioned:</p><ul><li>pg_stat_statements.track_planning <a href="https://www.postgresql.org/docs/current/pgstatstatements.html#id-1.11.7.40.9.2.4.1.3">https://www.postgresql.org/docs/current/pgstatstatements.html#id-1.11.7.40.9.2.4.1.3</a></li><li>Our episode about pg_stat_statements <a href="https://postgres.fm/episodes/pg_stat_statements">https://postgres.fm/episodes/pg_stat_statements</a></li><li>PostgreSQL 13.0 release notes <a href="https://www.postgresql.org/docs/release/13.0/">https://www.postgresql.org/docs/release/13.0/</a></li><li>track_planning causing performance regression (thread on hackers during v13 beta) <a href="https://www.postgresql.org/message-id/flat/2895b53b033c47ccb22972b589050dd9%40EX13D05UWC001.ant.amazon.com">https://www.postgresql.org/message-id/flat/2895b53b033c47ccb22972b589050dd9%40EX13D05UWC001.ant.amazon.com</a></li><li>Our episode on 4 million TPS <a href="https://postgres.fm/episodes/four-million-tps">https://postgres.fm/episodes/four-million-tps</a></li><li>Observer effect in pg_stat_statements and pg_stat_kcache (Postgres TV Hacking session with Andrey and Kirk) <a href="https://www.youtube.com/live/wHMNX-fHb2A?si=DPgmrPaSpPF6DxuS">https://www.youtube.com/live/wHMNX-fHb2A?si=DPgmrPaSpPF6DxuS</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 29 Nov 2024 14:00:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/729ade94/f3057832.mp3" length="36437665" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2275</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss the track_planning parameter of pg_stat_statements — what it is, how it affects performance, and when or whether you should switch it on.<br> <br>Here are some links to things they mentioned:</p><ul><li>pg_stat_statements.track_planning <a href="https://www.postgresql.org/docs/current/pgstatstatements.html#id-1.11.7.40.9.2.4.1.3">https://www.postgresql.org/docs/current/pgstatstatements.html#id-1.11.7.40.9.2.4.1.3</a></li><li>Our episode about pg_stat_statements <a href="https://postgres.fm/episodes/pg_stat_statements">https://postgres.fm/episodes/pg_stat_statements</a></li><li>PostgreSQL 13.0 release notes <a href="https://www.postgresql.org/docs/release/13.0/">https://www.postgresql.org/docs/release/13.0/</a></li><li>track_planning causing performance regression (thread on hackers during v13 beta) <a href="https://www.postgresql.org/message-id/flat/2895b53b033c47ccb22972b589050dd9%40EX13D05UWC001.ant.amazon.com">https://www.postgresql.org/message-id/flat/2895b53b033c47ccb22972b589050dd9%40EX13D05UWC001.ant.amazon.com</a></li><li>Our episode on 4 million TPS <a href="https://postgres.fm/episodes/four-million-tps">https://postgres.fm/episodes/four-million-tps</a></li><li>Observer effect in pg_stat_statements and pg_stat_kcache (Postgres TV Hacking session with Andrey and Kirk) <a href="https://www.youtube.com/live/wHMNX-fHb2A?si=DPgmrPaSpPF6DxuS">https://www.youtube.com/live/wHMNX-fHb2A?si=DPgmrPaSpPF6DxuS</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/729ade94/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Is pg_dump a backup tool?</title>
      <itunes:episode>124</itunes:episode>
      <podcast:episode>124</podcast:episode>
      <itunes:title>Is pg_dump a backup tool?</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">b0f39990-491b-4eb2-9e41-aefb0916acaa</guid>
      <link>https://share.transistor.fm/s/83cf99e3</link>
      <description>
        <![CDATA[<p>Michael and Nikolay are joined by Gülçin Yıldırım Jelínek and Robert Haas to discuss both the technical question of whether or not pg_dump is a backup tool, as well as the tone and intent behind the statement "pg_dump is not a backup tool".<br> <br>Here are some links to things they mentioned:</p><ul><li>Gülçin Yıldırım Jelínek <a href="https://postgres.fm/people/gulcin-yildirim-jelinek">https://postgres.fm/people/gulcin-yildirim-jelinek</a></li><li>Robert Haas <a href="https://postgres.fm/people/robert-haas">https://postgres.fm/people/robert-haas</a></li><li>Why you should upgrade PostgreSQL today (blog post by Gülçin) <a href="https://xata.io/blog/cve-2024-7348-postgres-upgrade">https://xata.io/blog/cve-2024-7348-postgres-upgrade</a></li><li>If pg_dump is not a backup tool, what is? (blog post by Gülçin) <a href="https://xata.io/blog/pgdump-is-not-a-backup-tool">https://xata.io/blog/pgdump-is-not-a-backup-tool</a></li><li>Is pg_dump a backup tool? (blog post by Robert) <a href="https://rhaas.blogspot.com/2024/10/is-pgdump-backup-tool.html?m=1">https://rhaas.blogspot.com/2024/10/is-pgdump-backup-tool.html?m=1</a></li><li>Why pg_dump is amazing (blog post by Robert) <a href="https://rhaas.blogspot.com/2024/11/why-pgdump-is-amazing.html">https://rhaas.blogspot.com/2024/11/why-pgdump-is-amazing.html</a></li><li>Avoid too prominent use of "backup" on pg_dump man page (commit by Peter Eisentraut) <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=4f29394ea941f688fd4faf7260d2c198931ca797">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=4f29394ea941f688fd4faf7260d2c198931ca797</a></li><li>Is pg_dump a backup tool? (poll by Nikolay with options Yes / No / Define backup) <a href="https://x.com/samokhvalov/status/1847015453056786771">https://x.com/samokhvalov/status/1847015453056786771</a></li><li>What's the best way to make a backup (a recent example discussion on Reddit) <a href="https://www.reddit.com/r/PostgreSQL/comments/1gu4r05/whats_the_best_way_to_make_a_backup/">https://www.reddit.com/r/PostgreSQL/comments/1gu4r05/whats_the_best_way_to_make_a_backup/</a></li><li>Hackers mailing list <a href="https://www.postgresql.org/list/pgsql-hackers/">https://www.postgresql.org/list/pgsql-hackers/</a> </li><li>Praise, Criticism, and Dialogue (blog post by Robert) <a href="https://rhaas.blogspot.com/2023/12/praise-criticism-and-dialogue.html">https://rhaas.blogspot.com/2023/12/praise-criticism-and-dialogue.html</a> </li><li>Out-of-cycle release scheduled for November 21, 2024 <a href="https://www.postgresql.org/about/news/out-of-cycle-release-scheduled-for-november-21-2024-2958/">https://www.postgresql.org/about/news/out-of-cycle-release-scheduled-for-november-21-2024-2958/</a> </li><li>pgBackRest <a href="https://github.com/pgbackrest/pgbackrest">https://github.com/pgbackrest/pgbackrest</a> </li><li>Barman <a href="https://github.com/EnterpriseDB/barman">https://github.com/EnterpriseDB/barman</a> </li><li>Our previous episode on backups <a href="https://postgres.fm/episodes/backups">https://postgres.fm/episodes/backups</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Michael and Nikolay are joined by Gülçin Yıldırım Jelínek and Robert Haas to discuss both the technical question of whether or not pg_dump is a backup tool, as well as the tone and intent behind the statement "pg_dump is not a backup tool".<br> <br>Here are some links to things they mentioned:</p><ul><li>Gülçin Yıldırım Jelínek <a href="https://postgres.fm/people/gulcin-yildirim-jelinek">https://postgres.fm/people/gulcin-yildirim-jelinek</a></li><li>Robert Haas <a href="https://postgres.fm/people/robert-haas">https://postgres.fm/people/robert-haas</a></li><li>Why you should upgrade PostgreSQL today (blog post by Gülçin) <a href="https://xata.io/blog/cve-2024-7348-postgres-upgrade">https://xata.io/blog/cve-2024-7348-postgres-upgrade</a></li><li>If pg_dump is not a backup tool, what is? (blog post by Gülçin) <a href="https://xata.io/blog/pgdump-is-not-a-backup-tool">https://xata.io/blog/pgdump-is-not-a-backup-tool</a></li><li>Is pg_dump a backup tool? (blog post by Robert) <a href="https://rhaas.blogspot.com/2024/10/is-pgdump-backup-tool.html?m=1">https://rhaas.blogspot.com/2024/10/is-pgdump-backup-tool.html?m=1</a></li><li>Why pg_dump is amazing (blog post by Robert) <a href="https://rhaas.blogspot.com/2024/11/why-pgdump-is-amazing.html">https://rhaas.blogspot.com/2024/11/why-pgdump-is-amazing.html</a></li><li>Avoid too prominent use of "backup" on pg_dump man page (commit by Peter Eisentraut) <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=4f29394ea941f688fd4faf7260d2c198931ca797">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=4f29394ea941f688fd4faf7260d2c198931ca797</a></li><li>Is pg_dump a backup tool? (poll by Nikolay with options Yes / No / Define backup) <a href="https://x.com/samokhvalov/status/1847015453056786771">https://x.com/samokhvalov/status/1847015453056786771</a></li><li>What's the best way to make a backup (a recent example discussion on Reddit) <a href="https://www.reddit.com/r/PostgreSQL/comments/1gu4r05/whats_the_best_way_to_make_a_backup/">https://www.reddit.com/r/PostgreSQL/comments/1gu4r05/whats_the_best_way_to_make_a_backup/</a></li><li>Hackers mailing list <a href="https://www.postgresql.org/list/pgsql-hackers/">https://www.postgresql.org/list/pgsql-hackers/</a> </li><li>Praise, Criticism, and Dialogue (blog post by Robert) <a href="https://rhaas.blogspot.com/2023/12/praise-criticism-and-dialogue.html">https://rhaas.blogspot.com/2023/12/praise-criticism-and-dialogue.html</a> </li><li>Out-of-cycle release scheduled for November 21, 2024 <a href="https://www.postgresql.org/about/news/out-of-cycle-release-scheduled-for-november-21-2024-2958/">https://www.postgresql.org/about/news/out-of-cycle-release-scheduled-for-november-21-2024-2958/</a> </li><li>pgBackRest <a href="https://github.com/pgbackrest/pgbackrest">https://github.com/pgbackrest/pgbackrest</a> </li><li>Barman <a href="https://github.com/EnterpriseDB/barman">https://github.com/EnterpriseDB/barman</a> </li><li>Our previous episode on backups <a href="https://postgres.fm/episodes/backups">https://postgres.fm/episodes/backups</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 22 Nov 2024 14:00:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/83cf99e3/1fb8e83a.mp3" length="46816412" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2924</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Michael and Nikolay are joined by Gülçin Yıldırım Jelínek and Robert Haas to discuss both the technical question of whether or not pg_dump is a backup tool, as well as the tone and intent behind the statement "pg_dump is not a backup tool".<br> <br>Here are some links to things they mentioned:</p><ul><li>Gülçin Yıldırım Jelínek <a href="https://postgres.fm/people/gulcin-yildirim-jelinek">https://postgres.fm/people/gulcin-yildirim-jelinek</a></li><li>Robert Haas <a href="https://postgres.fm/people/robert-haas">https://postgres.fm/people/robert-haas</a></li><li>Why you should upgrade PostgreSQL today (blog post by Gülçin) <a href="https://xata.io/blog/cve-2024-7348-postgres-upgrade">https://xata.io/blog/cve-2024-7348-postgres-upgrade</a></li><li>If pg_dump is not a backup tool, what is? (blog post by Gülçin) <a href="https://xata.io/blog/pgdump-is-not-a-backup-tool">https://xata.io/blog/pgdump-is-not-a-backup-tool</a></li><li>Is pg_dump a backup tool? (blog post by Robert) <a href="https://rhaas.blogspot.com/2024/10/is-pgdump-backup-tool.html?m=1">https://rhaas.blogspot.com/2024/10/is-pgdump-backup-tool.html?m=1</a></li><li>Why pg_dump is amazing (blog post by Robert) <a href="https://rhaas.blogspot.com/2024/11/why-pgdump-is-amazing.html">https://rhaas.blogspot.com/2024/11/why-pgdump-is-amazing.html</a></li><li>Avoid too prominent use of "backup" on pg_dump man page (commit by Peter Eisentraut) <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=4f29394ea941f688fd4faf7260d2c198931ca797">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=4f29394ea941f688fd4faf7260d2c198931ca797</a></li><li>Is pg_dump a backup tool? (poll by Nikolay with options Yes / No / Define backup) <a href="https://x.com/samokhvalov/status/1847015453056786771">https://x.com/samokhvalov/status/1847015453056786771</a></li><li>What's the best way to make a backup (a recent example discussion on Reddit) <a href="https://www.reddit.com/r/PostgreSQL/comments/1gu4r05/whats_the_best_way_to_make_a_backup/">https://www.reddit.com/r/PostgreSQL/comments/1gu4r05/whats_the_best_way_to_make_a_backup/</a></li><li>Hackers mailing list <a href="https://www.postgresql.org/list/pgsql-hackers/">https://www.postgresql.org/list/pgsql-hackers/</a> </li><li>Praise, Criticism, and Dialogue (blog post by Robert) <a href="https://rhaas.blogspot.com/2023/12/praise-criticism-and-dialogue.html">https://rhaas.blogspot.com/2023/12/praise-criticism-and-dialogue.html</a> </li><li>Out-of-cycle release scheduled for November 21, 2024 <a href="https://www.postgresql.org/about/news/out-of-cycle-release-scheduled-for-november-21-2024-2958/">https://www.postgresql.org/about/news/out-of-cycle-release-scheduled-for-november-21-2024-2958/</a> </li><li>pgBackRest <a href="https://github.com/pgbackrest/pgbackrest">https://github.com/pgbackrest/pgbackrest</a> </li><li>Barman <a href="https://github.com/EnterpriseDB/barman">https://github.com/EnterpriseDB/barman</a> </li><li>Our previous episode on backups <a href="https://postgres.fm/episodes/backups">https://postgres.fm/episodes/backups</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Guest" href="http://divaconf.com" img="https://img.transistorcdn.com/LanIu0xm5S39TKe7SKbNk2W3dyxd2LBXnksoOX6H4lQ/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS80MjI2/NWE0ZmMxNmQ4OWNl/MjA2NzhkNTdkNjIy/NWMzZS5qcGc.jpg">Gülçin Yıldırım Jelínek</podcast:person>
      <podcast:person role="Guest" href="http://rhaas.blogspot.com" img="https://img.transistorcdn.com/37vLG7OQsA_UjtBOkE-TEgLEDcDWIk-UFsR9HuopxU4/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS84MmJk/OWQxNDdmZTI2NDYy/MDk2ZTIyNTE1MWEy/NjE1Ny5qcGc.jpg">Robert Haas</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/83cf99e3/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Append-only tables</title>
      <itunes:episode>123</itunes:episode>
      <podcast:episode>123</podcast:episode>
      <itunes:title>Append-only tables</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">a48aef45-183d-49f9-8815-ce7925519619</guid>
      <link>https://share.transistor.fm/s/e0b600cf</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss append-only tables in Postgres — what they are, some unique challenges they bring, and some options for compressing / removing / offloading the data eventually.<br> <br>Here are some links to things they mentioned:</p><ul><li>Append-only <a href="https://en.wikipedia.org/wiki/Append-only">https://en.wikipedia.org/wiki/Append-only</a></li><li>Our episode on BRIN indexes <a href="https://postgres.fm/episodes/brin-indexes">https://postgres.fm/episodes/brin-indexes</a></li><li>Tips to Improve Insert Performance <a href="https://www.timescale.com/blog/13-tips-to-improve-postgresql-insert-performance/">https://www.timescale.com/blog/13-tips-to-improve-postgresql-insert-performance/</a> </li><li>Our episode on WAL and checkpoint tuning <a href="https://postgres.fm/episodes/wal-and-checkpoint-tuning">https://postgres.fm/episodes/wal-and-checkpoint-tuning</a></li><li>autovacuum_vacuum_insert_scale_factor <a href="https://www.postgresql.org/docs/current/runtime-config-autovacuum.html#GUC-AUTOVACUUM-VACUUM-INSERT-SCALE-FACTOR">https://www.postgresql.org/docs/current/runtime-config-autovacuum.html#GUC-AUTOVACUUM-VACUUM-INSERT-SCALE-FACTOR</a> </li><li>Our episode about compression <a href="https://postgres.fm/episodes/compression">https://postgres.fm/episodes/compression</a></li><li>New project announced recently called BemiDB <a href="https://x.com/samokhvalov/status/1854726389603484145">https://x.com/samokhvalov/status/1854726389603484145</a></li><li>pg_tier <a href="https://github.com/tembo-io/pg_tier">https://github.com/tembo-io/pg_tier</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss append-only tables in Postgres — what they are, some unique challenges they bring, and some options for compressing / removing / offloading the data eventually.<br> <br>Here are some links to things they mentioned:</p><ul><li>Append-only <a href="https://en.wikipedia.org/wiki/Append-only">https://en.wikipedia.org/wiki/Append-only</a></li><li>Our episode on BRIN indexes <a href="https://postgres.fm/episodes/brin-indexes">https://postgres.fm/episodes/brin-indexes</a></li><li>Tips to Improve Insert Performance <a href="https://www.timescale.com/blog/13-tips-to-improve-postgresql-insert-performance/">https://www.timescale.com/blog/13-tips-to-improve-postgresql-insert-performance/</a> </li><li>Our episode on WAL and checkpoint tuning <a href="https://postgres.fm/episodes/wal-and-checkpoint-tuning">https://postgres.fm/episodes/wal-and-checkpoint-tuning</a></li><li>autovacuum_vacuum_insert_scale_factor <a href="https://www.postgresql.org/docs/current/runtime-config-autovacuum.html#GUC-AUTOVACUUM-VACUUM-INSERT-SCALE-FACTOR">https://www.postgresql.org/docs/current/runtime-config-autovacuum.html#GUC-AUTOVACUUM-VACUUM-INSERT-SCALE-FACTOR</a> </li><li>Our episode about compression <a href="https://postgres.fm/episodes/compression">https://postgres.fm/episodes/compression</a></li><li>New project announced recently called BemiDB <a href="https://x.com/samokhvalov/status/1854726389603484145">https://x.com/samokhvalov/status/1854726389603484145</a></li><li>pg_tier <a href="https://github.com/tembo-io/pg_tier">https://github.com/tembo-io/pg_tier</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 15 Nov 2024 14:00:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/e0b600cf/8fecea28.mp3" length="42384359" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2647</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss append-only tables in Postgres — what they are, some unique challenges they bring, and some options for compressing / removing / offloading the data eventually.<br> <br>Here are some links to things they mentioned:</p><ul><li>Append-only <a href="https://en.wikipedia.org/wiki/Append-only">https://en.wikipedia.org/wiki/Append-only</a></li><li>Our episode on BRIN indexes <a href="https://postgres.fm/episodes/brin-indexes">https://postgres.fm/episodes/brin-indexes</a></li><li>Tips to Improve Insert Performance <a href="https://www.timescale.com/blog/13-tips-to-improve-postgresql-insert-performance/">https://www.timescale.com/blog/13-tips-to-improve-postgresql-insert-performance/</a> </li><li>Our episode on WAL and checkpoint tuning <a href="https://postgres.fm/episodes/wal-and-checkpoint-tuning">https://postgres.fm/episodes/wal-and-checkpoint-tuning</a></li><li>autovacuum_vacuum_insert_scale_factor <a href="https://www.postgresql.org/docs/current/runtime-config-autovacuum.html#GUC-AUTOVACUUM-VACUUM-INSERT-SCALE-FACTOR">https://www.postgresql.org/docs/current/runtime-config-autovacuum.html#GUC-AUTOVACUUM-VACUUM-INSERT-SCALE-FACTOR</a> </li><li>Our episode about compression <a href="https://postgres.fm/episodes/compression">https://postgres.fm/episodes/compression</a></li><li>New project announced recently called BemiDB <a href="https://x.com/samokhvalov/status/1854726389603484145">https://x.com/samokhvalov/status/1854726389603484145</a></li><li>pg_tier <a href="https://github.com/tembo-io/pg_tier">https://github.com/tembo-io/pg_tier</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/e0b600cf/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Denormalization</title>
      <itunes:episode>122</itunes:episode>
      <podcast:episode>122</podcast:episode>
      <itunes:title>Denormalization</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">18298747-b04c-4161-99d4-31ef3ef645ef</guid>
      <link>https://share.transistor.fm/s/600e089a</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss denormalization in Postgres — when and why to denormalize things, and a couple of specific cases Nikolay came across recently. <br> <br>Here are some links to things they mentioned:</p><ul><li>Denormalization <a href="https://en.wikipedia.org/wiki/Denormalization">https://en.wikipedia.org/wiki/Denormalization</a></li><li>Our episode on materialized views <a href="https://postgres.fm/episodes/materialized-views">https://postgres.fm/episodes/materialized-views</a></li><li>Our episode on data model trade-offs <a href="https://postgres.fm/episodes/data-model-trade-offs">https://postgres.fm/episodes/data-model-trade-offs</a></li><li>Our episode with Markus Winand <a href="https://postgres.fm/episodes/modern-sql">https://postgres.fm/episodes/modern-sql</a></li><li>Universal Relation Data Modelling Considered Harmful (blog post by Michael Stonebraker and Álvaro Hernández) <a href="https://www.enterprisedb.com/blog/universal-relation-data-modelling-considered-harmful">https://www.enterprisedb.com/blog/universal-relation-data-modelling-considered-harmful</a></li><li>Boyce–Codd normal form <a href="https://en.wikipedia.org/wiki/Boyce%E2%80%93Codd_normal_form">https://en.wikipedia.org/wiki/Boyce%E2%80%93Codd_normal_form</a></li><li>Our episode on slow count <a href="https://postgres.fm/episodes/slow-count">https://postgres.fm/episodes/slow-count</a></li><li>pg_ivm <a href="https://github.com/sraoss/pg_ivm">https://github.com/sraoss/pg_ivm</a></li><li>denorm <a href="https://github.com/rivethealth/denorm">https://github.com/rivethealth/denorm</a></li><li>Postgres Materialized Views, The Timescale Way (blog post by David Kohn) <a href="https://www.timescale.com/blog/materialized-views-the-timescale-way/">https://www.timescale.com/blog/materialized-views-the-timescale-way/</a></li><li>PgQ <a href="https://github.com/pgq/pgq">https://github.com/pgq/pgq</a></li><li>Databases, types, and the relational model (by C.J. Date and Hugh Darwen) <a href="https://www.dcs.warwick.ac.uk/~hugh/TTM/DTATRM.pdf">https://www.dcs.warwick.ac.uk/~hugh/TTM/DTATRM.pdf</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss denormalization in Postgres — when and why to denormalize things, and a couple of specific cases Nikolay came across recently. <br> <br>Here are some links to things they mentioned:</p><ul><li>Denormalization <a href="https://en.wikipedia.org/wiki/Denormalization">https://en.wikipedia.org/wiki/Denormalization</a></li><li>Our episode on materialized views <a href="https://postgres.fm/episodes/materialized-views">https://postgres.fm/episodes/materialized-views</a></li><li>Our episode on data model trade-offs <a href="https://postgres.fm/episodes/data-model-trade-offs">https://postgres.fm/episodes/data-model-trade-offs</a></li><li>Our episode with Markus Winand <a href="https://postgres.fm/episodes/modern-sql">https://postgres.fm/episodes/modern-sql</a></li><li>Universal Relation Data Modelling Considered Harmful (blog post by Michael Stonebraker and Álvaro Hernández) <a href="https://www.enterprisedb.com/blog/universal-relation-data-modelling-considered-harmful">https://www.enterprisedb.com/blog/universal-relation-data-modelling-considered-harmful</a></li><li>Boyce–Codd normal form <a href="https://en.wikipedia.org/wiki/Boyce%E2%80%93Codd_normal_form">https://en.wikipedia.org/wiki/Boyce%E2%80%93Codd_normal_form</a></li><li>Our episode on slow count <a href="https://postgres.fm/episodes/slow-count">https://postgres.fm/episodes/slow-count</a></li><li>pg_ivm <a href="https://github.com/sraoss/pg_ivm">https://github.com/sraoss/pg_ivm</a></li><li>denorm <a href="https://github.com/rivethealth/denorm">https://github.com/rivethealth/denorm</a></li><li>Postgres Materialized Views, The Timescale Way (blog post by David Kohn) <a href="https://www.timescale.com/blog/materialized-views-the-timescale-way/">https://www.timescale.com/blog/materialized-views-the-timescale-way/</a></li><li>PgQ <a href="https://github.com/pgq/pgq">https://github.com/pgq/pgq</a></li><li>Databases, types, and the relational model (by C.J. Date and Hugh Darwen) <a href="https://www.dcs.warwick.ac.uk/~hugh/TTM/DTATRM.pdf">https://www.dcs.warwick.ac.uk/~hugh/TTM/DTATRM.pdf</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 08 Nov 2024 14:00:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/600e089a/e8cf04ad.mp3" length="33770214" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2108</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss denormalization in Postgres — when and why to denormalize things, and a couple of specific cases Nikolay came across recently. <br> <br>Here are some links to things they mentioned:</p><ul><li>Denormalization <a href="https://en.wikipedia.org/wiki/Denormalization">https://en.wikipedia.org/wiki/Denormalization</a></li><li>Our episode on materialized views <a href="https://postgres.fm/episodes/materialized-views">https://postgres.fm/episodes/materialized-views</a></li><li>Our episode on data model trade-offs <a href="https://postgres.fm/episodes/data-model-trade-offs">https://postgres.fm/episodes/data-model-trade-offs</a></li><li>Our episode with Markus Winand <a href="https://postgres.fm/episodes/modern-sql">https://postgres.fm/episodes/modern-sql</a></li><li>Universal Relation Data Modelling Considered Harmful (blog post by Michael Stonebraker and Álvaro Hernández) <a href="https://www.enterprisedb.com/blog/universal-relation-data-modelling-considered-harmful">https://www.enterprisedb.com/blog/universal-relation-data-modelling-considered-harmful</a></li><li>Boyce–Codd normal form <a href="https://en.wikipedia.org/wiki/Boyce%E2%80%93Codd_normal_form">https://en.wikipedia.org/wiki/Boyce%E2%80%93Codd_normal_form</a></li><li>Our episode on slow count <a href="https://postgres.fm/episodes/slow-count">https://postgres.fm/episodes/slow-count</a></li><li>pg_ivm <a href="https://github.com/sraoss/pg_ivm">https://github.com/sraoss/pg_ivm</a></li><li>denorm <a href="https://github.com/rivethealth/denorm">https://github.com/rivethealth/denorm</a></li><li>Postgres Materialized Views, The Timescale Way (blog post by David Kohn) <a href="https://www.timescale.com/blog/materialized-views-the-timescale-way/">https://www.timescale.com/blog/materialized-views-the-timescale-way/</a></li><li>PgQ <a href="https://github.com/pgq/pgq">https://github.com/pgq/pgq</a></li><li>Databases, types, and the relational model (by C.J. Date and Hugh Darwen) <a href="https://www.dcs.warwick.ac.uk/~hugh/TTM/DTATRM.pdf">https://www.dcs.warwick.ac.uk/~hugh/TTM/DTATRM.pdf</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/600e089a/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Postgres online communities</title>
      <itunes:episode>121</itunes:episode>
      <podcast:episode>121</podcast:episode>
      <itunes:title>Postgres online communities</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">d421ba4b-8447-4394-8c18-7be6cbdcf18f</guid>
      <link>https://share.transistor.fm/s/6fad7fa4</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss online Postgres communities — the ones they prefer, the types of conversations in each, and some other places to ask questions or follow news. <br> <br>Here are some links to things they mentioned:</p><ul><li><a href="https://www.postgresql.org/community">https://www.postgresql.org/community</a></li><li>Mailing lists <a href="https://www.postgresql.org/list">https://www.postgresql.org/list</a></li><li>IRC <a href="https://www.postgresql.org/community/irc">https://www.postgresql.org/community/irc</a></li><li>Slack <a href="https://pgtreats.info/slack-invite">https://pgtreats.info/slack-invite</a></li><li>Stack Overflow <a href="https://stackoverflow.com/questions/tagged/postgres">https://stackoverflow.com/questions/tagged/postgres</a></li><li>DBA Stack Exchange <a href="https://dba.stackexchange.com/questions/tagged/postgres">https://dba.stackexchange.com/questions/tagged/postgres</a></li><li>Reddit <a href="https://www.reddit.com/r/PostgreSQL">https://www.reddit.com/r/PostgreSQL</a></li><li>Discord <a href="https://discord.gg/bW2hsax8We">https://discord.gg/bW2hsax8We</a></li><li>How to run ANALYZE (merge request discussion) <a href="https://gitlab.com/postgres-ai/postgresql-consulting/postgres-howtos/-/merge_requests/35">https://gitlab.com/postgres-ai/postgresql-consulting/postgres-howtos/-/merge_requests/35</a></li><li>This episode on YouTube </li><li><a href="https://postgresqlco.nf">https://postgresqlco.nf</a></li><li>Planet PostgreSQL <a href="https://planet.postgresql.org">https://planet.postgresql.org</a></li><li>Postgres Weekly <a href="https://postgresweekly.com">https://postgresweekly.com</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss online Postgres communities — the ones they prefer, the types of conversations in each, and some other places to ask questions or follow news. <br> <br>Here are some links to things they mentioned:</p><ul><li><a href="https://www.postgresql.org/community">https://www.postgresql.org/community</a></li><li>Mailing lists <a href="https://www.postgresql.org/list">https://www.postgresql.org/list</a></li><li>IRC <a href="https://www.postgresql.org/community/irc">https://www.postgresql.org/community/irc</a></li><li>Slack <a href="https://pgtreats.info/slack-invite">https://pgtreats.info/slack-invite</a></li><li>Stack Overflow <a href="https://stackoverflow.com/questions/tagged/postgres">https://stackoverflow.com/questions/tagged/postgres</a></li><li>DBA Stack Exchange <a href="https://dba.stackexchange.com/questions/tagged/postgres">https://dba.stackexchange.com/questions/tagged/postgres</a></li><li>Reddit <a href="https://www.reddit.com/r/PostgreSQL">https://www.reddit.com/r/PostgreSQL</a></li><li>Discord <a href="https://discord.gg/bW2hsax8We">https://discord.gg/bW2hsax8We</a></li><li>How to run ANALYZE (merge request discussion) <a href="https://gitlab.com/postgres-ai/postgresql-consulting/postgres-howtos/-/merge_requests/35">https://gitlab.com/postgres-ai/postgresql-consulting/postgres-howtos/-/merge_requests/35</a></li><li>This episode on YouTube </li><li><a href="https://postgresqlco.nf">https://postgresqlco.nf</a></li><li>Planet PostgreSQL <a href="https://planet.postgresql.org">https://planet.postgresql.org</a></li><li>Postgres Weekly <a href="https://postgresweekly.com">https://postgresweekly.com</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 01 Nov 2024 14:00:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/6fad7fa4/2105a741.mp3" length="36660844" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2289</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss online Postgres communities — the ones they prefer, the types of conversations in each, and some other places to ask questions or follow news. <br> <br>Here are some links to things they mentioned:</p><ul><li><a href="https://www.postgresql.org/community">https://www.postgresql.org/community</a></li><li>Mailing lists <a href="https://www.postgresql.org/list">https://www.postgresql.org/list</a></li><li>IRC <a href="https://www.postgresql.org/community/irc">https://www.postgresql.org/community/irc</a></li><li>Slack <a href="https://pgtreats.info/slack-invite">https://pgtreats.info/slack-invite</a></li><li>Stack Overflow <a href="https://stackoverflow.com/questions/tagged/postgres">https://stackoverflow.com/questions/tagged/postgres</a></li><li>DBA Stack Exchange <a href="https://dba.stackexchange.com/questions/tagged/postgres">https://dba.stackexchange.com/questions/tagged/postgres</a></li><li>Reddit <a href="https://www.reddit.com/r/PostgreSQL">https://www.reddit.com/r/PostgreSQL</a></li><li>Discord <a href="https://discord.gg/bW2hsax8We">https://discord.gg/bW2hsax8We</a></li><li>How to run ANALYZE (merge request discussion) <a href="https://gitlab.com/postgres-ai/postgresql-consulting/postgres-howtos/-/merge_requests/35">https://gitlab.com/postgres-ai/postgresql-consulting/postgres-howtos/-/merge_requests/35</a></li><li>This episode on YouTube </li><li><a href="https://postgresqlco.nf">https://postgresqlco.nf</a></li><li>Planet PostgreSQL <a href="https://planet.postgresql.org">https://planet.postgresql.org</a></li><li>Postgres Weekly <a href="https://postgresweekly.com">https://postgresweekly.com</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/6fad7fa4/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Advanced psql</title>
      <itunes:episode>120</itunes:episode>
      <podcast:episode>120</podcast:episode>
      <itunes:title>Advanced psql</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">fd76491d-52d0-4562-a277-a947064051a3</guid>
      <link>https://share.transistor.fm/s/6c8cd2bd</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss some cool things you can do with psql, the official CLI that ships with Postgres.<br> <br>Here are some links to things they mentioned:</p><ul><li>psql docs <a href="https://www.postgresql.org/docs/current/app-psql.html">https://www.postgresql.org/docs/current/app-psql.html</a> </li><li>Our episode on psql vs GUIs <a href="https://postgres.fm/episodes/psql-vs-guis">https://postgres.fm/episodes/psql-vs-guis</a></li><li>postgres_dba <a href="https://github.com/NikolayS/postgres_dba">https://github.com/NikolayS/postgres_dba</a></li><li>Our episode on massive deletes <a href="https://postgres.fm/episodes/massive-deletes">https://postgres.fm/episodes/massive-deletes</a></li><li>Postgres hacking session on \watch with limited number of loops <a href="https://www.youtube.com/watch?v=vTV8XhWf3mo">https://www.youtube.com/watch?v=vTV8XhWf3mo</a> </li><li>pspg <a href="https://github.com/okbob/pspg">https://github.com/okbob/pspg</a> </li><li>Our episode on Postgres gotchas <a href="https://postgres.fm/episodes/postgres-gotchas">https://postgres.fm/episodes/postgres-gotchas</a></li><li>current_setting() and set_config() docs <a href="https://www.postgresql.org/docs/current/functions-admin.html#FUNCTIONS-ADMIN-SET">https://www.postgresql.org/docs/current/functions-admin.html#FUNCTIONS-ADMIN-SET</a></li><li>psql tips (site by Lætitia Avrot) <a href="https://psql-tips.org">https://psql-tips.org</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss some cool things you can do with psql, the official CLI that ships with Postgres.<br> <br>Here are some links to things they mentioned:</p><ul><li>psql docs <a href="https://www.postgresql.org/docs/current/app-psql.html">https://www.postgresql.org/docs/current/app-psql.html</a> </li><li>Our episode on psql vs GUIs <a href="https://postgres.fm/episodes/psql-vs-guis">https://postgres.fm/episodes/psql-vs-guis</a></li><li>postgres_dba <a href="https://github.com/NikolayS/postgres_dba">https://github.com/NikolayS/postgres_dba</a></li><li>Our episode on massive deletes <a href="https://postgres.fm/episodes/massive-deletes">https://postgres.fm/episodes/massive-deletes</a></li><li>Postgres hacking session on \watch with limited number of loops <a href="https://www.youtube.com/watch?v=vTV8XhWf3mo">https://www.youtube.com/watch?v=vTV8XhWf3mo</a> </li><li>pspg <a href="https://github.com/okbob/pspg">https://github.com/okbob/pspg</a> </li><li>Our episode on Postgres gotchas <a href="https://postgres.fm/episodes/postgres-gotchas">https://postgres.fm/episodes/postgres-gotchas</a></li><li>current_setting() and set_config() docs <a href="https://www.postgresql.org/docs/current/functions-admin.html#FUNCTIONS-ADMIN-SET">https://www.postgresql.org/docs/current/functions-admin.html#FUNCTIONS-ADMIN-SET</a></li><li>psql tips (site by Lætitia Avrot) <a href="https://psql-tips.org">https://psql-tips.org</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 25 Oct 2024 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/6c8cd2bd/b6297a0a.mp3" length="50550017" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>3157</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss some cool things you can do with psql, the official CLI that ships with Postgres.<br> <br>Here are some links to things they mentioned:</p><ul><li>psql docs <a href="https://www.postgresql.org/docs/current/app-psql.html">https://www.postgresql.org/docs/current/app-psql.html</a> </li><li>Our episode on psql vs GUIs <a href="https://postgres.fm/episodes/psql-vs-guis">https://postgres.fm/episodes/psql-vs-guis</a></li><li>postgres_dba <a href="https://github.com/NikolayS/postgres_dba">https://github.com/NikolayS/postgres_dba</a></li><li>Our episode on massive deletes <a href="https://postgres.fm/episodes/massive-deletes">https://postgres.fm/episodes/massive-deletes</a></li><li>Postgres hacking session on \watch with limited number of loops <a href="https://www.youtube.com/watch?v=vTV8XhWf3mo">https://www.youtube.com/watch?v=vTV8XhWf3mo</a> </li><li>pspg <a href="https://github.com/okbob/pspg">https://github.com/okbob/pspg</a> </li><li>Our episode on Postgres gotchas <a href="https://postgres.fm/episodes/postgres-gotchas">https://postgres.fm/episodes/postgres-gotchas</a></li><li>current_setting() and set_config() docs <a href="https://www.postgresql.org/docs/current/functions-admin.html#FUNCTIONS-ADMIN-SET">https://www.postgresql.org/docs/current/functions-admin.html#FUNCTIONS-ADMIN-SET</a></li><li>psql tips (site by Lætitia Avrot) <a href="https://psql-tips.org">https://psql-tips.org</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/6c8cd2bd/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Postgres Gotchas</title>
      <itunes:episode>119</itunes:episode>
      <podcast:episode>119</podcast:episode>
      <itunes:title>Postgres Gotchas</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">4af3eaa2-6a63-4497-82e4-4f1ae0e49635</guid>
      <link>https://share.transistor.fm/s/03b2f78e</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss some Postgres Gotchas, things you might expect to work one way in fact working another way.<br> <br>Here are some links to things they mentioned:</p><ul><li>Our episode on NULLs <a href="https://postgres.fm/episodes/nulls-the-good-the-bad-the-ugly-and-the-unknown">https://postgres.fm/episodes/nulls-the-good-the-bad-the-ugly-and-the-unknown</a></li><li>Postgres Gotchas (list by Ian Barwick) <a href="https://sql-info.de/postgresql/postgres-gotchas.html">https://sql-info.de/postgresql/postgres-gotchas.html</a></li><li>Our episode on slow count <a href="https://postgres.fm/episodes/slow-count">https://postgres.fm/episodes/slow-count</a></li><li>Discussion on X about major version upgrades and statistics <a href="https://x.com/samokhvalov/status/1844593601638260850">https://x.com/samokhvalov/status/1844593601638260850</a></li><li>Our episode on upgrades <a href="https://postgres.fm/episodes/upgrades">https://postgres.fm/episodes/upgrades</a></li><li>Statistics Import and Export (commitfest entry which link to email thread) <a href="https://commitfest.postgresql.org/50/4538/">https://commitfest.postgresql.org/50/4538/</a></li><li>vacuumdb <a href="https://www.postgresql.org/docs/current/app-vacuumdb.html">https://www.postgresql.org/docs/current/app-vacuumdb.html</a></li><li>vacuum_cost_delay <a href="https://www.postgresql.org/docs/current/runtime-config-resource.html#GUC-VACUUM-COST-DELAY">https://www.postgresql.org/docs/current/runtime-config-resource.html#GUC-VACUUM-COST-DELAY</a></li><li>Zero-downtime Postgres schema migrations need lock_timeout and retries (blog post by Nikolay) <a href="https://postgres.ai/blog/20210923-zero-downtime-postgres-schema-migrations-lock-timeout-and-retries">https://postgres.ai/blog/20210923-zero-downtime-postgres-schema-migrations-lock-timeout-and-retries</a></li><li>Postgres Hacking 101: adding params, prevent_unqualified_deletes and prevent_unqualified_updates <a href="https://www.youtube.com/watch?v=samLkrC5xQA">https://www.youtube.com/watch?v=samLkrC5xQA</a> </li><li>PostgREST suggestion to use pg-safeupdate <a href="https://docs.postgrest.org/en/v12/integrations/pg-safeupdate.html#pg-safeupdate">https://docs.postgrest.org/en/v12/integrations/pg-safeupdate.html#pg-safeupdate</a></li><li>DBOS (new company co-founded by Michael Stonebraker) <a href="https://www.dbos.dev">https://www.dbos.dev</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss some Postgres Gotchas, things you might expect to work one way in fact working another way.<br> <br>Here are some links to things they mentioned:</p><ul><li>Our episode on NULLs <a href="https://postgres.fm/episodes/nulls-the-good-the-bad-the-ugly-and-the-unknown">https://postgres.fm/episodes/nulls-the-good-the-bad-the-ugly-and-the-unknown</a></li><li>Postgres Gotchas (list by Ian Barwick) <a href="https://sql-info.de/postgresql/postgres-gotchas.html">https://sql-info.de/postgresql/postgres-gotchas.html</a></li><li>Our episode on slow count <a href="https://postgres.fm/episodes/slow-count">https://postgres.fm/episodes/slow-count</a></li><li>Discussion on X about major version upgrades and statistics <a href="https://x.com/samokhvalov/status/1844593601638260850">https://x.com/samokhvalov/status/1844593601638260850</a></li><li>Our episode on upgrades <a href="https://postgres.fm/episodes/upgrades">https://postgres.fm/episodes/upgrades</a></li><li>Statistics Import and Export (commitfest entry which link to email thread) <a href="https://commitfest.postgresql.org/50/4538/">https://commitfest.postgresql.org/50/4538/</a></li><li>vacuumdb <a href="https://www.postgresql.org/docs/current/app-vacuumdb.html">https://www.postgresql.org/docs/current/app-vacuumdb.html</a></li><li>vacuum_cost_delay <a href="https://www.postgresql.org/docs/current/runtime-config-resource.html#GUC-VACUUM-COST-DELAY">https://www.postgresql.org/docs/current/runtime-config-resource.html#GUC-VACUUM-COST-DELAY</a></li><li>Zero-downtime Postgres schema migrations need lock_timeout and retries (blog post by Nikolay) <a href="https://postgres.ai/blog/20210923-zero-downtime-postgres-schema-migrations-lock-timeout-and-retries">https://postgres.ai/blog/20210923-zero-downtime-postgres-schema-migrations-lock-timeout-and-retries</a></li><li>Postgres Hacking 101: adding params, prevent_unqualified_deletes and prevent_unqualified_updates <a href="https://www.youtube.com/watch?v=samLkrC5xQA">https://www.youtube.com/watch?v=samLkrC5xQA</a> </li><li>PostgREST suggestion to use pg-safeupdate <a href="https://docs.postgrest.org/en/v12/integrations/pg-safeupdate.html#pg-safeupdate">https://docs.postgrest.org/en/v12/integrations/pg-safeupdate.html#pg-safeupdate</a></li><li>DBOS (new company co-founded by Michael Stonebraker) <a href="https://www.dbos.dev">https://www.dbos.dev</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 18 Oct 2024 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/03b2f78e/9e4f5aaa.mp3" length="38745602" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2419</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss some Postgres Gotchas, things you might expect to work one way in fact working another way.<br> <br>Here are some links to things they mentioned:</p><ul><li>Our episode on NULLs <a href="https://postgres.fm/episodes/nulls-the-good-the-bad-the-ugly-and-the-unknown">https://postgres.fm/episodes/nulls-the-good-the-bad-the-ugly-and-the-unknown</a></li><li>Postgres Gotchas (list by Ian Barwick) <a href="https://sql-info.de/postgresql/postgres-gotchas.html">https://sql-info.de/postgresql/postgres-gotchas.html</a></li><li>Our episode on slow count <a href="https://postgres.fm/episodes/slow-count">https://postgres.fm/episodes/slow-count</a></li><li>Discussion on X about major version upgrades and statistics <a href="https://x.com/samokhvalov/status/1844593601638260850">https://x.com/samokhvalov/status/1844593601638260850</a></li><li>Our episode on upgrades <a href="https://postgres.fm/episodes/upgrades">https://postgres.fm/episodes/upgrades</a></li><li>Statistics Import and Export (commitfest entry which link to email thread) <a href="https://commitfest.postgresql.org/50/4538/">https://commitfest.postgresql.org/50/4538/</a></li><li>vacuumdb <a href="https://www.postgresql.org/docs/current/app-vacuumdb.html">https://www.postgresql.org/docs/current/app-vacuumdb.html</a></li><li>vacuum_cost_delay <a href="https://www.postgresql.org/docs/current/runtime-config-resource.html#GUC-VACUUM-COST-DELAY">https://www.postgresql.org/docs/current/runtime-config-resource.html#GUC-VACUUM-COST-DELAY</a></li><li>Zero-downtime Postgres schema migrations need lock_timeout and retries (blog post by Nikolay) <a href="https://postgres.ai/blog/20210923-zero-downtime-postgres-schema-migrations-lock-timeout-and-retries">https://postgres.ai/blog/20210923-zero-downtime-postgres-schema-migrations-lock-timeout-and-retries</a></li><li>Postgres Hacking 101: adding params, prevent_unqualified_deletes and prevent_unqualified_updates <a href="https://www.youtube.com/watch?v=samLkrC5xQA">https://www.youtube.com/watch?v=samLkrC5xQA</a> </li><li>PostgREST suggestion to use pg-safeupdate <a href="https://docs.postgrest.org/en/v12/integrations/pg-safeupdate.html#pg-safeupdate">https://docs.postgrest.org/en/v12/integrations/pg-safeupdate.html#pg-safeupdate</a></li><li>DBOS (new company co-founded by Michael Stonebraker) <a href="https://www.dbos.dev">https://www.dbos.dev</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/03b2f78e/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Advanced EXPLAIN</title>
      <itunes:episode>118</itunes:episode>
      <podcast:episode>118</podcast:episode>
      <itunes:title>Advanced EXPLAIN</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">6cc14e8e-498f-4884-9fbe-045bb3f8be6c</guid>
      <link>https://share.transistor.fm/s/023e67c7</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss some more advanced topics around EXPLAIN, including some tips for complex query plans, some recent improvements, and an idea or two that might make it even better.<br> <br>Here are some links to things they mentioned:</p><ul><li>Michael’s solo episode on EXPLAIN basics <a href="https://postgres.fm/episodes/explain">https://postgres.fm/episodes/explain</a></li><li>Our episode on auto_explain <a href="https://postgres.fm/episodes/auto_explain">https://postgres.fm/episodes/auto_explain</a></li><li>Which cloud providers support auto_explain? (Blog post by Michael) <a href="https://www.pgmustard.com/blog/which-cloud-providers-support-auto-explain">https://www.pgmustard.com/blog/which-cloud-providers-support-auto-explain</a></li><li>psychopg <a href="https://www.psycopg.org">https://www.psycopg.org</a></li><li>Our first episode on BUFFERS <a href="https://postgres.fm/episodes/buffers-by-default">https://postgres.fm/episodes/buffers-by-default</a></li><li>Our second episode on BUFFERS <a href="https://postgres.fm/episodes/buffers-ii-the-sequel">https://postgres.fm/episodes/buffers-ii-the-sequel</a></li><li>track_io_timing <a href="https://www.postgresql.org/docs/current/runtime-config-statistics.html#GUC-TRACK-IO-TIMING">https://www.postgresql.org/docs/current/runtime-config-statistics.html#GUC-TRACK-IO-TIMING</a></li><li>compute_query_id <a href="https://www.postgresql.org/docs/current/runtime-config-statistics.html#GUC-COMPUTE-QUERY-ID">https://www.postgresql.org/docs/current/runtime-config-statistics.html#GUC-COMPUTE-QUERY-ID</a> </li><li>EXPLAIN: beyond the basics (talk by Michael) <a href="https://www.youtube.com/watch?v=sGkSOvuaPs4">https://www.youtube.com/watch?v=sGkSOvuaPs4</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss some more advanced topics around EXPLAIN, including some tips for complex query plans, some recent improvements, and an idea or two that might make it even better.<br> <br>Here are some links to things they mentioned:</p><ul><li>Michael’s solo episode on EXPLAIN basics <a href="https://postgres.fm/episodes/explain">https://postgres.fm/episodes/explain</a></li><li>Our episode on auto_explain <a href="https://postgres.fm/episodes/auto_explain">https://postgres.fm/episodes/auto_explain</a></li><li>Which cloud providers support auto_explain? (Blog post by Michael) <a href="https://www.pgmustard.com/blog/which-cloud-providers-support-auto-explain">https://www.pgmustard.com/blog/which-cloud-providers-support-auto-explain</a></li><li>psychopg <a href="https://www.psycopg.org">https://www.psycopg.org</a></li><li>Our first episode on BUFFERS <a href="https://postgres.fm/episodes/buffers-by-default">https://postgres.fm/episodes/buffers-by-default</a></li><li>Our second episode on BUFFERS <a href="https://postgres.fm/episodes/buffers-ii-the-sequel">https://postgres.fm/episodes/buffers-ii-the-sequel</a></li><li>track_io_timing <a href="https://www.postgresql.org/docs/current/runtime-config-statistics.html#GUC-TRACK-IO-TIMING">https://www.postgresql.org/docs/current/runtime-config-statistics.html#GUC-TRACK-IO-TIMING</a></li><li>compute_query_id <a href="https://www.postgresql.org/docs/current/runtime-config-statistics.html#GUC-COMPUTE-QUERY-ID">https://www.postgresql.org/docs/current/runtime-config-statistics.html#GUC-COMPUTE-QUERY-ID</a> </li><li>EXPLAIN: beyond the basics (talk by Michael) <a href="https://www.youtube.com/watch?v=sGkSOvuaPs4">https://www.youtube.com/watch?v=sGkSOvuaPs4</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 11 Oct 2024 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/023e67c7/666a5023.mp3" length="41013313" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2927</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss some more advanced topics around EXPLAIN, including some tips for complex query plans, some recent improvements, and an idea or two that might make it even better.<br> <br>Here are some links to things they mentioned:</p><ul><li>Michael’s solo episode on EXPLAIN basics <a href="https://postgres.fm/episodes/explain">https://postgres.fm/episodes/explain</a></li><li>Our episode on auto_explain <a href="https://postgres.fm/episodes/auto_explain">https://postgres.fm/episodes/auto_explain</a></li><li>Which cloud providers support auto_explain? (Blog post by Michael) <a href="https://www.pgmustard.com/blog/which-cloud-providers-support-auto-explain">https://www.pgmustard.com/blog/which-cloud-providers-support-auto-explain</a></li><li>psychopg <a href="https://www.psycopg.org">https://www.psycopg.org</a></li><li>Our first episode on BUFFERS <a href="https://postgres.fm/episodes/buffers-by-default">https://postgres.fm/episodes/buffers-by-default</a></li><li>Our second episode on BUFFERS <a href="https://postgres.fm/episodes/buffers-ii-the-sequel">https://postgres.fm/episodes/buffers-ii-the-sequel</a></li><li>track_io_timing <a href="https://www.postgresql.org/docs/current/runtime-config-statistics.html#GUC-TRACK-IO-TIMING">https://www.postgresql.org/docs/current/runtime-config-statistics.html#GUC-TRACK-IO-TIMING</a></li><li>compute_query_id <a href="https://www.postgresql.org/docs/current/runtime-config-statistics.html#GUC-COMPUTE-QUERY-ID">https://www.postgresql.org/docs/current/runtime-config-statistics.html#GUC-COMPUTE-QUERY-ID</a> </li><li>EXPLAIN: beyond the basics (talk by Michael) <a href="https://www.youtube.com/watch?v=sGkSOvuaPs4">https://www.youtube.com/watch?v=sGkSOvuaPs4</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/023e67c7/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Patroni</title>
      <itunes:episode>117</itunes:episode>
      <podcast:episode>117</podcast:episode>
      <itunes:title>Patroni</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">f820deb1-95d4-4cb2-96b4-26d52fad4b49</guid>
      <link>https://share.transistor.fm/s/e325811a</link>
      <description>
        <![CDATA[<p>Michael and Nikolay are joined by Alexander Kukushkin, PostgreSQL contributor and maintainer of Patroni, to discuss all things Patroni — what it is, how it works, recent improvements, and more.</p><p>Here are some links to things they mentioned:</p><ul><li>Alexander Kukushkin <a href="https://postgres.fm/people/alexander-kukushkin">https://postgres.fm/people/alexander-kukushkin</a></li><li>Patroni <a href="https://github.com/patroni/patroni">https://github.com/patroni/patroni</a></li><li>Spilo <a href="https://github.com/zalando/spilo">https://github.com/zalando/spilo</a> </li><li>Zalando Postgres Operator <a href="https://github.com/zalando/postgres-operator">https://github.com/zalando/postgres-operator</a></li><li>Crunchy Data Postgres Operator <a href="https://github.com/CrunchyData/postgres-operator">https://github.com/CrunchyData/postgres-operator</a></li><li>Split-brain <a href="https://en.wikipedia.org/wiki/Split-brain_(computing)">https://en.wikipedia.org/wiki/Split-brain_(computing)</a></li><li>repmgr <a href="https://github.com/EnterpriseDB/repmgr">https://github.com/EnterpriseDB/repmgr</a></li><li>CloudNativePG <a href="https://github.com/cloudnative-pg/cloudnative-pg">https://github.com/cloudnative-pg/cloudnative-pg</a></li><li>Patroni release notes <a href="https://patroni.readthedocs.io/en/latest/releases.html">https://patroni.readthedocs.io/en/latest/releases.html</a></li><li>Citus &amp; Patroni talk and demo by Alexander (at Citus Con 2023) <a href="https://www.youtube.com/watch?v=Mw8O9d0ez7E">https://www.youtube.com/watch?v=Mw8O9d0ez7E</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Michael and Nikolay are joined by Alexander Kukushkin, PostgreSQL contributor and maintainer of Patroni, to discuss all things Patroni — what it is, how it works, recent improvements, and more.</p><p>Here are some links to things they mentioned:</p><ul><li>Alexander Kukushkin <a href="https://postgres.fm/people/alexander-kukushkin">https://postgres.fm/people/alexander-kukushkin</a></li><li>Patroni <a href="https://github.com/patroni/patroni">https://github.com/patroni/patroni</a></li><li>Spilo <a href="https://github.com/zalando/spilo">https://github.com/zalando/spilo</a> </li><li>Zalando Postgres Operator <a href="https://github.com/zalando/postgres-operator">https://github.com/zalando/postgres-operator</a></li><li>Crunchy Data Postgres Operator <a href="https://github.com/CrunchyData/postgres-operator">https://github.com/CrunchyData/postgres-operator</a></li><li>Split-brain <a href="https://en.wikipedia.org/wiki/Split-brain_(computing)">https://en.wikipedia.org/wiki/Split-brain_(computing)</a></li><li>repmgr <a href="https://github.com/EnterpriseDB/repmgr">https://github.com/EnterpriseDB/repmgr</a></li><li>CloudNativePG <a href="https://github.com/cloudnative-pg/cloudnative-pg">https://github.com/cloudnative-pg/cloudnative-pg</a></li><li>Patroni release notes <a href="https://patroni.readthedocs.io/en/latest/releases.html">https://patroni.readthedocs.io/en/latest/releases.html</a></li><li>Citus &amp; Patroni talk and demo by Alexander (at Citus Con 2023) <a href="https://www.youtube.com/watch?v=Mw8O9d0ez7E">https://www.youtube.com/watch?v=Mw8O9d0ez7E</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 04 Oct 2024 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/e325811a/c33173b8.mp3" length="43765274" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2733</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Michael and Nikolay are joined by Alexander Kukushkin, PostgreSQL contributor and maintainer of Patroni, to discuss all things Patroni — what it is, how it works, recent improvements, and more.</p><p>Here are some links to things they mentioned:</p><ul><li>Alexander Kukushkin <a href="https://postgres.fm/people/alexander-kukushkin">https://postgres.fm/people/alexander-kukushkin</a></li><li>Patroni <a href="https://github.com/patroni/patroni">https://github.com/patroni/patroni</a></li><li>Spilo <a href="https://github.com/zalando/spilo">https://github.com/zalando/spilo</a> </li><li>Zalando Postgres Operator <a href="https://github.com/zalando/postgres-operator">https://github.com/zalando/postgres-operator</a></li><li>Crunchy Data Postgres Operator <a href="https://github.com/CrunchyData/postgres-operator">https://github.com/CrunchyData/postgres-operator</a></li><li>Split-brain <a href="https://en.wikipedia.org/wiki/Split-brain_(computing)">https://en.wikipedia.org/wiki/Split-brain_(computing)</a></li><li>repmgr <a href="https://github.com/EnterpriseDB/repmgr">https://github.com/EnterpriseDB/repmgr</a></li><li>CloudNativePG <a href="https://github.com/cloudnative-pg/cloudnative-pg">https://github.com/cloudnative-pg/cloudnative-pg</a></li><li>Patroni release notes <a href="https://patroni.readthedocs.io/en/latest/releases.html">https://patroni.readthedocs.io/en/latest/releases.html</a></li><li>Citus &amp; Patroni talk and demo by Alexander (at Citus Con 2023) <a href="https://www.youtube.com/watch?v=Mw8O9d0ez7E">https://www.youtube.com/watch?v=Mw8O9d0ez7E</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Guest" href="https://github.com/CyberDem0n" img="https://img.transistorcdn.com/2SdMKa8tMwcEYwaq9vpybFBlB9jhqo8RW7noatDbz7A/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9jOWU2/ZGM5MjM3ZWRhNTZj/MzJiZGFjOWI2ZDZh/NzliNC5qcGc.jpg">Alexander Kukushkin</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/e325811a/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Postgres 17</title>
      <itunes:episode>116</itunes:episode>
      <podcast:episode>116</podcast:episode>
      <itunes:title>Postgres 17</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">f9f88709-e25c-4ccb-a691-7b8f8c7e4270</guid>
      <link>https://share.transistor.fm/s/bc1c6f23</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss the fresh new Postgres 17 release! They cover several performance improvements, favourite new features, and some considerations for upgrading.<br> <br>Here are some links to things they mentioned:</p><ul><li>Postgres 17 release notes <a href="https://www.postgresql.org/docs/17/release-17.html">https://www.postgresql.org/docs/17/release-17.html</a></li><li>transaction_timeout episode <a href="https://postgres.fm/episodes/transaction_timeout">https://postgres.fm/episodes/transaction_timeout</a></li><li>VACUUM improvements discussed towards end of episode with Melanie Plageman <a href="https://postgres.fm/episodes/getting-started-with-benchmarking">https://postgres.fm/episodes/getting-started-with-benchmarking</a></li><li>B-tree improvements discussed in episdode with Peter Geoghegan <a href="https://postgres.fm/episodes/skip-scan">https://postgres.fm/episodes/skip-scan</a></li><li>As Rails developers, why we are excited about PostgreSQL 17 (blog post by Benoit Tigeot) <a href="https://benoittgt.github.io/blog/postgres_17_rails/">https://benoittgt.github.io/blog/postgres_17_rails/</a> </li><li>Real World Performance Gains With Postgres 17 B-tree Bulk Scans (blog post by Brandur Leach) <a href="https://www.crunchydata.com/blog/real-world-performance-gains-with-postgres-17-btree-bulk-scans">https://www.crunchydata.com/blog/real-world-performance-gains-with-postgres-17-btree-bulk-scans</a></li><li>MERGE RETURNING came up towards end of episode with Haki Benita <a href="https://postgres.fm/episodes/get-or-create">https://postgres.fm/episodes/get-or-create</a></li><li>uuid_extract_timestamp and uuid_extract_version functions <a href="https://www.postgresql.org/docs/current/functions-uuid.html">https://www.postgresql.org/docs/current/functions-uuid.html</a></li><li>Episode on UUID <a href="https://postgres.fm/episodes/uuid">https://postgres.fm/episodes/uuid</a></li><li>Partitioning by ULID <a href="https://postgres.fm/episodes/partitioning-by-ulid">https://postgres.fm/episodes/partitioning-by-ulid</a></li><li>Why Upgrade? (site by depesz) <a href="https://why-upgrade.depesz.com">https://why-upgrade.depesz.com</a></li><li>Why we spent the last month eliminating PostgreSQL subtransactions (GitLab blog post) <a href="https://about.gitlab.com/blog/2021/09/29/why-we-spent-the-last-month-eliminating-postgresql-subtransactions">https://about.gitlab.com/blog/2021/09/29/why-we-spent-the-last-month-eliminating-postgresql-subtransactions</a></li><li>Synchronization of sequences to subscriber (patch that needs review!)  <a href="https://commitfest.postgresql.org/49/5111">https://commitfest.postgresql.org/49/5111</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss the fresh new Postgres 17 release! They cover several performance improvements, favourite new features, and some considerations for upgrading.<br> <br>Here are some links to things they mentioned:</p><ul><li>Postgres 17 release notes <a href="https://www.postgresql.org/docs/17/release-17.html">https://www.postgresql.org/docs/17/release-17.html</a></li><li>transaction_timeout episode <a href="https://postgres.fm/episodes/transaction_timeout">https://postgres.fm/episodes/transaction_timeout</a></li><li>VACUUM improvements discussed towards end of episode with Melanie Plageman <a href="https://postgres.fm/episodes/getting-started-with-benchmarking">https://postgres.fm/episodes/getting-started-with-benchmarking</a></li><li>B-tree improvements discussed in episdode with Peter Geoghegan <a href="https://postgres.fm/episodes/skip-scan">https://postgres.fm/episodes/skip-scan</a></li><li>As Rails developers, why we are excited about PostgreSQL 17 (blog post by Benoit Tigeot) <a href="https://benoittgt.github.io/blog/postgres_17_rails/">https://benoittgt.github.io/blog/postgres_17_rails/</a> </li><li>Real World Performance Gains With Postgres 17 B-tree Bulk Scans (blog post by Brandur Leach) <a href="https://www.crunchydata.com/blog/real-world-performance-gains-with-postgres-17-btree-bulk-scans">https://www.crunchydata.com/blog/real-world-performance-gains-with-postgres-17-btree-bulk-scans</a></li><li>MERGE RETURNING came up towards end of episode with Haki Benita <a href="https://postgres.fm/episodes/get-or-create">https://postgres.fm/episodes/get-or-create</a></li><li>uuid_extract_timestamp and uuid_extract_version functions <a href="https://www.postgresql.org/docs/current/functions-uuid.html">https://www.postgresql.org/docs/current/functions-uuid.html</a></li><li>Episode on UUID <a href="https://postgres.fm/episodes/uuid">https://postgres.fm/episodes/uuid</a></li><li>Partitioning by ULID <a href="https://postgres.fm/episodes/partitioning-by-ulid">https://postgres.fm/episodes/partitioning-by-ulid</a></li><li>Why Upgrade? (site by depesz) <a href="https://why-upgrade.depesz.com">https://why-upgrade.depesz.com</a></li><li>Why we spent the last month eliminating PostgreSQL subtransactions (GitLab blog post) <a href="https://about.gitlab.com/blog/2021/09/29/why-we-spent-the-last-month-eliminating-postgresql-subtransactions">https://about.gitlab.com/blog/2021/09/29/why-we-spent-the-last-month-eliminating-postgresql-subtransactions</a></li><li>Synchronization of sequences to subscriber (patch that needs review!)  <a href="https://commitfest.postgresql.org/49/5111">https://commitfest.postgresql.org/49/5111</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 27 Sep 2024 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/bc1c6f23/5433353c.mp3" length="40396531" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2523</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss the fresh new Postgres 17 release! They cover several performance improvements, favourite new features, and some considerations for upgrading.<br> <br>Here are some links to things they mentioned:</p><ul><li>Postgres 17 release notes <a href="https://www.postgresql.org/docs/17/release-17.html">https://www.postgresql.org/docs/17/release-17.html</a></li><li>transaction_timeout episode <a href="https://postgres.fm/episodes/transaction_timeout">https://postgres.fm/episodes/transaction_timeout</a></li><li>VACUUM improvements discussed towards end of episode with Melanie Plageman <a href="https://postgres.fm/episodes/getting-started-with-benchmarking">https://postgres.fm/episodes/getting-started-with-benchmarking</a></li><li>B-tree improvements discussed in episdode with Peter Geoghegan <a href="https://postgres.fm/episodes/skip-scan">https://postgres.fm/episodes/skip-scan</a></li><li>As Rails developers, why we are excited about PostgreSQL 17 (blog post by Benoit Tigeot) <a href="https://benoittgt.github.io/blog/postgres_17_rails/">https://benoittgt.github.io/blog/postgres_17_rails/</a> </li><li>Real World Performance Gains With Postgres 17 B-tree Bulk Scans (blog post by Brandur Leach) <a href="https://www.crunchydata.com/blog/real-world-performance-gains-with-postgres-17-btree-bulk-scans">https://www.crunchydata.com/blog/real-world-performance-gains-with-postgres-17-btree-bulk-scans</a></li><li>MERGE RETURNING came up towards end of episode with Haki Benita <a href="https://postgres.fm/episodes/get-or-create">https://postgres.fm/episodes/get-or-create</a></li><li>uuid_extract_timestamp and uuid_extract_version functions <a href="https://www.postgresql.org/docs/current/functions-uuid.html">https://www.postgresql.org/docs/current/functions-uuid.html</a></li><li>Episode on UUID <a href="https://postgres.fm/episodes/uuid">https://postgres.fm/episodes/uuid</a></li><li>Partitioning by ULID <a href="https://postgres.fm/episodes/partitioning-by-ulid">https://postgres.fm/episodes/partitioning-by-ulid</a></li><li>Why Upgrade? (site by depesz) <a href="https://why-upgrade.depesz.com">https://why-upgrade.depesz.com</a></li><li>Why we spent the last month eliminating PostgreSQL subtransactions (GitLab blog post) <a href="https://about.gitlab.com/blog/2021/09/29/why-we-spent-the-last-month-eliminating-postgresql-subtransactions">https://about.gitlab.com/blog/2021/09/29/why-we-spent-the-last-month-eliminating-postgresql-subtransactions</a></li><li>Synchronization of sequences to subscriber (patch that needs review!)  <a href="https://commitfest.postgresql.org/49/5111">https://commitfest.postgresql.org/49/5111</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/bc1c6f23/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Planning time</title>
      <itunes:episode>115</itunes:episode>
      <podcast:episode>115</podcast:episode>
      <itunes:title>Planning time</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">4a9b771a-ded4-4dda-98a8-898615547baf</guid>
      <link>https://share.transistor.fm/s/28f15b6d</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss planning time in Postgres — what it is, how to spot issues, its relationship to things like partitioning, and some tips for avoiding issues.<br> <br>Here are some links to things they mentioned:</p><ul><li>Query Planning (docs) <a href="https://www.postgresql.org/docs/current/runtime-config-query.html">https://www.postgresql.org/docs/current/runtime-config-query.html</a></li><li>Are there limits to partition counts? (Blog post by depesz) <a href="https://www.depesz.com/2021/01/17/are-there-limits-to-partition-counts">https://www.depesz.com/2021/01/17/are-there-limits-to-partition-counts</a></li><li>Nikolays recent experiment <a href="https://postgres.ai/chats/01920004-a982-7896-b8cb-dfd2406359b0">https://postgres.ai/chats/01920004-a982-7896-b8cb-dfd2406359b0</a></li><li>PgBouncer now supports prepared statements <a href="https://github.com/pgbouncer/pgbouncer/releases/tag/pgbouncer_1_21_0">https://github.com/pgbouncer/pgbouncer/releases/tag/pgbouncer_1_21_0</a></li><li>“The year of the lock manager’s revenge” (from blog post by Jeremy Schneider) <a href="https://ardentperf.com/2024/03/03/postgres-indexes-partitioning-and-lwlocklockmanager-scalability">https://ardentperf.com/2024/03/03/postgres-indexes-partitioning-and-lwlocklockmanager-scalability</a></li><li>pg_stat_statements.track_planning <a href="https://www.postgresql.org/docs/current/pgstatstatements.html#id-1.11.7.42.9.2.4.1.3">https://www.postgresql.org/docs/current/pgstatstatements.html#id-1.11.7.42.9.2.4.1.3</a></li><li>pg_hint_plan <a href="https://github.com/ossc-db/pg_hint_plan">https://github.com/ossc-db/pg_hint_plan</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss planning time in Postgres — what it is, how to spot issues, its relationship to things like partitioning, and some tips for avoiding issues.<br> <br>Here are some links to things they mentioned:</p><ul><li>Query Planning (docs) <a href="https://www.postgresql.org/docs/current/runtime-config-query.html">https://www.postgresql.org/docs/current/runtime-config-query.html</a></li><li>Are there limits to partition counts? (Blog post by depesz) <a href="https://www.depesz.com/2021/01/17/are-there-limits-to-partition-counts">https://www.depesz.com/2021/01/17/are-there-limits-to-partition-counts</a></li><li>Nikolays recent experiment <a href="https://postgres.ai/chats/01920004-a982-7896-b8cb-dfd2406359b0">https://postgres.ai/chats/01920004-a982-7896-b8cb-dfd2406359b0</a></li><li>PgBouncer now supports prepared statements <a href="https://github.com/pgbouncer/pgbouncer/releases/tag/pgbouncer_1_21_0">https://github.com/pgbouncer/pgbouncer/releases/tag/pgbouncer_1_21_0</a></li><li>“The year of the lock manager’s revenge” (from blog post by Jeremy Schneider) <a href="https://ardentperf.com/2024/03/03/postgres-indexes-partitioning-and-lwlocklockmanager-scalability">https://ardentperf.com/2024/03/03/postgres-indexes-partitioning-and-lwlocklockmanager-scalability</a></li><li>pg_stat_statements.track_planning <a href="https://www.postgresql.org/docs/current/pgstatstatements.html#id-1.11.7.42.9.2.4.1.3">https://www.postgresql.org/docs/current/pgstatstatements.html#id-1.11.7.42.9.2.4.1.3</a></li><li>pg_hint_plan <a href="https://github.com/ossc-db/pg_hint_plan">https://github.com/ossc-db/pg_hint_plan</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 20 Sep 2024 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/28f15b6d/a7be0301.mp3" length="40620143" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2537</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss planning time in Postgres — what it is, how to spot issues, its relationship to things like partitioning, and some tips for avoiding issues.<br> <br>Here are some links to things they mentioned:</p><ul><li>Query Planning (docs) <a href="https://www.postgresql.org/docs/current/runtime-config-query.html">https://www.postgresql.org/docs/current/runtime-config-query.html</a></li><li>Are there limits to partition counts? (Blog post by depesz) <a href="https://www.depesz.com/2021/01/17/are-there-limits-to-partition-counts">https://www.depesz.com/2021/01/17/are-there-limits-to-partition-counts</a></li><li>Nikolays recent experiment <a href="https://postgres.ai/chats/01920004-a982-7896-b8cb-dfd2406359b0">https://postgres.ai/chats/01920004-a982-7896-b8cb-dfd2406359b0</a></li><li>PgBouncer now supports prepared statements <a href="https://github.com/pgbouncer/pgbouncer/releases/tag/pgbouncer_1_21_0">https://github.com/pgbouncer/pgbouncer/releases/tag/pgbouncer_1_21_0</a></li><li>“The year of the lock manager’s revenge” (from blog post by Jeremy Schneider) <a href="https://ardentperf.com/2024/03/03/postgres-indexes-partitioning-and-lwlocklockmanager-scalability">https://ardentperf.com/2024/03/03/postgres-indexes-partitioning-and-lwlocklockmanager-scalability</a></li><li>pg_stat_statements.track_planning <a href="https://www.postgresql.org/docs/current/pgstatstatements.html#id-1.11.7.42.9.2.4.1.3">https://www.postgresql.org/docs/current/pgstatstatements.html#id-1.11.7.42.9.2.4.1.3</a></li><li>pg_hint_plan <a href="https://github.com/ossc-db/pg_hint_plan">https://github.com/ossc-db/pg_hint_plan</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/28f15b6d/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Slow count</title>
      <itunes:episode>114</itunes:episode>
      <podcast:episode>114</podcast:episode>
      <itunes:title>Slow count</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">7986e103-7c71-4ee4-acb5-ac67b05483e8</guid>
      <link>https://share.transistor.fm/s/cf702ff3</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss why counting can be slow in Postgres, and what the options are for counting things quickly at scale.<br> <br>Here are some links to things they mentioned:</p><ul><li>Aggregate functions (docs) <a href="https://www.postgresql.org/docs/current/functions-aggregate.html">https://www.postgresql.org/docs/current/functions-aggregate.html</a></li><li>PostgREST <a href="https://github.com/PostgREST/postgrest">https://github.com/PostgREST/postgrest</a> </li><li>Get rid of count by default in PostgREST <a href="https://github.com/PostgREST/postgrest/issues/273">https://github.com/PostgREST/postgrest/issues/273</a> </li><li>Faster PostgreSQL Counting (by Joe Nelson on the Citus blog) <a href="https://www.citusdata.com/blog/2016/10/12/count-performance">https://www.citusdata.com/blog/2016/10/12/count-performance</a> </li><li>Our episode on Index-Only Scans <a href="https://postgres.fm/episodes/index-only-scans">https://postgres.fm/episodes/index-only-scans</a></li><li>Postgres HyperLogLog <a href="https://github.com/citusdata/postgresql-hll">https://github.com/citusdata/postgresql-hll</a></li><li>Our episode on Row estimates <a href="https://postgres.fm/episodes/row-estimates">https://postgres.fm/episodes/row-estimates</a> </li><li>Our episode about dangers of NULLs <a href="https://postgres.fm/episodes/nulls-the-good-the-bad-the-ugly-and-the-unknown">https://postgres.fm/episodes/nulls-the-good-the-bad-the-ugly-and-the-unknown</a> </li><li>Aggregate expressions, including FILTER <a href="https://www.postgresql.org/docs/current/sql-expressions.html#SYNTAX-AGGREGATES">https://www.postgresql.org/docs/current/sql-expressions.html#SYNTAX-AGGREGATES</a></li><li>Spread writes for counter cache (tip from Tobias Petry) <a href="https://x.com/tobias_petry/status/1475870220422107137">https://x.com/tobias_petry/status/1475870220422107137</a></li><li>pg_ivm extension (Incremental View Maintenance) <a href="https://github.com/sraoss/pg_ivm">https://github.com/sraoss/pg_ivm</a> </li><li>pg_duckdb announcement <a href="https://motherduck.com/blog/pg_duckdb-postgresql-extension-for-duckdb-motherduck">https://motherduck.com/blog/pg_duckdb-postgresql-extension-for-duckdb-motherduck</a></li><li>Our episode on Queues in Postgres <a href="https://postgres.fm/episodes/queues-in-postgres">https://postgres.fm/episodes/queues-in-postgres</a></li><li>Our episode on Real-time analytics <a href="https://postgres.fm/episodes/real-time-analytics">https://postgres.fm/episodes/real-time-analytics</a></li><li>ClickHouse acquired PeerDB <a href="https://clickhouse.com/blog/clickhouse-acquires-peerdb-to-boost-real-time-analytics-with-postgres-cdc-integration">https://clickhouse.com/blog/clickhouse-acquires-peerdb-to-boost-real-time-analytics-with-postgres-cdc-integration</a></li><li>Timescale Continuous Aggregates <a href="https://www.timescale.com/blog/materialized-views-the-timescale-way">https://www.timescale.com/blog/materialized-views-the-timescale-way</a></li><li>Timescale editions <a href="https://docs.timescale.com/about/latest/timescaledb-editions">https://docs.timescale.com/about/latest/timescaledb-editions</a></li><li>Loose indexscan <a href="https://wiki.postgresql.org/wiki/Loose_indexscan">https://wiki.postgresql.org/wiki/Loose_indexscan</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss why counting can be slow in Postgres, and what the options are for counting things quickly at scale.<br> <br>Here are some links to things they mentioned:</p><ul><li>Aggregate functions (docs) <a href="https://www.postgresql.org/docs/current/functions-aggregate.html">https://www.postgresql.org/docs/current/functions-aggregate.html</a></li><li>PostgREST <a href="https://github.com/PostgREST/postgrest">https://github.com/PostgREST/postgrest</a> </li><li>Get rid of count by default in PostgREST <a href="https://github.com/PostgREST/postgrest/issues/273">https://github.com/PostgREST/postgrest/issues/273</a> </li><li>Faster PostgreSQL Counting (by Joe Nelson on the Citus blog) <a href="https://www.citusdata.com/blog/2016/10/12/count-performance">https://www.citusdata.com/blog/2016/10/12/count-performance</a> </li><li>Our episode on Index-Only Scans <a href="https://postgres.fm/episodes/index-only-scans">https://postgres.fm/episodes/index-only-scans</a></li><li>Postgres HyperLogLog <a href="https://github.com/citusdata/postgresql-hll">https://github.com/citusdata/postgresql-hll</a></li><li>Our episode on Row estimates <a href="https://postgres.fm/episodes/row-estimates">https://postgres.fm/episodes/row-estimates</a> </li><li>Our episode about dangers of NULLs <a href="https://postgres.fm/episodes/nulls-the-good-the-bad-the-ugly-and-the-unknown">https://postgres.fm/episodes/nulls-the-good-the-bad-the-ugly-and-the-unknown</a> </li><li>Aggregate expressions, including FILTER <a href="https://www.postgresql.org/docs/current/sql-expressions.html#SYNTAX-AGGREGATES">https://www.postgresql.org/docs/current/sql-expressions.html#SYNTAX-AGGREGATES</a></li><li>Spread writes for counter cache (tip from Tobias Petry) <a href="https://x.com/tobias_petry/status/1475870220422107137">https://x.com/tobias_petry/status/1475870220422107137</a></li><li>pg_ivm extension (Incremental View Maintenance) <a href="https://github.com/sraoss/pg_ivm">https://github.com/sraoss/pg_ivm</a> </li><li>pg_duckdb announcement <a href="https://motherduck.com/blog/pg_duckdb-postgresql-extension-for-duckdb-motherduck">https://motherduck.com/blog/pg_duckdb-postgresql-extension-for-duckdb-motherduck</a></li><li>Our episode on Queues in Postgres <a href="https://postgres.fm/episodes/queues-in-postgres">https://postgres.fm/episodes/queues-in-postgres</a></li><li>Our episode on Real-time analytics <a href="https://postgres.fm/episodes/real-time-analytics">https://postgres.fm/episodes/real-time-analytics</a></li><li>ClickHouse acquired PeerDB <a href="https://clickhouse.com/blog/clickhouse-acquires-peerdb-to-boost-real-time-analytics-with-postgres-cdc-integration">https://clickhouse.com/blog/clickhouse-acquires-peerdb-to-boost-real-time-analytics-with-postgres-cdc-integration</a></li><li>Timescale Continuous Aggregates <a href="https://www.timescale.com/blog/materialized-views-the-timescale-way">https://www.timescale.com/blog/materialized-views-the-timescale-way</a></li><li>Timescale editions <a href="https://docs.timescale.com/about/latest/timescaledb-editions">https://docs.timescale.com/about/latest/timescaledb-editions</a></li><li>Loose indexscan <a href="https://wiki.postgresql.org/wiki/Loose_indexscan">https://wiki.postgresql.org/wiki/Loose_indexscan</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 13 Sep 2024 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/cf702ff3/7e9893e5.mp3" length="41717280" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2605</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss why counting can be slow in Postgres, and what the options are for counting things quickly at scale.<br> <br>Here are some links to things they mentioned:</p><ul><li>Aggregate functions (docs) <a href="https://www.postgresql.org/docs/current/functions-aggregate.html">https://www.postgresql.org/docs/current/functions-aggregate.html</a></li><li>PostgREST <a href="https://github.com/PostgREST/postgrest">https://github.com/PostgREST/postgrest</a> </li><li>Get rid of count by default in PostgREST <a href="https://github.com/PostgREST/postgrest/issues/273">https://github.com/PostgREST/postgrest/issues/273</a> </li><li>Faster PostgreSQL Counting (by Joe Nelson on the Citus blog) <a href="https://www.citusdata.com/blog/2016/10/12/count-performance">https://www.citusdata.com/blog/2016/10/12/count-performance</a> </li><li>Our episode on Index-Only Scans <a href="https://postgres.fm/episodes/index-only-scans">https://postgres.fm/episodes/index-only-scans</a></li><li>Postgres HyperLogLog <a href="https://github.com/citusdata/postgresql-hll">https://github.com/citusdata/postgresql-hll</a></li><li>Our episode on Row estimates <a href="https://postgres.fm/episodes/row-estimates">https://postgres.fm/episodes/row-estimates</a> </li><li>Our episode about dangers of NULLs <a href="https://postgres.fm/episodes/nulls-the-good-the-bad-the-ugly-and-the-unknown">https://postgres.fm/episodes/nulls-the-good-the-bad-the-ugly-and-the-unknown</a> </li><li>Aggregate expressions, including FILTER <a href="https://www.postgresql.org/docs/current/sql-expressions.html#SYNTAX-AGGREGATES">https://www.postgresql.org/docs/current/sql-expressions.html#SYNTAX-AGGREGATES</a></li><li>Spread writes for counter cache (tip from Tobias Petry) <a href="https://x.com/tobias_petry/status/1475870220422107137">https://x.com/tobias_petry/status/1475870220422107137</a></li><li>pg_ivm extension (Incremental View Maintenance) <a href="https://github.com/sraoss/pg_ivm">https://github.com/sraoss/pg_ivm</a> </li><li>pg_duckdb announcement <a href="https://motherduck.com/blog/pg_duckdb-postgresql-extension-for-duckdb-motherduck">https://motherduck.com/blog/pg_duckdb-postgresql-extension-for-duckdb-motherduck</a></li><li>Our episode on Queues in Postgres <a href="https://postgres.fm/episodes/queues-in-postgres">https://postgres.fm/episodes/queues-in-postgres</a></li><li>Our episode on Real-time analytics <a href="https://postgres.fm/episodes/real-time-analytics">https://postgres.fm/episodes/real-time-analytics</a></li><li>ClickHouse acquired PeerDB <a href="https://clickhouse.com/blog/clickhouse-acquires-peerdb-to-boost-real-time-analytics-with-postgres-cdc-integration">https://clickhouse.com/blog/clickhouse-acquires-peerdb-to-boost-real-time-analytics-with-postgres-cdc-integration</a></li><li>Timescale Continuous Aggregates <a href="https://www.timescale.com/blog/materialized-views-the-timescale-way">https://www.timescale.com/blog/materialized-views-the-timescale-way</a></li><li>Timescale editions <a href="https://docs.timescale.com/about/latest/timescaledb-editions">https://docs.timescale.com/about/latest/timescaledb-editions</a></li><li>Loose indexscan <a href="https://wiki.postgresql.org/wiki/Loose_indexscan">https://wiki.postgresql.org/wiki/Loose_indexscan</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/cf702ff3/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Skip scan</title>
      <itunes:episode>113</itunes:episode>
      <podcast:episode>113</podcast:episode>
      <itunes:title>Skip scan</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">15c578f8-8a5b-497b-9cff-dedbec9e0897</guid>
      <link>https://share.transistor.fm/s/0136fad3</link>
      <description>
        <![CDATA[<p>Michael and Nikolay are joined by Peter Geoghegan, major contributor and committer to Postgres, to discuss adding skip scan support to PostgreSQL over versions 17 and 18.<br> <br>Here are some links to things they mentioned:</p><ul><li>Peter Geoghegan <a href="https://postgres.fm/people/peter-geoghegan">https://postgres.fm/people/peter-geoghegan</a></li><li>Peter’s previous (excellent) interview on Postgres TV <a href="https://www.youtube.com/watch?v=iAPawr1DxhM">https://www.youtube.com/watch?v=iAPawr1DxhM</a></li><li>Efficient Search of Multidimensional B-Trees (1995 paper by Harry Leslie, Rohit Jain, Dave Birdsall, and Hedieh Yaghmai) <a href="https://vldb.org/conf/1995/P710.PDF">https://vldb.org/conf/1995/P710.PDF</a></li><li>Index Skip Scanning in Oracle <a href="https://oracle-base.com/articles/9i/index-skip-scanning">https://oracle-base.com/articles/9i/index-skip-scanning</a></li><li>Peter’s introductory email to the hackers mailing list about adding skip scan <a href="https://www.postgresql.org/message-id/CAH2-Wzmn1YsLzOGgjAQZdn1STSG_y8qP__vggTaPAYXJP+G4bw@mail.gmail.com">https://www.postgresql.org/message-id/CAH2-Wzmn1YsLzOGgjAQZdn1STSG_y8qP__vggTaPAYXJP+G4bw@mail.gmail.com</a></li><li>Loose Indexscan versus Index Skip Scan (PostgreSQL wiki) <a href="https://wiki.postgresql.org/wiki/Loose_indexscan">https://wiki.postgresql.org/wiki/Loose_indexscan</a></li><li>Tom Lane will be on the Talking Postgres podcast on October 9th <a href="https://aka.ms/TalkingPostgres-Ep20-cal">https://aka.ms/TalkingPostgres-Ep20-cal</a></li><li>Benoit Tigeot feedback and repro (originally reported via Slack) <a href="https://gist.github.com/benoittgt/ab72dc4cfedea2a0c6a5ee809d16e04d?permalink_comment_id=4597410#gistcomment-4597410">https://gist.github.com/benoittgt/ab72dc4cfedea2a0c6a5ee809d16e04d?permalink_comment_id=4597410#gistcomment-4597410</a></li><li>Summary video and blog post about the v17 work by Lukas from pganalyze (not mentioned but great) <a href="https://pganalyze.com/blog/5mins-postgres-17-faster-btree-index-scans">https://pganalyze.com/blog/5mins-postgres-17-faster-btree-index-scans</a></li><li>Understanding HNSW + filtering (pgvector repo discussion) <a href="https://github.com/pgvector/pgvector/issues/259">https://github.com/pgvector/pgvector/issues/259</a></li><li>btree_gin <a href="https://www.postgresql.org/docs/current/btree-gin.html">https://www.postgresql.org/docs/current/btree-gin.html</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Michael and Nikolay are joined by Peter Geoghegan, major contributor and committer to Postgres, to discuss adding skip scan support to PostgreSQL over versions 17 and 18.<br> <br>Here are some links to things they mentioned:</p><ul><li>Peter Geoghegan <a href="https://postgres.fm/people/peter-geoghegan">https://postgres.fm/people/peter-geoghegan</a></li><li>Peter’s previous (excellent) interview on Postgres TV <a href="https://www.youtube.com/watch?v=iAPawr1DxhM">https://www.youtube.com/watch?v=iAPawr1DxhM</a></li><li>Efficient Search of Multidimensional B-Trees (1995 paper by Harry Leslie, Rohit Jain, Dave Birdsall, and Hedieh Yaghmai) <a href="https://vldb.org/conf/1995/P710.PDF">https://vldb.org/conf/1995/P710.PDF</a></li><li>Index Skip Scanning in Oracle <a href="https://oracle-base.com/articles/9i/index-skip-scanning">https://oracle-base.com/articles/9i/index-skip-scanning</a></li><li>Peter’s introductory email to the hackers mailing list about adding skip scan <a href="https://www.postgresql.org/message-id/CAH2-Wzmn1YsLzOGgjAQZdn1STSG_y8qP__vggTaPAYXJP+G4bw@mail.gmail.com">https://www.postgresql.org/message-id/CAH2-Wzmn1YsLzOGgjAQZdn1STSG_y8qP__vggTaPAYXJP+G4bw@mail.gmail.com</a></li><li>Loose Indexscan versus Index Skip Scan (PostgreSQL wiki) <a href="https://wiki.postgresql.org/wiki/Loose_indexscan">https://wiki.postgresql.org/wiki/Loose_indexscan</a></li><li>Tom Lane will be on the Talking Postgres podcast on October 9th <a href="https://aka.ms/TalkingPostgres-Ep20-cal">https://aka.ms/TalkingPostgres-Ep20-cal</a></li><li>Benoit Tigeot feedback and repro (originally reported via Slack) <a href="https://gist.github.com/benoittgt/ab72dc4cfedea2a0c6a5ee809d16e04d?permalink_comment_id=4597410#gistcomment-4597410">https://gist.github.com/benoittgt/ab72dc4cfedea2a0c6a5ee809d16e04d?permalink_comment_id=4597410#gistcomment-4597410</a></li><li>Summary video and blog post about the v17 work by Lukas from pganalyze (not mentioned but great) <a href="https://pganalyze.com/blog/5mins-postgres-17-faster-btree-index-scans">https://pganalyze.com/blog/5mins-postgres-17-faster-btree-index-scans</a></li><li>Understanding HNSW + filtering (pgvector repo discussion) <a href="https://github.com/pgvector/pgvector/issues/259">https://github.com/pgvector/pgvector/issues/259</a></li><li>btree_gin <a href="https://www.postgresql.org/docs/current/btree-gin.html">https://www.postgresql.org/docs/current/btree-gin.html</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 06 Sep 2024 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/0136fad3/0831dcea.mp3" length="48594370" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:image href="https://img.transistorcdn.com/xLGkVxS-XququMKk__W2UCzHAFivoo07Pi09EadBcXE/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS85YzU1/ZjM4OWVjODJmZWY1/YTkwMjc5ZWY1MzI1/ZjFhYy5wbmc.jpg"/>
      <itunes:duration>3469</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Michael and Nikolay are joined by Peter Geoghegan, major contributor and committer to Postgres, to discuss adding skip scan support to PostgreSQL over versions 17 and 18.<br> <br>Here are some links to things they mentioned:</p><ul><li>Peter Geoghegan <a href="https://postgres.fm/people/peter-geoghegan">https://postgres.fm/people/peter-geoghegan</a></li><li>Peter’s previous (excellent) interview on Postgres TV <a href="https://www.youtube.com/watch?v=iAPawr1DxhM">https://www.youtube.com/watch?v=iAPawr1DxhM</a></li><li>Efficient Search of Multidimensional B-Trees (1995 paper by Harry Leslie, Rohit Jain, Dave Birdsall, and Hedieh Yaghmai) <a href="https://vldb.org/conf/1995/P710.PDF">https://vldb.org/conf/1995/P710.PDF</a></li><li>Index Skip Scanning in Oracle <a href="https://oracle-base.com/articles/9i/index-skip-scanning">https://oracle-base.com/articles/9i/index-skip-scanning</a></li><li>Peter’s introductory email to the hackers mailing list about adding skip scan <a href="https://www.postgresql.org/message-id/CAH2-Wzmn1YsLzOGgjAQZdn1STSG_y8qP__vggTaPAYXJP+G4bw@mail.gmail.com">https://www.postgresql.org/message-id/CAH2-Wzmn1YsLzOGgjAQZdn1STSG_y8qP__vggTaPAYXJP+G4bw@mail.gmail.com</a></li><li>Loose Indexscan versus Index Skip Scan (PostgreSQL wiki) <a href="https://wiki.postgresql.org/wiki/Loose_indexscan">https://wiki.postgresql.org/wiki/Loose_indexscan</a></li><li>Tom Lane will be on the Talking Postgres podcast on October 9th <a href="https://aka.ms/TalkingPostgres-Ep20-cal">https://aka.ms/TalkingPostgres-Ep20-cal</a></li><li>Benoit Tigeot feedback and repro (originally reported via Slack) <a href="https://gist.github.com/benoittgt/ab72dc4cfedea2a0c6a5ee809d16e04d?permalink_comment_id=4597410#gistcomment-4597410">https://gist.github.com/benoittgt/ab72dc4cfedea2a0c6a5ee809d16e04d?permalink_comment_id=4597410#gistcomment-4597410</a></li><li>Summary video and blog post about the v17 work by Lukas from pganalyze (not mentioned but great) <a href="https://pganalyze.com/blog/5mins-postgres-17-faster-btree-index-scans">https://pganalyze.com/blog/5mins-postgres-17-faster-btree-index-scans</a></li><li>Understanding HNSW + filtering (pgvector repo discussion) <a href="https://github.com/pgvector/pgvector/issues/259">https://github.com/pgvector/pgvector/issues/259</a></li><li>btree_gin <a href="https://www.postgresql.org/docs/current/btree-gin.html">https://www.postgresql.org/docs/current/btree-gin.html</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Guest" href="http://pgeoghegan.blogspot.com" img="https://img.transistorcdn.com/6agnAp-qRMX9bc2KLJlY3sYnKuzJdo6AkBdAnrIPSjM/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS8zNjI1/MDFjNmFhNjYyZjdj/YTliMDExZWNlNmFj/ZTdjZS5qcGc.jpg">Peter Geoghegan</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/0136fad3/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Postgres Emergency Room</title>
      <itunes:episode>112</itunes:episode>
      <podcast:episode>112</podcast:episode>
      <itunes:title>Postgres Emergency Room</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">89de48cb-3b34-44d4-8c99-30c0af8cf91a</guid>
      <link>https://share.transistor.fm/s/2681b9b4</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss PostgreSQL emergencies — both the psychological side of incident management, and some technical aspects too.<br> <br>Here are some links to things they mentioned:</p><ul><li>Site Reliability Engineering resources from Google <a href="https://sre.google">https://sre.google</a></li><li>GitLab Handbook SRE <a href="https://handbook.gitlab.com/job-families/engineering/infrastructure/site-reliability-engineer">https://handbook.gitlab.com/job-families/engineering/infrastructure/site-reliability-engineer</a></li><li>Keeping Customers Streaming — The Centralized Site Reliability Practice at Netflix <a href="https://netflixtechblog.com/keeping-customers-streaming-the-centralized-site-reliability-practice-at-netflix-205cc37aa9fb">https://netflixtechblog.com/keeping-customers-streaming-the-centralized-site-reliability-practice-at-netflix-205cc37aa9fb</a></li><li>Our monitoring checklist episode <a href="https://postgres.fm/episodes/monitoring-checklist">https://postgres.fm/episodes/monitoring-checklist</a></li><li>Hannu Krosing talk on Postgres TV — Do you vacuum everyday? <a href="https://www.youtube.com/watch?v=JcRi8Z7rkPg">https://www.youtube.com/watch?v=JcRi8Z7rkPg</a></li><li>Our episode on corruption <a href="https://postgres.fm/episodes/corruption">https://postgres.fm/episodes/corruption</a></li><li>Nikolay’s episode on stopping and starting Postgres faster <a href="https://postgres.fm/episodes/stop-and-start-postgres-faster">https://postgres.fm/episodes/stop-and-start-postgres-faster</a></li><li>Our episode on out of disk <a href="https://postgres.fm/episodes/out-of-disk">https://postgres.fm/episodes/out-of-disk</a></li><li>The USE method (Brendan Gregg) <a href="https://www.brendangregg.com/usemethod.html">https://www.brendangregg.com/usemethod.html</a> </li><li>Thundering herd problem <a href="https://en.wikipedia.org/wiki/Thundering_herd_problem">https://en.wikipedia.org/wiki/Thundering_herd_problem</a></li><li>pgwatch2 Postgres AI edition <a href="https://gitlab.com/postgres-ai/pgwatch2">https://gitlab.com/postgres-ai/pgwatch2</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss PostgreSQL emergencies — both the psychological side of incident management, and some technical aspects too.<br> <br>Here are some links to things they mentioned:</p><ul><li>Site Reliability Engineering resources from Google <a href="https://sre.google">https://sre.google</a></li><li>GitLab Handbook SRE <a href="https://handbook.gitlab.com/job-families/engineering/infrastructure/site-reliability-engineer">https://handbook.gitlab.com/job-families/engineering/infrastructure/site-reliability-engineer</a></li><li>Keeping Customers Streaming — The Centralized Site Reliability Practice at Netflix <a href="https://netflixtechblog.com/keeping-customers-streaming-the-centralized-site-reliability-practice-at-netflix-205cc37aa9fb">https://netflixtechblog.com/keeping-customers-streaming-the-centralized-site-reliability-practice-at-netflix-205cc37aa9fb</a></li><li>Our monitoring checklist episode <a href="https://postgres.fm/episodes/monitoring-checklist">https://postgres.fm/episodes/monitoring-checklist</a></li><li>Hannu Krosing talk on Postgres TV — Do you vacuum everyday? <a href="https://www.youtube.com/watch?v=JcRi8Z7rkPg">https://www.youtube.com/watch?v=JcRi8Z7rkPg</a></li><li>Our episode on corruption <a href="https://postgres.fm/episodes/corruption">https://postgres.fm/episodes/corruption</a></li><li>Nikolay’s episode on stopping and starting Postgres faster <a href="https://postgres.fm/episodes/stop-and-start-postgres-faster">https://postgres.fm/episodes/stop-and-start-postgres-faster</a></li><li>Our episode on out of disk <a href="https://postgres.fm/episodes/out-of-disk">https://postgres.fm/episodes/out-of-disk</a></li><li>The USE method (Brendan Gregg) <a href="https://www.brendangregg.com/usemethod.html">https://www.brendangregg.com/usemethod.html</a> </li><li>Thundering herd problem <a href="https://en.wikipedia.org/wiki/Thundering_herd_problem">https://en.wikipedia.org/wiki/Thundering_herd_problem</a></li><li>pgwatch2 Postgres AI edition <a href="https://gitlab.com/postgres-ai/pgwatch2">https://gitlab.com/postgres-ai/pgwatch2</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 30 Aug 2024 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/2681b9b4/c17a1cd6.mp3" length="43675027" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2727</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss PostgreSQL emergencies — both the psychological side of incident management, and some technical aspects too.<br> <br>Here are some links to things they mentioned:</p><ul><li>Site Reliability Engineering resources from Google <a href="https://sre.google">https://sre.google</a></li><li>GitLab Handbook SRE <a href="https://handbook.gitlab.com/job-families/engineering/infrastructure/site-reliability-engineer">https://handbook.gitlab.com/job-families/engineering/infrastructure/site-reliability-engineer</a></li><li>Keeping Customers Streaming — The Centralized Site Reliability Practice at Netflix <a href="https://netflixtechblog.com/keeping-customers-streaming-the-centralized-site-reliability-practice-at-netflix-205cc37aa9fb">https://netflixtechblog.com/keeping-customers-streaming-the-centralized-site-reliability-practice-at-netflix-205cc37aa9fb</a></li><li>Our monitoring checklist episode <a href="https://postgres.fm/episodes/monitoring-checklist">https://postgres.fm/episodes/monitoring-checklist</a></li><li>Hannu Krosing talk on Postgres TV — Do you vacuum everyday? <a href="https://www.youtube.com/watch?v=JcRi8Z7rkPg">https://www.youtube.com/watch?v=JcRi8Z7rkPg</a></li><li>Our episode on corruption <a href="https://postgres.fm/episodes/corruption">https://postgres.fm/episodes/corruption</a></li><li>Nikolay’s episode on stopping and starting Postgres faster <a href="https://postgres.fm/episodes/stop-and-start-postgres-faster">https://postgres.fm/episodes/stop-and-start-postgres-faster</a></li><li>Our episode on out of disk <a href="https://postgres.fm/episodes/out-of-disk">https://postgres.fm/episodes/out-of-disk</a></li><li>The USE method (Brendan Gregg) <a href="https://www.brendangregg.com/usemethod.html">https://www.brendangregg.com/usemethod.html</a> </li><li>Thundering herd problem <a href="https://en.wikipedia.org/wiki/Thundering_herd_problem">https://en.wikipedia.org/wiki/Thundering_herd_problem</a></li><li>pgwatch2 Postgres AI edition <a href="https://gitlab.com/postgres-ai/pgwatch2">https://gitlab.com/postgres-ai/pgwatch2</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/2681b9b4/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Get or Create</title>
      <itunes:episode>111</itunes:episode>
      <podcast:episode>111</podcast:episode>
      <itunes:title>Get or Create</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">a8b37c2f-e2b0-42ce-acff-4fce275f53c2</guid>
      <link>https://share.transistor.fm/s/2aebbc6b</link>
      <description>
        <![CDATA[<p>Michael and Nikolay are joined by Haki Benita, a technical lead and database enthusiast who writes an excellent blog and gives popular talks and training sessions too, to discuss the surprisingly complex topic of trying to implement “get or create” in PostgreSQL — handling issues around idempotency, concurrency, and bloat.<br> <br>Here are some links to things they mentioned:</p><ul><li>Haki Benita <a href="https://hakibenita.com">https://hakibenita.com</a> </li><li>How to Get or Create in PostgreSQL (blog post by Haki) <a href="https://hakibenita.com/postgresql-get-or-create">https://hakibenita.com/postgresql-get-or-create</a> </li><li>"Find-or-insert" using a single query (how-to guide by Nikolay) <a href="https://gitlab.com/postgres-ai/postgresql-consulting/postgres-howtos/-/blob/main/0036_find-or-insert_using_a_single_query.md?ref_type=heads">https://gitlab.com/postgres-ai/postgresql-consulting/postgres-howtos/-/blob/main/0036_find-or-insert_using_a_single_query.md?ref_type=heads</a> </li><li>Is SELECT or INSERT in a function prone to race conditions? (Answer by Erwin Brandstetter)  <a href="https://stackoverflow.com/questions/15939902/is-select-or-insert-in-a-function-prone-to-race-conditions/15950324#15950324">https://stackoverflow.com/questions/15939902/is-select-or-insert-in-a-function-prone-to-race-conditions/15950324#15950324</a> </li><li>get_or_create() in Django <a href="https://docs.djangoproject.com/en/5.1/ref/models/querysets/#get-or-create">https://docs.djangoproject.com/en/5.1/ref/models/querysets/#get-or-create</a> </li><li>Subtransactions Considered Harmful (blog post by Nikolay) <a href="https://postgres.ai/blog/20210831-postgresql-subtransactions-considered-harmful">https://postgres.ai/blog/20210831-postgresql-subtransactions-considered-harmful</a> </li><li>MERGE (Postgres documentation) <a href="https://www.postgresql.org/docs/current/sql-merge.html">https://www.postgresql.org/docs/current/sql-merge.html</a></li><li>Hidden dangers of duplicate key violations in PostgreSQL and how to avoid them (blog post by Divya Sharma and Shawn McCoy from the RDS team) <a href="https://aws.amazon.com/blogs/database/hidden-dangers-of-duplicate-key-violations-in-postgresql-and-how-to-avoid-them/">https://aws.amazon.com/blogs/database/hidden-dangers-of-duplicate-key-violations-in-postgresql-and-how-to-avoid-them/</a> </li><li>One, Two, Skip a Few... (blog post by Pete Hamilton from Incident) <a href="https://incident.io/blog/one-two-skip-a-few">https://incident.io/blog/one-two-skip-a-few</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Michael and Nikolay are joined by Haki Benita, a technical lead and database enthusiast who writes an excellent blog and gives popular talks and training sessions too, to discuss the surprisingly complex topic of trying to implement “get or create” in PostgreSQL — handling issues around idempotency, concurrency, and bloat.<br> <br>Here are some links to things they mentioned:</p><ul><li>Haki Benita <a href="https://hakibenita.com">https://hakibenita.com</a> </li><li>How to Get or Create in PostgreSQL (blog post by Haki) <a href="https://hakibenita.com/postgresql-get-or-create">https://hakibenita.com/postgresql-get-or-create</a> </li><li>"Find-or-insert" using a single query (how-to guide by Nikolay) <a href="https://gitlab.com/postgres-ai/postgresql-consulting/postgres-howtos/-/blob/main/0036_find-or-insert_using_a_single_query.md?ref_type=heads">https://gitlab.com/postgres-ai/postgresql-consulting/postgres-howtos/-/blob/main/0036_find-or-insert_using_a_single_query.md?ref_type=heads</a> </li><li>Is SELECT or INSERT in a function prone to race conditions? (Answer by Erwin Brandstetter)  <a href="https://stackoverflow.com/questions/15939902/is-select-or-insert-in-a-function-prone-to-race-conditions/15950324#15950324">https://stackoverflow.com/questions/15939902/is-select-or-insert-in-a-function-prone-to-race-conditions/15950324#15950324</a> </li><li>get_or_create() in Django <a href="https://docs.djangoproject.com/en/5.1/ref/models/querysets/#get-or-create">https://docs.djangoproject.com/en/5.1/ref/models/querysets/#get-or-create</a> </li><li>Subtransactions Considered Harmful (blog post by Nikolay) <a href="https://postgres.ai/blog/20210831-postgresql-subtransactions-considered-harmful">https://postgres.ai/blog/20210831-postgresql-subtransactions-considered-harmful</a> </li><li>MERGE (Postgres documentation) <a href="https://www.postgresql.org/docs/current/sql-merge.html">https://www.postgresql.org/docs/current/sql-merge.html</a></li><li>Hidden dangers of duplicate key violations in PostgreSQL and how to avoid them (blog post by Divya Sharma and Shawn McCoy from the RDS team) <a href="https://aws.amazon.com/blogs/database/hidden-dangers-of-duplicate-key-violations-in-postgresql-and-how-to-avoid-them/">https://aws.amazon.com/blogs/database/hidden-dangers-of-duplicate-key-violations-in-postgresql-and-how-to-avoid-them/</a> </li><li>One, Two, Skip a Few... (blog post by Pete Hamilton from Incident) <a href="https://incident.io/blog/one-two-skip-a-few">https://incident.io/blog/one-two-skip-a-few</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 23 Aug 2024 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/2aebbc6b/da0d3dc2.mp3" length="48331908" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>3019</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Michael and Nikolay are joined by Haki Benita, a technical lead and database enthusiast who writes an excellent blog and gives popular talks and training sessions too, to discuss the surprisingly complex topic of trying to implement “get or create” in PostgreSQL — handling issues around idempotency, concurrency, and bloat.<br> <br>Here are some links to things they mentioned:</p><ul><li>Haki Benita <a href="https://hakibenita.com">https://hakibenita.com</a> </li><li>How to Get or Create in PostgreSQL (blog post by Haki) <a href="https://hakibenita.com/postgresql-get-or-create">https://hakibenita.com/postgresql-get-or-create</a> </li><li>"Find-or-insert" using a single query (how-to guide by Nikolay) <a href="https://gitlab.com/postgres-ai/postgresql-consulting/postgres-howtos/-/blob/main/0036_find-or-insert_using_a_single_query.md?ref_type=heads">https://gitlab.com/postgres-ai/postgresql-consulting/postgres-howtos/-/blob/main/0036_find-or-insert_using_a_single_query.md?ref_type=heads</a> </li><li>Is SELECT or INSERT in a function prone to race conditions? (Answer by Erwin Brandstetter)  <a href="https://stackoverflow.com/questions/15939902/is-select-or-insert-in-a-function-prone-to-race-conditions/15950324#15950324">https://stackoverflow.com/questions/15939902/is-select-or-insert-in-a-function-prone-to-race-conditions/15950324#15950324</a> </li><li>get_or_create() in Django <a href="https://docs.djangoproject.com/en/5.1/ref/models/querysets/#get-or-create">https://docs.djangoproject.com/en/5.1/ref/models/querysets/#get-or-create</a> </li><li>Subtransactions Considered Harmful (blog post by Nikolay) <a href="https://postgres.ai/blog/20210831-postgresql-subtransactions-considered-harmful">https://postgres.ai/blog/20210831-postgresql-subtransactions-considered-harmful</a> </li><li>MERGE (Postgres documentation) <a href="https://www.postgresql.org/docs/current/sql-merge.html">https://www.postgresql.org/docs/current/sql-merge.html</a></li><li>Hidden dangers of duplicate key violations in PostgreSQL and how to avoid them (blog post by Divya Sharma and Shawn McCoy from the RDS team) <a href="https://aws.amazon.com/blogs/database/hidden-dangers-of-duplicate-key-violations-in-postgresql-and-how-to-avoid-them/">https://aws.amazon.com/blogs/database/hidden-dangers-of-duplicate-key-violations-in-postgresql-and-how-to-avoid-them/</a> </li><li>One, Two, Skip a Few... (blog post by Pete Hamilton from Incident) <a href="https://incident.io/blog/one-two-skip-a-few">https://incident.io/blog/one-two-skip-a-few</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Guest" href="https://hakibenita.com" img="https://img.transistorcdn.com/sxHRERtBp80KA3Jytx0A2Yj17VET5bXMzHFIueMFEC8/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9jMWIx/NTRlMjVjOWRmODBh/NzNjZGFlNjFjZmY0/ZWJhNS5qcGVn.jpg">Haki Benita</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/2aebbc6b/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Getting started with benchmarking</title>
      <itunes:episode>110</itunes:episode>
      <podcast:episode>110</podcast:episode>
      <itunes:title>Getting started with benchmarking</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">908d70ef-7a30-4338-93ab-747b3252feca</guid>
      <link>https://share.transistor.fm/s/3a387e37</link>
      <description>
        <![CDATA[<p>Michael and Nikolay are joined by Melanie Plageman, database internals engineer at Microsoft and major contributor and committer to PostgreSQL, to discuss getting started with benchmarking — how it differs for users and developers of Postgres, how and when it comes up during development, some tools and lessons, as well as what she's working on at the moment.<br> <br>Here are some links to things they mentioned:</p><ul><li>Melanie Plageman <a href="https://postgres.fm/people/melanie-plageman">https://postgres.fm/people/melanie-plageman</a></li><li>Meanie’s Introduction to Benchmarking With pgbench talk slides <a href="https://postgresql.us/events/pgconfnyc2023/schedule/session/1410-introduction-to-benchmarking-with-pgbench/#slides">https://postgresql.us/events/pgconfnyc2023/schedule/session/1410-introduction-to-benchmarking-with-pgbench/#slides</a></li><li>Melanie’s Visualizing Postgres I/O Performance for Development talk recording <a href="https://www.youtube.com/watch?v=CxyPZHG5beI">https://www.youtube.com/watch?v=CxyPZHG5beI</a></li><li>Melanie’s Visualizing Postgres I/O Performance for Development talk slides <a href="https://speakerdeck.com/melanieplageman/o-performance-for-development">https://speakerdeck.com/melanieplageman/o-performance-for-development</a></li><li>pgbench <a href="https://www.postgresql.org/docs/current/pgbench.html">https://www.postgresql.org/docs/current/pgbench.html</a></li><li>Mark Callaghan’s blog <a href="https://smalldatum.blogspot.com/">https://smalldatum.blogspot.com</a></li><li>Some of Tomas Vondra’s blog posts <a href="https://www.enterprisedb.com/blog/author/tomas-vondra">https://www.enterprisedb.com/blog/author/tomas-vondra</a></li><li>Some of Andres Freund’s blog posts <a href="https://www.citusdata.com/blog/authors/andres-freund/">https://www.citusdata.com/blog/authors/andres-freund/</a></li><li>An example of Alexander Lakhin’s work <a href="https://www.postgresql.org/message-id/b32bed1b-0746-9b20-1472-4bdc9ca66d52%40gmail.com">https://www.postgresql.org/message-id/b32bed1b-0746-9b20-1472-4bdc9ca66d52%40gmail.com</a></li><li>Simplifying the TPC Benchmark C, an OLTP Workload (talk by Mark Wong) <a href="https://www.youtube.com/watch?v=qi0I74urLoY">https://www.youtube.com/watch?v=qi0I74urLoY</a></li><li>Matplotlib <a href="https://matplotlib.org/">https://matplotlib.org</a></li><li>pandas <a href="https://pandas.pydata.org/">https://pandas.pydata.org</a></li><li>pg_stat_io <a href="https://www.postgresql.org/docs/current/monitoring-stats.html#MONITORING-PG-STAT-IO-VIEW">https://www.postgresql.org/docs/current/monitoring-stats.html#MONITORING-PG-STAT-IO-VIEW</a></li><li>pg_stat_io commit <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=a9c70b46dbe152e094f137f7e6ba9cd3a638ee25">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=a9c70b46dbe152e094f137f7e6ba9cd3a638ee25</a> </li><li>pg_buffercache <a href="https://www.postgresql.org/docs/current/pgbuffercache.html">https://www.postgresql.org/docs/current/pgbuffercache.html</a></li><li>tmpfs <a href="https://docs.kernel.org/filesystems/tmpfs.html">https://docs.kernel.org/filesystems/tmpfs.html</a></li><li>Eager page freeze criteria mailing list thread <a href="https://www.postgresql.org/message-id/CAAKRu_b3tpbdRPUPh1Q5h35gXhY%3DspH2ssNsEsJ9sDfw6%3DPEAg%40mail.gmail.com">https://www.postgresql.org/message-id/CAAKRu_b3tpbdRPUPh1Q5h35gXhY%3DspH2ssNsEsJ9sDfw6%3DPEAg%40mail.gmail.com</a></li><li>The path to using AIO in postgres (talk by Andres Freund) <a href="https://www.youtube.com/watch?v=qX50xrHwQa4">https://www.youtube.com/watch?v=qX50xrHwQa4</a></li><li>Improve dead tuple storage for lazy vacuum (Masahiko Sawada) <a href="https://www.postgresql.org/message-id/flat/CAD21AoAfOZvmfR0j8VmZorZjL7RhTiQdVttNuC4W-Shdc2a-AA@mail.gmail.com">https://www.postgresql.org/message-id/flat/CAD21AoAfOZvmfR0j8VmZorZjL7RhTiQdVttNuC4W-Shdc2a-AA@mail.gmail.com</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Michael and Nikolay are joined by Melanie Plageman, database internals engineer at Microsoft and major contributor and committer to PostgreSQL, to discuss getting started with benchmarking — how it differs for users and developers of Postgres, how and when it comes up during development, some tools and lessons, as well as what she's working on at the moment.<br> <br>Here are some links to things they mentioned:</p><ul><li>Melanie Plageman <a href="https://postgres.fm/people/melanie-plageman">https://postgres.fm/people/melanie-plageman</a></li><li>Meanie’s Introduction to Benchmarking With pgbench talk slides <a href="https://postgresql.us/events/pgconfnyc2023/schedule/session/1410-introduction-to-benchmarking-with-pgbench/#slides">https://postgresql.us/events/pgconfnyc2023/schedule/session/1410-introduction-to-benchmarking-with-pgbench/#slides</a></li><li>Melanie’s Visualizing Postgres I/O Performance for Development talk recording <a href="https://www.youtube.com/watch?v=CxyPZHG5beI">https://www.youtube.com/watch?v=CxyPZHG5beI</a></li><li>Melanie’s Visualizing Postgres I/O Performance for Development talk slides <a href="https://speakerdeck.com/melanieplageman/o-performance-for-development">https://speakerdeck.com/melanieplageman/o-performance-for-development</a></li><li>pgbench <a href="https://www.postgresql.org/docs/current/pgbench.html">https://www.postgresql.org/docs/current/pgbench.html</a></li><li>Mark Callaghan’s blog <a href="https://smalldatum.blogspot.com/">https://smalldatum.blogspot.com</a></li><li>Some of Tomas Vondra’s blog posts <a href="https://www.enterprisedb.com/blog/author/tomas-vondra">https://www.enterprisedb.com/blog/author/tomas-vondra</a></li><li>Some of Andres Freund’s blog posts <a href="https://www.citusdata.com/blog/authors/andres-freund/">https://www.citusdata.com/blog/authors/andres-freund/</a></li><li>An example of Alexander Lakhin’s work <a href="https://www.postgresql.org/message-id/b32bed1b-0746-9b20-1472-4bdc9ca66d52%40gmail.com">https://www.postgresql.org/message-id/b32bed1b-0746-9b20-1472-4bdc9ca66d52%40gmail.com</a></li><li>Simplifying the TPC Benchmark C, an OLTP Workload (talk by Mark Wong) <a href="https://www.youtube.com/watch?v=qi0I74urLoY">https://www.youtube.com/watch?v=qi0I74urLoY</a></li><li>Matplotlib <a href="https://matplotlib.org/">https://matplotlib.org</a></li><li>pandas <a href="https://pandas.pydata.org/">https://pandas.pydata.org</a></li><li>pg_stat_io <a href="https://www.postgresql.org/docs/current/monitoring-stats.html#MONITORING-PG-STAT-IO-VIEW">https://www.postgresql.org/docs/current/monitoring-stats.html#MONITORING-PG-STAT-IO-VIEW</a></li><li>pg_stat_io commit <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=a9c70b46dbe152e094f137f7e6ba9cd3a638ee25">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=a9c70b46dbe152e094f137f7e6ba9cd3a638ee25</a> </li><li>pg_buffercache <a href="https://www.postgresql.org/docs/current/pgbuffercache.html">https://www.postgresql.org/docs/current/pgbuffercache.html</a></li><li>tmpfs <a href="https://docs.kernel.org/filesystems/tmpfs.html">https://docs.kernel.org/filesystems/tmpfs.html</a></li><li>Eager page freeze criteria mailing list thread <a href="https://www.postgresql.org/message-id/CAAKRu_b3tpbdRPUPh1Q5h35gXhY%3DspH2ssNsEsJ9sDfw6%3DPEAg%40mail.gmail.com">https://www.postgresql.org/message-id/CAAKRu_b3tpbdRPUPh1Q5h35gXhY%3DspH2ssNsEsJ9sDfw6%3DPEAg%40mail.gmail.com</a></li><li>The path to using AIO in postgres (talk by Andres Freund) <a href="https://www.youtube.com/watch?v=qX50xrHwQa4">https://www.youtube.com/watch?v=qX50xrHwQa4</a></li><li>Improve dead tuple storage for lazy vacuum (Masahiko Sawada) <a href="https://www.postgresql.org/message-id/flat/CAD21AoAfOZvmfR0j8VmZorZjL7RhTiQdVttNuC4W-Shdc2a-AA@mail.gmail.com">https://www.postgresql.org/message-id/flat/CAD21AoAfOZvmfR0j8VmZorZjL7RhTiQdVttNuC4W-Shdc2a-AA@mail.gmail.com</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 16 Aug 2024 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/3a387e37/823568da.mp3" length="54302077" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>3392</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Michael and Nikolay are joined by Melanie Plageman, database internals engineer at Microsoft and major contributor and committer to PostgreSQL, to discuss getting started with benchmarking — how it differs for users and developers of Postgres, how and when it comes up during development, some tools and lessons, as well as what she's working on at the moment.<br> <br>Here are some links to things they mentioned:</p><ul><li>Melanie Plageman <a href="https://postgres.fm/people/melanie-plageman">https://postgres.fm/people/melanie-plageman</a></li><li>Meanie’s Introduction to Benchmarking With pgbench talk slides <a href="https://postgresql.us/events/pgconfnyc2023/schedule/session/1410-introduction-to-benchmarking-with-pgbench/#slides">https://postgresql.us/events/pgconfnyc2023/schedule/session/1410-introduction-to-benchmarking-with-pgbench/#slides</a></li><li>Melanie’s Visualizing Postgres I/O Performance for Development talk recording <a href="https://www.youtube.com/watch?v=CxyPZHG5beI">https://www.youtube.com/watch?v=CxyPZHG5beI</a></li><li>Melanie’s Visualizing Postgres I/O Performance for Development talk slides <a href="https://speakerdeck.com/melanieplageman/o-performance-for-development">https://speakerdeck.com/melanieplageman/o-performance-for-development</a></li><li>pgbench <a href="https://www.postgresql.org/docs/current/pgbench.html">https://www.postgresql.org/docs/current/pgbench.html</a></li><li>Mark Callaghan’s blog <a href="https://smalldatum.blogspot.com/">https://smalldatum.blogspot.com</a></li><li>Some of Tomas Vondra’s blog posts <a href="https://www.enterprisedb.com/blog/author/tomas-vondra">https://www.enterprisedb.com/blog/author/tomas-vondra</a></li><li>Some of Andres Freund’s blog posts <a href="https://www.citusdata.com/blog/authors/andres-freund/">https://www.citusdata.com/blog/authors/andres-freund/</a></li><li>An example of Alexander Lakhin’s work <a href="https://www.postgresql.org/message-id/b32bed1b-0746-9b20-1472-4bdc9ca66d52%40gmail.com">https://www.postgresql.org/message-id/b32bed1b-0746-9b20-1472-4bdc9ca66d52%40gmail.com</a></li><li>Simplifying the TPC Benchmark C, an OLTP Workload (talk by Mark Wong) <a href="https://www.youtube.com/watch?v=qi0I74urLoY">https://www.youtube.com/watch?v=qi0I74urLoY</a></li><li>Matplotlib <a href="https://matplotlib.org/">https://matplotlib.org</a></li><li>pandas <a href="https://pandas.pydata.org/">https://pandas.pydata.org</a></li><li>pg_stat_io <a href="https://www.postgresql.org/docs/current/monitoring-stats.html#MONITORING-PG-STAT-IO-VIEW">https://www.postgresql.org/docs/current/monitoring-stats.html#MONITORING-PG-STAT-IO-VIEW</a></li><li>pg_stat_io commit <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=a9c70b46dbe152e094f137f7e6ba9cd3a638ee25">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=a9c70b46dbe152e094f137f7e6ba9cd3a638ee25</a> </li><li>pg_buffercache <a href="https://www.postgresql.org/docs/current/pgbuffercache.html">https://www.postgresql.org/docs/current/pgbuffercache.html</a></li><li>tmpfs <a href="https://docs.kernel.org/filesystems/tmpfs.html">https://docs.kernel.org/filesystems/tmpfs.html</a></li><li>Eager page freeze criteria mailing list thread <a href="https://www.postgresql.org/message-id/CAAKRu_b3tpbdRPUPh1Q5h35gXhY%3DspH2ssNsEsJ9sDfw6%3DPEAg%40mail.gmail.com">https://www.postgresql.org/message-id/CAAKRu_b3tpbdRPUPh1Q5h35gXhY%3DspH2ssNsEsJ9sDfw6%3DPEAg%40mail.gmail.com</a></li><li>The path to using AIO in postgres (talk by Andres Freund) <a href="https://www.youtube.com/watch?v=qX50xrHwQa4">https://www.youtube.com/watch?v=qX50xrHwQa4</a></li><li>Improve dead tuple storage for lazy vacuum (Masahiko Sawada) <a href="https://www.postgresql.org/message-id/flat/CAD21AoAfOZvmfR0j8VmZorZjL7RhTiQdVttNuC4W-Shdc2a-AA@mail.gmail.com">https://www.postgresql.org/message-id/flat/CAD21AoAfOZvmfR0j8VmZorZjL7RhTiQdVttNuC4W-Shdc2a-AA@mail.gmail.com</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Guest" href="https://postgres.fm/people/melanie-plageman" img="https://img.transistorcdn.com/IiTnH878UZOEqMPzoRjfc3wzPub0bQWuVXIFFVJZyyg/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9kOGVi/ZWJjYzhlYWMxZWM0/ZDNiNDVhNWU3ODk4/MDJlOS5qcGc.jpg">Melanie Plageman</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/3a387e37/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Index-Only Scans</title>
      <itunes:episode>109</itunes:episode>
      <podcast:episode>109</podcast:episode>
      <itunes:title>Index-Only Scans</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">a1f6ded2-dc97-4650-852c-8a490ecd8e1a</guid>
      <link>https://share.transistor.fm/s/20e1cde7</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss Index-Only Scans in Postgres — what they are, how they help, some things to look out for, and some advice.<br> <br>Here are some links to things they mentioned:</p><ul><li>Index-Only Scans and Covering Indexes (docs) <a href="https://www.postgresql.org/docs/current/indexes-index-only-scans.html">https://www.postgresql.org/docs/current/indexes-index-only-scans.html</a></li><li>Discussion on Twitter about JIT and Parallel Query defaults <a href="https://x.com/jer_s/status/1819749688184373742">https://x.com/jer_s/status/1819749688184373742</a></li><li>Postgres Wiki on Index-Only Scans <a href="https://wiki.postgresql.org/wiki/Index-only_scans">https://wiki.postgresql.org/wiki/Index-only_scans</a></li><li>Heap Fetches <a href="https://www.pgmustard.com/docs/explain/heap-fetches">https://www.pgmustard.com/docs/explain/heap-fetches</a></li><li>Rows Removed By Filter <a href="https://www.pgmustard.com/docs/explain/rows-removed-by-filter">https://www.pgmustard.com/docs/explain/rows-removed-by-filter</a></li><li>random_page_cost <a href="https://postgresqlco.nf/doc/en/param/random_page_cost/">https://postgresqlco.nf/doc/en/param/random_page_cost/</a></li><li>pg_dump docs change <a href="https://x.com/samokhvalov/status/1820539826363588755">https://x.com/samokhvalov/status/1820539826363588755</a></li><li>Crunchy Bridge changed random_page_cost to 1.1 for new servers <a href="https://docs.crunchybridge.com/changelog#postgres_random_page_cost_1_1">https://docs.crunchybridge.com/changelog#postgres_random_page_cost_1_1</a></li><li>Autovacuum Tuning Basics (updated blog post by Tomas Vondra) <a href="https://www.enterprisedb.com/blog/autovacuum-tuning-basics">https://www.enterprisedb.com/blog/autovacuum-tuning-basics</a></li><li>Our episode on over-indexing <a href="https://postgres.fm/episodes/over-indexing">https://postgres.fm/episodes/over-indexing</a></li><li>Our episode on HOT updates <a href="https://postgres.fm/episodes/hot-updates">https://postgres.fm/episodes/hot-updates</a></li><li>Our episode on partitioning <a href="https://postgres.fm/episodes/partitioning">https://postgres.fm/episodes/partitioning</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss Index-Only Scans in Postgres — what they are, how they help, some things to look out for, and some advice.<br> <br>Here are some links to things they mentioned:</p><ul><li>Index-Only Scans and Covering Indexes (docs) <a href="https://www.postgresql.org/docs/current/indexes-index-only-scans.html">https://www.postgresql.org/docs/current/indexes-index-only-scans.html</a></li><li>Discussion on Twitter about JIT and Parallel Query defaults <a href="https://x.com/jer_s/status/1819749688184373742">https://x.com/jer_s/status/1819749688184373742</a></li><li>Postgres Wiki on Index-Only Scans <a href="https://wiki.postgresql.org/wiki/Index-only_scans">https://wiki.postgresql.org/wiki/Index-only_scans</a></li><li>Heap Fetches <a href="https://www.pgmustard.com/docs/explain/heap-fetches">https://www.pgmustard.com/docs/explain/heap-fetches</a></li><li>Rows Removed By Filter <a href="https://www.pgmustard.com/docs/explain/rows-removed-by-filter">https://www.pgmustard.com/docs/explain/rows-removed-by-filter</a></li><li>random_page_cost <a href="https://postgresqlco.nf/doc/en/param/random_page_cost/">https://postgresqlco.nf/doc/en/param/random_page_cost/</a></li><li>pg_dump docs change <a href="https://x.com/samokhvalov/status/1820539826363588755">https://x.com/samokhvalov/status/1820539826363588755</a></li><li>Crunchy Bridge changed random_page_cost to 1.1 for new servers <a href="https://docs.crunchybridge.com/changelog#postgres_random_page_cost_1_1">https://docs.crunchybridge.com/changelog#postgres_random_page_cost_1_1</a></li><li>Autovacuum Tuning Basics (updated blog post by Tomas Vondra) <a href="https://www.enterprisedb.com/blog/autovacuum-tuning-basics">https://www.enterprisedb.com/blog/autovacuum-tuning-basics</a></li><li>Our episode on over-indexing <a href="https://postgres.fm/episodes/over-indexing">https://postgres.fm/episodes/over-indexing</a></li><li>Our episode on HOT updates <a href="https://postgres.fm/episodes/hot-updates">https://postgres.fm/episodes/hot-updates</a></li><li>Our episode on partitioning <a href="https://postgres.fm/episodes/partitioning">https://postgres.fm/episodes/partitioning</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 09 Aug 2024 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/20e1cde7/a6e8a4cc.mp3" length="37714915" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2355</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss Index-Only Scans in Postgres — what they are, how they help, some things to look out for, and some advice.<br> <br>Here are some links to things they mentioned:</p><ul><li>Index-Only Scans and Covering Indexes (docs) <a href="https://www.postgresql.org/docs/current/indexes-index-only-scans.html">https://www.postgresql.org/docs/current/indexes-index-only-scans.html</a></li><li>Discussion on Twitter about JIT and Parallel Query defaults <a href="https://x.com/jer_s/status/1819749688184373742">https://x.com/jer_s/status/1819749688184373742</a></li><li>Postgres Wiki on Index-Only Scans <a href="https://wiki.postgresql.org/wiki/Index-only_scans">https://wiki.postgresql.org/wiki/Index-only_scans</a></li><li>Heap Fetches <a href="https://www.pgmustard.com/docs/explain/heap-fetches">https://www.pgmustard.com/docs/explain/heap-fetches</a></li><li>Rows Removed By Filter <a href="https://www.pgmustard.com/docs/explain/rows-removed-by-filter">https://www.pgmustard.com/docs/explain/rows-removed-by-filter</a></li><li>random_page_cost <a href="https://postgresqlco.nf/doc/en/param/random_page_cost/">https://postgresqlco.nf/doc/en/param/random_page_cost/</a></li><li>pg_dump docs change <a href="https://x.com/samokhvalov/status/1820539826363588755">https://x.com/samokhvalov/status/1820539826363588755</a></li><li>Crunchy Bridge changed random_page_cost to 1.1 for new servers <a href="https://docs.crunchybridge.com/changelog#postgres_random_page_cost_1_1">https://docs.crunchybridge.com/changelog#postgres_random_page_cost_1_1</a></li><li>Autovacuum Tuning Basics (updated blog post by Tomas Vondra) <a href="https://www.enterprisedb.com/blog/autovacuum-tuning-basics">https://www.enterprisedb.com/blog/autovacuum-tuning-basics</a></li><li>Our episode on over-indexing <a href="https://postgres.fm/episodes/over-indexing">https://postgres.fm/episodes/over-indexing</a></li><li>Our episode on HOT updates <a href="https://postgres.fm/episodes/hot-updates">https://postgres.fm/episodes/hot-updates</a></li><li>Our episode on partitioning <a href="https://postgres.fm/episodes/partitioning">https://postgres.fm/episodes/partitioning</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/20e1cde7/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Why Postgres?</title>
      <itunes:episode>108</itunes:episode>
      <podcast:episode>108</podcast:episode>
      <itunes:title>Why Postgres?</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">7ee4affe-b4ed-474e-8546-d1fdf5a480bd</guid>
      <link>https://share.transistor.fm/s/5bd0fb0d</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss why they chose Postgres — as users, for their businesses, for their careers, as well as some doubts.<br> <br>Here are some links to things they mentioned:</p><ul><li>Our episode on why Postgres become popular <a href="https://postgres.fm/episodes/why-is-postgres-popular">https://postgres.fm/episodes/why-is-postgres-popular</a></li><li>Database Systems: The Complete Book (by Hector Garcia-Molina, Jeff Ullman, and Jennifer Widom) <a href="http://infolab.stanford.edu/~ullman/dscb.html">http://infolab.stanford.edu/~ullman/dscb.html</a></li><li>Our episode on the Postgres startup ecosystem <a href="https://postgres.fm/episodes/postgres-startup-ecosystem">https://postgres.fm/episodes/postgres-startup-ecosystem</a></li><li>Will Postgres Live Forever? (talk by Bruce Momjian) <a href="https://www.youtube.com/watch?v=iYVxWpyaGpA">https://www.youtube.com/watch?v=iYVxWpyaGpA</a> </li><li>"Anarcho-Syndicalist Commune" from Monty Python and the Holy Grail <a href="https://www.youtube.com/watch?v=R7qT-C-0ajI">https://www.youtube.com/watch?v=R7qT-C-0ajI</a></li><li>The Cathedral and the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary (book by Eric S. Raymond) <a href="https://en.wikipedia.org/wiki/The_Cathedral_and_the_Bazaar">https://en.wikipedia.org/wiki/The_Cathedral_and_the_Bazaar</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss why they chose Postgres — as users, for their businesses, for their careers, as well as some doubts.<br> <br>Here are some links to things they mentioned:</p><ul><li>Our episode on why Postgres become popular <a href="https://postgres.fm/episodes/why-is-postgres-popular">https://postgres.fm/episodes/why-is-postgres-popular</a></li><li>Database Systems: The Complete Book (by Hector Garcia-Molina, Jeff Ullman, and Jennifer Widom) <a href="http://infolab.stanford.edu/~ullman/dscb.html">http://infolab.stanford.edu/~ullman/dscb.html</a></li><li>Our episode on the Postgres startup ecosystem <a href="https://postgres.fm/episodes/postgres-startup-ecosystem">https://postgres.fm/episodes/postgres-startup-ecosystem</a></li><li>Will Postgres Live Forever? (talk by Bruce Momjian) <a href="https://www.youtube.com/watch?v=iYVxWpyaGpA">https://www.youtube.com/watch?v=iYVxWpyaGpA</a> </li><li>"Anarcho-Syndicalist Commune" from Monty Python and the Holy Grail <a href="https://www.youtube.com/watch?v=R7qT-C-0ajI">https://www.youtube.com/watch?v=R7qT-C-0ajI</a></li><li>The Cathedral and the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary (book by Eric S. Raymond) <a href="https://en.wikipedia.org/wiki/The_Cathedral_and_the_Bazaar">https://en.wikipedia.org/wiki/The_Cathedral_and_the_Bazaar</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 02 Aug 2024 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/5bd0fb0d/9aa14082.mp3" length="39395941" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2460</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss why they chose Postgres — as users, for their businesses, for their careers, as well as some doubts.<br> <br>Here are some links to things they mentioned:</p><ul><li>Our episode on why Postgres become popular <a href="https://postgres.fm/episodes/why-is-postgres-popular">https://postgres.fm/episodes/why-is-postgres-popular</a></li><li>Database Systems: The Complete Book (by Hector Garcia-Molina, Jeff Ullman, and Jennifer Widom) <a href="http://infolab.stanford.edu/~ullman/dscb.html">http://infolab.stanford.edu/~ullman/dscb.html</a></li><li>Our episode on the Postgres startup ecosystem <a href="https://postgres.fm/episodes/postgres-startup-ecosystem">https://postgres.fm/episodes/postgres-startup-ecosystem</a></li><li>Will Postgres Live Forever? (talk by Bruce Momjian) <a href="https://www.youtube.com/watch?v=iYVxWpyaGpA">https://www.youtube.com/watch?v=iYVxWpyaGpA</a> </li><li>"Anarcho-Syndicalist Commune" from Monty Python and the Holy Grail <a href="https://www.youtube.com/watch?v=R7qT-C-0ajI">https://www.youtube.com/watch?v=R7qT-C-0ajI</a></li><li>The Cathedral and the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary (book by Eric S. Raymond) <a href="https://en.wikipedia.org/wiki/The_Cathedral_and_the_Bazaar">https://en.wikipedia.org/wiki/The_Cathedral_and_the_Bazaar</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/5bd0fb0d/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Compression</title>
      <itunes:episode>107</itunes:episode>
      <podcast:episode>107</podcast:episode>
      <itunes:title>Compression</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">46c6f5e7-704d-459d-93f2-9fd5dbc07364</guid>
      <link>https://share.transistor.fm/s/067bd886</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss compression in Postgres — what's available natively, newer algorithms in recent versions, and several extensions with compression features.<br> <br>Here are some links to things they mentioned:</p><ul><li>wal_compression <a href="https://www.postgresql.org/docs/current/runtime-config-wal.html#GUC-WAL-COMPRESSION">https://www.postgresql.org/docs/current/runtime-config-wal.html#GUC-WAL-COMPRESSION</a></li><li>Our episode on WAL and checkpoint tuning <a href="https://postgres.fm/episodes/wal-and-checkpoint-tuning">https://postgres.fm/episodes/wal-and-checkpoint-tuning</a></li><li>Synthetic wal_compression and streaming replication wal size test <a href="https://gitlab.com/postgres-ai/postgresql-consulting/tests-and-benchmarks/-/issues/11">https://gitlab.com/postgres-ai/postgresql-consulting/tests-and-benchmarks/-/issues/11</a></li><li>default_toast_compression <a href="https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-DEFAULT-TOAST-COMPRESSION">https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-DEFAULT-TOAST-COMPRESSION</a> </li><li>ZFS <a href="https://en.wikipedia.org/wiki/ZFS">https://en.wikipedia.org/wiki/ZFS</a></li><li>Our episode on TOAST <a href="https://postgres.fm/episodes/toast">https://postgres.fm/episodes/toast</a></li><li>On compression of everything in Postgres (talk by Andrey Borodin) <a href="https://learn.microsoft.com/en-us/shows/cituscon-an-event-for-postgres-2023/on-compression-of-everything-in-postgres-citus-con-2023">https://learn.microsoft.com/en-us/shows/cituscon-an-event-for-postgres-2023/on-compression-of-everything-in-postgres-citus-con-2023</a></li><li>cstore_fdw <a href="https://citusdata.github.io/cstore_fdw/">https://citusdata.github.io/cstore_fdw/</a></li><li>Using Hydra columnar <a href="https://columnar.docs.hydra.so/concepts/using-hydra-columnar">https://columnar.docs.hydra.so/concepts/using-hydra-columnar</a></li><li>About compression in Timescale <a href="https://docs.timescale.com/use-timescale/latest/compression/about-compression/">https://docs.timescale.com/use-timescale/latest/compression/about-compression/</a></li><li>pg_tier <a href="https://github.com/tembo-io/pg_tier">https://github.com/tembo-io/pg_tier</a></li><li>pgBackRest <a href="https://pgbackrest.org/">https://pgbackrest.org/</a></li><li>WAL-G <a href="https://github.com/wal-g/wal-g">https://github.com/wal-g/wal-g</a></li><li>pg_dump <a href="https://www.postgresql.org/docs/current/app-pgdump.html">https://www.postgresql.org/docs/current/app-pgdump.html</a></li><li>pg_dump compression specifications in PostgreSQL 16 (article by Pablo Glob from Cybertec) <a href="https://www.cybertec-postgresql.com/en/pg_dump-compression-specifications-postgresql-16/">https://www.cybertec-postgresql.com/en/pg_dump-compression-specifications-postgresql-16/</a></li><li>Our episode on pgvector (with Jonathan Katz) <a href="https://postgres.fm/episodes/pgvector">https://postgres.fm/episodes/pgvector</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss compression in Postgres — what's available natively, newer algorithms in recent versions, and several extensions with compression features.<br> <br>Here are some links to things they mentioned:</p><ul><li>wal_compression <a href="https://www.postgresql.org/docs/current/runtime-config-wal.html#GUC-WAL-COMPRESSION">https://www.postgresql.org/docs/current/runtime-config-wal.html#GUC-WAL-COMPRESSION</a></li><li>Our episode on WAL and checkpoint tuning <a href="https://postgres.fm/episodes/wal-and-checkpoint-tuning">https://postgres.fm/episodes/wal-and-checkpoint-tuning</a></li><li>Synthetic wal_compression and streaming replication wal size test <a href="https://gitlab.com/postgres-ai/postgresql-consulting/tests-and-benchmarks/-/issues/11">https://gitlab.com/postgres-ai/postgresql-consulting/tests-and-benchmarks/-/issues/11</a></li><li>default_toast_compression <a href="https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-DEFAULT-TOAST-COMPRESSION">https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-DEFAULT-TOAST-COMPRESSION</a> </li><li>ZFS <a href="https://en.wikipedia.org/wiki/ZFS">https://en.wikipedia.org/wiki/ZFS</a></li><li>Our episode on TOAST <a href="https://postgres.fm/episodes/toast">https://postgres.fm/episodes/toast</a></li><li>On compression of everything in Postgres (talk by Andrey Borodin) <a href="https://learn.microsoft.com/en-us/shows/cituscon-an-event-for-postgres-2023/on-compression-of-everything-in-postgres-citus-con-2023">https://learn.microsoft.com/en-us/shows/cituscon-an-event-for-postgres-2023/on-compression-of-everything-in-postgres-citus-con-2023</a></li><li>cstore_fdw <a href="https://citusdata.github.io/cstore_fdw/">https://citusdata.github.io/cstore_fdw/</a></li><li>Using Hydra columnar <a href="https://columnar.docs.hydra.so/concepts/using-hydra-columnar">https://columnar.docs.hydra.so/concepts/using-hydra-columnar</a></li><li>About compression in Timescale <a href="https://docs.timescale.com/use-timescale/latest/compression/about-compression/">https://docs.timescale.com/use-timescale/latest/compression/about-compression/</a></li><li>pg_tier <a href="https://github.com/tembo-io/pg_tier">https://github.com/tembo-io/pg_tier</a></li><li>pgBackRest <a href="https://pgbackrest.org/">https://pgbackrest.org/</a></li><li>WAL-G <a href="https://github.com/wal-g/wal-g">https://github.com/wal-g/wal-g</a></li><li>pg_dump <a href="https://www.postgresql.org/docs/current/app-pgdump.html">https://www.postgresql.org/docs/current/app-pgdump.html</a></li><li>pg_dump compression specifications in PostgreSQL 16 (article by Pablo Glob from Cybertec) <a href="https://www.cybertec-postgresql.com/en/pg_dump-compression-specifications-postgresql-16/">https://www.cybertec-postgresql.com/en/pg_dump-compression-specifications-postgresql-16/</a></li><li>Our episode on pgvector (with Jonathan Katz) <a href="https://postgres.fm/episodes/pgvector">https://postgres.fm/episodes/pgvector</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 26 Jul 2024 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/067bd886/83dd703f.mp3" length="43487757" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2716</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss compression in Postgres — what's available natively, newer algorithms in recent versions, and several extensions with compression features.<br> <br>Here are some links to things they mentioned:</p><ul><li>wal_compression <a href="https://www.postgresql.org/docs/current/runtime-config-wal.html#GUC-WAL-COMPRESSION">https://www.postgresql.org/docs/current/runtime-config-wal.html#GUC-WAL-COMPRESSION</a></li><li>Our episode on WAL and checkpoint tuning <a href="https://postgres.fm/episodes/wal-and-checkpoint-tuning">https://postgres.fm/episodes/wal-and-checkpoint-tuning</a></li><li>Synthetic wal_compression and streaming replication wal size test <a href="https://gitlab.com/postgres-ai/postgresql-consulting/tests-and-benchmarks/-/issues/11">https://gitlab.com/postgres-ai/postgresql-consulting/tests-and-benchmarks/-/issues/11</a></li><li>default_toast_compression <a href="https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-DEFAULT-TOAST-COMPRESSION">https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-DEFAULT-TOAST-COMPRESSION</a> </li><li>ZFS <a href="https://en.wikipedia.org/wiki/ZFS">https://en.wikipedia.org/wiki/ZFS</a></li><li>Our episode on TOAST <a href="https://postgres.fm/episodes/toast">https://postgres.fm/episodes/toast</a></li><li>On compression of everything in Postgres (talk by Andrey Borodin) <a href="https://learn.microsoft.com/en-us/shows/cituscon-an-event-for-postgres-2023/on-compression-of-everything-in-postgres-citus-con-2023">https://learn.microsoft.com/en-us/shows/cituscon-an-event-for-postgres-2023/on-compression-of-everything-in-postgres-citus-con-2023</a></li><li>cstore_fdw <a href="https://citusdata.github.io/cstore_fdw/">https://citusdata.github.io/cstore_fdw/</a></li><li>Using Hydra columnar <a href="https://columnar.docs.hydra.so/concepts/using-hydra-columnar">https://columnar.docs.hydra.so/concepts/using-hydra-columnar</a></li><li>About compression in Timescale <a href="https://docs.timescale.com/use-timescale/latest/compression/about-compression/">https://docs.timescale.com/use-timescale/latest/compression/about-compression/</a></li><li>pg_tier <a href="https://github.com/tembo-io/pg_tier">https://github.com/tembo-io/pg_tier</a></li><li>pgBackRest <a href="https://pgbackrest.org/">https://pgbackrest.org/</a></li><li>WAL-G <a href="https://github.com/wal-g/wal-g">https://github.com/wal-g/wal-g</a></li><li>pg_dump <a href="https://www.postgresql.org/docs/current/app-pgdump.html">https://www.postgresql.org/docs/current/app-pgdump.html</a></li><li>pg_dump compression specifications in PostgreSQL 16 (article by Pablo Glob from Cybertec) <a href="https://www.cybertec-postgresql.com/en/pg_dump-compression-specifications-postgresql-16/">https://www.cybertec-postgresql.com/en/pg_dump-compression-specifications-postgresql-16/</a></li><li>Our episode on pgvector (with Jonathan Katz) <a href="https://postgres.fm/episodes/pgvector">https://postgres.fm/episodes/pgvector</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/067bd886/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Out of disk</title>
      <itunes:episode>106</itunes:episode>
      <podcast:episode>106</podcast:episode>
      <itunes:title>Out of disk</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">64ed1274-7847-41b7-89b8-1b85625873a2</guid>
      <link>https://share.transistor.fm/s/9c10761f</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss Postgres running out of disk space — including what happens, what can cause it, how to recover, and most importantly, how to prevent it from happening in the first place.<br> <br>Here are some links to things they mentioned:</p><ul><li>Disk Full (docs) <a href="https://www.postgresql.org/docs/current/disk-full.html">https://www.postgresql.org/docs/current/disk-full.html</a></li><li>pgcompacttable <a href="https://github.com/dataegret/pgcompacttable">https://github.com/dataegret/pgcompacttable</a> </li><li>Our episode on massive deletes <a href="https://postgres.fm/episodes/massive-deletes">https://postgres.fm/episodes/massive-deletes</a> </li><li>Getting Rid of Data (slides from VLDB 2019 keynote by Tova Milo)</li><li>pg_tier <a href="https://github.com/tembo-io/pg_tier">https://github.com/tembo-io/pg_tier</a> </li><li>Data tiering in Timescale Cloud <a href="https://docs.timescale.com/use-timescale/latest/data-tiering/">https://docs.timescale.com/use-timescale/latest/data-tiering/</a> </li><li>Postgres is Out of Disk and How to Recover (blog post by Elizabeth Christensen) <a href="https://www.crunchydata.com/blog/postgres-is-out-of-disk-and-how-to-recover-the-dos-and-donts">https://www.crunchydata.com/blog/postgres-is-out-of-disk-and-how-to-recover-the-dos-and-donts</a> </li><li>max_slot_wal_keep_size <a href="https://www.postgresql.org/docs/current/runtime-config-replication.html#GUC-MAX-SLOT-WAL-KEEP-SIZE">https://www.postgresql.org/docs/current/runtime-config-replication.html#GUC-MAX-SLOT-WAL-KEEP-SIZE</a> </li><li>Our episode on checkpoint tuning <a href="https://postgres.fm/episodes/wal-and-checkpoint-tuning">https://postgres.fm/episodes/wal-and-checkpoint-tuning</a> </li><li>Aiven docs on full disk issues <a href="https://aiven.io/docs/products/postgresql/howto/prevent-full-disk">https://aiven.io/docs/products/postgresql/howto/prevent-full-disk</a>  </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the elephant artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss Postgres running out of disk space — including what happens, what can cause it, how to recover, and most importantly, how to prevent it from happening in the first place.<br> <br>Here are some links to things they mentioned:</p><ul><li>Disk Full (docs) <a href="https://www.postgresql.org/docs/current/disk-full.html">https://www.postgresql.org/docs/current/disk-full.html</a></li><li>pgcompacttable <a href="https://github.com/dataegret/pgcompacttable">https://github.com/dataegret/pgcompacttable</a> </li><li>Our episode on massive deletes <a href="https://postgres.fm/episodes/massive-deletes">https://postgres.fm/episodes/massive-deletes</a> </li><li>Getting Rid of Data (slides from VLDB 2019 keynote by Tova Milo)</li><li>pg_tier <a href="https://github.com/tembo-io/pg_tier">https://github.com/tembo-io/pg_tier</a> </li><li>Data tiering in Timescale Cloud <a href="https://docs.timescale.com/use-timescale/latest/data-tiering/">https://docs.timescale.com/use-timescale/latest/data-tiering/</a> </li><li>Postgres is Out of Disk and How to Recover (blog post by Elizabeth Christensen) <a href="https://www.crunchydata.com/blog/postgres-is-out-of-disk-and-how-to-recover-the-dos-and-donts">https://www.crunchydata.com/blog/postgres-is-out-of-disk-and-how-to-recover-the-dos-and-donts</a> </li><li>max_slot_wal_keep_size <a href="https://www.postgresql.org/docs/current/runtime-config-replication.html#GUC-MAX-SLOT-WAL-KEEP-SIZE">https://www.postgresql.org/docs/current/runtime-config-replication.html#GUC-MAX-SLOT-WAL-KEEP-SIZE</a> </li><li>Our episode on checkpoint tuning <a href="https://postgres.fm/episodes/wal-and-checkpoint-tuning">https://postgres.fm/episodes/wal-and-checkpoint-tuning</a> </li><li>Aiven docs on full disk issues <a href="https://aiven.io/docs/products/postgresql/howto/prevent-full-disk">https://aiven.io/docs/products/postgresql/howto/prevent-full-disk</a>  </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the elephant artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 19 Jul 2024 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/9c10761f/3e965e3e.mp3" length="41727743" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2606</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss Postgres running out of disk space — including what happens, what can cause it, how to recover, and most importantly, how to prevent it from happening in the first place.<br> <br>Here are some links to things they mentioned:</p><ul><li>Disk Full (docs) <a href="https://www.postgresql.org/docs/current/disk-full.html">https://www.postgresql.org/docs/current/disk-full.html</a></li><li>pgcompacttable <a href="https://github.com/dataegret/pgcompacttable">https://github.com/dataegret/pgcompacttable</a> </li><li>Our episode on massive deletes <a href="https://postgres.fm/episodes/massive-deletes">https://postgres.fm/episodes/massive-deletes</a> </li><li>Getting Rid of Data (slides from VLDB 2019 keynote by Tova Milo)</li><li>pg_tier <a href="https://github.com/tembo-io/pg_tier">https://github.com/tembo-io/pg_tier</a> </li><li>Data tiering in Timescale Cloud <a href="https://docs.timescale.com/use-timescale/latest/data-tiering/">https://docs.timescale.com/use-timescale/latest/data-tiering/</a> </li><li>Postgres is Out of Disk and How to Recover (blog post by Elizabeth Christensen) <a href="https://www.crunchydata.com/blog/postgres-is-out-of-disk-and-how-to-recover-the-dos-and-donts">https://www.crunchydata.com/blog/postgres-is-out-of-disk-and-how-to-recover-the-dos-and-donts</a> </li><li>max_slot_wal_keep_size <a href="https://www.postgresql.org/docs/current/runtime-config-replication.html#GUC-MAX-SLOT-WAL-KEEP-SIZE">https://www.postgresql.org/docs/current/runtime-config-replication.html#GUC-MAX-SLOT-WAL-KEEP-SIZE</a> </li><li>Our episode on checkpoint tuning <a href="https://postgres.fm/episodes/wal-and-checkpoint-tuning">https://postgres.fm/episodes/wal-and-checkpoint-tuning</a> </li><li>Aiven docs on full disk issues <a href="https://aiven.io/docs/products/postgresql/howto/prevent-full-disk">https://aiven.io/docs/products/postgresql/howto/prevent-full-disk</a>  </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the elephant artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/9c10761f/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Postgres startup ecosystem</title>
      <itunes:episode>105</itunes:episode>
      <podcast:episode>105</podcast:episode>
      <itunes:title>Postgres startup ecosystem</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">bd6afe13-2ada-4e4a-abfb-c00782ea77bd</guid>
      <link>https://share.transistor.fm/s/bab81285</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss the Postgres startup ecosystem — some recent closures, some recent fundraising announcements, and their thoughts on where things are going and what they'd like to see.<br> <br>Here are some links to things they mentioned:</p><ul><li>Prediction from Dax Raad <a href="https://x.com/thdxr/status/1808972166752580039">https://x.com/thdxr/status/1808972166752580039</a></li><li>OtterTune shut down <a href="https://x.com/andy_pavlo/status/1801687420330770841">https://x.com/andy_pavlo/status/1801687420330770841</a></li><li>Snaplet shutting down <a href="https://www.snaplet.dev/post/snaplet-is-shutting-down">https://www.snaplet.dev/post/snaplet-is-shutting-down</a></li><li><a href="http://bit.io">bit.io</a> shut down <a href="https://blog.bit.io/whats-next-for-bit-io-joining-databricks-ace9a40bce0d?gi=8ef885454eef">https://blog.bit.io/whats-next-for-bit-io-joining-databricks-ace9a40bce0d?gi=8ef885454eef</a></li><li>Timescale acquired PopSQL <a href="https://www.timescale.com/blog/best-postgresql-gui-popsql-joins-timescale">https://www.timescale.com/blog/best-postgresql-gui-popsql-joins-timescale</a></li><li>Aiven <a href="https://aiven.io">https://aiven.io</a></li><li>Hasura <a href="https://hasura.io">https://hasura.io</a></li><li>Supabase <a href="https://supabase.com">https://supabase.com</a></li><li>Neon <a href="https://neon.tech">https://neon.tech</a></li><li>Tembo <a href="https://tembo.io">https://tembo.io</a></li><li>FerretDB <a href="https://www.ferretdb.com">https://www.ferretdb.com</a></li><li>Hydra <a href="https://www.hydra.so">https://www.hydra.so</a></li><li>pgEdge <a href="https://www.pgedge.com">https://www.pgedge.com</a></li><li>Tembo raised $14m <a href="https://techcrunch.com/2024/07/08/database-startup-tembo-lands-new-cash-to-expand">https://techcrunch.com/2024/07/08/database-startup-tembo-lands-new-cash-to-expand</a></li><li>Ry Walker’s Cybertruck with STARTUP license plate <a href="https://x.com/rywalker/status/1810061804380557516">https://x.com/rywalker/status/1810061804380557516</a> </li><li>Supabase acquired OrioleDB <a href="https://supabase.com/blog/supabase-acquires-oriole">https://supabase.com/blog/supabase-acquires-oriole</a></li><li>Michael Stonebraker Turing Award Lecture <a href="https://www.youtube.com/watch?v=BbGeKi6T6QI">https://www.youtube.com/watch?v=BbGeKi6T6QI</a></li><li>Microsoft acquired Citus <a href="https://blogs.microsoft.com/blog/2019/01/24/microsoft-acquires-citus-data-re-affirming-its-commitment-to-open-source-and-accelerating-azure-postgresql-performance-and-scale">https://blogs.microsoft.com/blog/2019/01/24/microsoft-acquires-citus-data-re-affirming-its-commitment-to-open-source-and-accelerating-azure-postgresql-performance-and-scale</a></li><li>Crunchy Bridge <a href="https://www.crunchydata.com/products/crunchy-bridge">https://www.crunchydata.com/products/crunchy-bridge</a></li><li>PeerDB <a href="https://www.peerdb.io">https://www.peerdb.io</a></li><li>ParadeDB <a href="https://www.paradedb.com">https://www.paradedb.com</a></li><li>pganalyze <a href="https://pganalyze.com">https://pganalyze.com</a></li><li>DBeaver <a href="https://dbeaver.io">https://dbeaver.io</a></li><li>Postico / Egger Apps <a href="https://eggerapps.at/postico2">https://eggerapps.at/postico2</a></li><li>Postgres Compare <a href="https://www.postgrescompare.com">https://www.postgrescompare.com</a></li><li>Coroot <a href="https://coroot.com">https://coroot.com</a></li><li>okmeter <a href="https://okmeter.io">https://okmeter.io</a></li><li>Slides from Nikolay’s talk on monitoring <a href="https://bit.ly/pg-monitoring">https://bit.ly/pg-monitoring</a> </li><li>Nile <a href="https://www.thenile.dev">https://www.thenile.dev</a></li><li>Ubicloud <a href="https://www.ubicloud.com">https://www.ubicloud.com</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the elephant artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss the Postgres startup ecosystem — some recent closures, some recent fundraising announcements, and their thoughts on where things are going and what they'd like to see.<br> <br>Here are some links to things they mentioned:</p><ul><li>Prediction from Dax Raad <a href="https://x.com/thdxr/status/1808972166752580039">https://x.com/thdxr/status/1808972166752580039</a></li><li>OtterTune shut down <a href="https://x.com/andy_pavlo/status/1801687420330770841">https://x.com/andy_pavlo/status/1801687420330770841</a></li><li>Snaplet shutting down <a href="https://www.snaplet.dev/post/snaplet-is-shutting-down">https://www.snaplet.dev/post/snaplet-is-shutting-down</a></li><li><a href="http://bit.io">bit.io</a> shut down <a href="https://blog.bit.io/whats-next-for-bit-io-joining-databricks-ace9a40bce0d?gi=8ef885454eef">https://blog.bit.io/whats-next-for-bit-io-joining-databricks-ace9a40bce0d?gi=8ef885454eef</a></li><li>Timescale acquired PopSQL <a href="https://www.timescale.com/blog/best-postgresql-gui-popsql-joins-timescale">https://www.timescale.com/blog/best-postgresql-gui-popsql-joins-timescale</a></li><li>Aiven <a href="https://aiven.io">https://aiven.io</a></li><li>Hasura <a href="https://hasura.io">https://hasura.io</a></li><li>Supabase <a href="https://supabase.com">https://supabase.com</a></li><li>Neon <a href="https://neon.tech">https://neon.tech</a></li><li>Tembo <a href="https://tembo.io">https://tembo.io</a></li><li>FerretDB <a href="https://www.ferretdb.com">https://www.ferretdb.com</a></li><li>Hydra <a href="https://www.hydra.so">https://www.hydra.so</a></li><li>pgEdge <a href="https://www.pgedge.com">https://www.pgedge.com</a></li><li>Tembo raised $14m <a href="https://techcrunch.com/2024/07/08/database-startup-tembo-lands-new-cash-to-expand">https://techcrunch.com/2024/07/08/database-startup-tembo-lands-new-cash-to-expand</a></li><li>Ry Walker’s Cybertruck with STARTUP license plate <a href="https://x.com/rywalker/status/1810061804380557516">https://x.com/rywalker/status/1810061804380557516</a> </li><li>Supabase acquired OrioleDB <a href="https://supabase.com/blog/supabase-acquires-oriole">https://supabase.com/blog/supabase-acquires-oriole</a></li><li>Michael Stonebraker Turing Award Lecture <a href="https://www.youtube.com/watch?v=BbGeKi6T6QI">https://www.youtube.com/watch?v=BbGeKi6T6QI</a></li><li>Microsoft acquired Citus <a href="https://blogs.microsoft.com/blog/2019/01/24/microsoft-acquires-citus-data-re-affirming-its-commitment-to-open-source-and-accelerating-azure-postgresql-performance-and-scale">https://blogs.microsoft.com/blog/2019/01/24/microsoft-acquires-citus-data-re-affirming-its-commitment-to-open-source-and-accelerating-azure-postgresql-performance-and-scale</a></li><li>Crunchy Bridge <a href="https://www.crunchydata.com/products/crunchy-bridge">https://www.crunchydata.com/products/crunchy-bridge</a></li><li>PeerDB <a href="https://www.peerdb.io">https://www.peerdb.io</a></li><li>ParadeDB <a href="https://www.paradedb.com">https://www.paradedb.com</a></li><li>pganalyze <a href="https://pganalyze.com">https://pganalyze.com</a></li><li>DBeaver <a href="https://dbeaver.io">https://dbeaver.io</a></li><li>Postico / Egger Apps <a href="https://eggerapps.at/postico2">https://eggerapps.at/postico2</a></li><li>Postgres Compare <a href="https://www.postgrescompare.com">https://www.postgrescompare.com</a></li><li>Coroot <a href="https://coroot.com">https://coroot.com</a></li><li>okmeter <a href="https://okmeter.io">https://okmeter.io</a></li><li>Slides from Nikolay’s talk on monitoring <a href="https://bit.ly/pg-monitoring">https://bit.ly/pg-monitoring</a> </li><li>Nile <a href="https://www.thenile.dev">https://www.thenile.dev</a></li><li>Ubicloud <a href="https://www.ubicloud.com">https://www.ubicloud.com</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the elephant artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 12 Jul 2024 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/bab81285/6fee3104.mp3" length="34305818" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2142</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss the Postgres startup ecosystem — some recent closures, some recent fundraising announcements, and their thoughts on where things are going and what they'd like to see.<br> <br>Here are some links to things they mentioned:</p><ul><li>Prediction from Dax Raad <a href="https://x.com/thdxr/status/1808972166752580039">https://x.com/thdxr/status/1808972166752580039</a></li><li>OtterTune shut down <a href="https://x.com/andy_pavlo/status/1801687420330770841">https://x.com/andy_pavlo/status/1801687420330770841</a></li><li>Snaplet shutting down <a href="https://www.snaplet.dev/post/snaplet-is-shutting-down">https://www.snaplet.dev/post/snaplet-is-shutting-down</a></li><li><a href="http://bit.io">bit.io</a> shut down <a href="https://blog.bit.io/whats-next-for-bit-io-joining-databricks-ace9a40bce0d?gi=8ef885454eef">https://blog.bit.io/whats-next-for-bit-io-joining-databricks-ace9a40bce0d?gi=8ef885454eef</a></li><li>Timescale acquired PopSQL <a href="https://www.timescale.com/blog/best-postgresql-gui-popsql-joins-timescale">https://www.timescale.com/blog/best-postgresql-gui-popsql-joins-timescale</a></li><li>Aiven <a href="https://aiven.io">https://aiven.io</a></li><li>Hasura <a href="https://hasura.io">https://hasura.io</a></li><li>Supabase <a href="https://supabase.com">https://supabase.com</a></li><li>Neon <a href="https://neon.tech">https://neon.tech</a></li><li>Tembo <a href="https://tembo.io">https://tembo.io</a></li><li>FerretDB <a href="https://www.ferretdb.com">https://www.ferretdb.com</a></li><li>Hydra <a href="https://www.hydra.so">https://www.hydra.so</a></li><li>pgEdge <a href="https://www.pgedge.com">https://www.pgedge.com</a></li><li>Tembo raised $14m <a href="https://techcrunch.com/2024/07/08/database-startup-tembo-lands-new-cash-to-expand">https://techcrunch.com/2024/07/08/database-startup-tembo-lands-new-cash-to-expand</a></li><li>Ry Walker’s Cybertruck with STARTUP license plate <a href="https://x.com/rywalker/status/1810061804380557516">https://x.com/rywalker/status/1810061804380557516</a> </li><li>Supabase acquired OrioleDB <a href="https://supabase.com/blog/supabase-acquires-oriole">https://supabase.com/blog/supabase-acquires-oriole</a></li><li>Michael Stonebraker Turing Award Lecture <a href="https://www.youtube.com/watch?v=BbGeKi6T6QI">https://www.youtube.com/watch?v=BbGeKi6T6QI</a></li><li>Microsoft acquired Citus <a href="https://blogs.microsoft.com/blog/2019/01/24/microsoft-acquires-citus-data-re-affirming-its-commitment-to-open-source-and-accelerating-azure-postgresql-performance-and-scale">https://blogs.microsoft.com/blog/2019/01/24/microsoft-acquires-citus-data-re-affirming-its-commitment-to-open-source-and-accelerating-azure-postgresql-performance-and-scale</a></li><li>Crunchy Bridge <a href="https://www.crunchydata.com/products/crunchy-bridge">https://www.crunchydata.com/products/crunchy-bridge</a></li><li>PeerDB <a href="https://www.peerdb.io">https://www.peerdb.io</a></li><li>ParadeDB <a href="https://www.paradedb.com">https://www.paradedb.com</a></li><li>pganalyze <a href="https://pganalyze.com">https://pganalyze.com</a></li><li>DBeaver <a href="https://dbeaver.io">https://dbeaver.io</a></li><li>Postico / Egger Apps <a href="https://eggerapps.at/postico2">https://eggerapps.at/postico2</a></li><li>Postgres Compare <a href="https://www.postgrescompare.com">https://www.postgrescompare.com</a></li><li>Coroot <a href="https://coroot.com">https://coroot.com</a></li><li>okmeter <a href="https://okmeter.io">https://okmeter.io</a></li><li>Slides from Nikolay’s talk on monitoring <a href="https://bit.ly/pg-monitoring">https://bit.ly/pg-monitoring</a> </li><li>Nile <a href="https://www.thenile.dev">https://www.thenile.dev</a></li><li>Ubicloud <a href="https://www.ubicloud.com">https://www.ubicloud.com</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the elephant artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/bab81285/transcript.srt" type="application/x-subrip" rel="captions"/>
      <podcast:chapters url="https://share.transistor.fm/s/bab81285/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Four million TPS</title>
      <itunes:episode>104</itunes:episode>
      <podcast:episode>104</podcast:episode>
      <itunes:title>Four million TPS</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">be0f33b3-214a-4d45-9f34-0230f491865a</guid>
      <link>https://share.transistor.fm/s/d587bf48</link>
      <description>
        <![CDATA[<p>Nikolay talks Michael through a recent experiment to find the current maximum transactions per second single-node Postgres can achieve — why he was looking into it, what bottlenecks occurred along the way, and ideas for follow up experiments.<br> <br>Here are some links to things they mentioned:</p><ul><li>How many TPS can we get from a single Postgres node? (Article by Nikolay) <a href="https://www.linkedin.com/pulse/how-many-tps-can-we-get-from-single-postgres-node-nikolay-samokhvalov-yu0rc">https://www.linkedin.com/pulse/how-many-tps-can-we-get-from-single-postgres-node-nikolay-samokhvalov-yu0rc</a></li><li>Chat history with Postgres AI bot <a href="https://postgres.ai/chats/01905a83-4573-7dca-b47a-bb60ce30fe6c">https://postgres.ai/chats/01905a83-4573-7dca-b47a-bb60ce30fe6c</a></li><li>Our episode on the overhead of pg_stat_statements and pg_stat_kcache <a href="https://postgres.fm/episodes/overhead-of-pg_stat_statements-and-pg_stat_kcache">https://postgres.fm/episodes/overhead-of-pg_stat_statements-and-pg_stat_kcache</a></li><li>PostgreSQL 17 beta 2 is out <a href="https://www.postgresql.org/about/news/postgresql-17-beta-2-released-2885/">https://www.postgresql.org/about/news/postgresql-17-beta-2-released-2885/</a> </li><li>PostgreSQL and MySQL: Millions of Queries per Second (about the work by Sveta and Alexander) <a href="https://www.percona.com/blog/millions-queries-per-second-postgresql-and-mysql-peaceful-battle-at-modern-demanding-workloads">https://www.percona.com/blog/millions-queries-per-second-postgresql-and-mysql-peaceful-battle-at-modern-demanding-workloads</a></li><li>postgresql_cluster <a href="https://github.com/vitabaks/postgresql_cluster">https://github.com/vitabaks/postgresql_cluster</a></li><li>Track on CPU events for pg_wait_sampling <a href="https://github.com/postgrespro/pg_wait_sampling/pull/74">https://github.com/postgrespro/pg_wait_sampling/pull/74</a></li><li>The year of the Lock Manager’s Revenge (post by Jeremy Schneider) <a href="https://ardentperf.com/2024/03/03/postgres-indexes-partitioning-and-lwlocklockmanager-scalability">https://ardentperf.com/2024/03/03/postgres-indexes-partitioning-and-lwlocklockmanager-scalability</a> </li><li>Pluggable cumulative statistics (Postgres hackers thread started by Michael Paquier) <a href="https://www.postgresql.org/message-id/flat/Zmqm9j5EO0I4W8dx%40paquier.xyz">https://www.postgresql.org/message-id/flat/Zmqm9j5EO0I4W8dx%40paquier.xyz</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the elephant artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay talks Michael through a recent experiment to find the current maximum transactions per second single-node Postgres can achieve — why he was looking into it, what bottlenecks occurred along the way, and ideas for follow up experiments.<br> <br>Here are some links to things they mentioned:</p><ul><li>How many TPS can we get from a single Postgres node? (Article by Nikolay) <a href="https://www.linkedin.com/pulse/how-many-tps-can-we-get-from-single-postgres-node-nikolay-samokhvalov-yu0rc">https://www.linkedin.com/pulse/how-many-tps-can-we-get-from-single-postgres-node-nikolay-samokhvalov-yu0rc</a></li><li>Chat history with Postgres AI bot <a href="https://postgres.ai/chats/01905a83-4573-7dca-b47a-bb60ce30fe6c">https://postgres.ai/chats/01905a83-4573-7dca-b47a-bb60ce30fe6c</a></li><li>Our episode on the overhead of pg_stat_statements and pg_stat_kcache <a href="https://postgres.fm/episodes/overhead-of-pg_stat_statements-and-pg_stat_kcache">https://postgres.fm/episodes/overhead-of-pg_stat_statements-and-pg_stat_kcache</a></li><li>PostgreSQL 17 beta 2 is out <a href="https://www.postgresql.org/about/news/postgresql-17-beta-2-released-2885/">https://www.postgresql.org/about/news/postgresql-17-beta-2-released-2885/</a> </li><li>PostgreSQL and MySQL: Millions of Queries per Second (about the work by Sveta and Alexander) <a href="https://www.percona.com/blog/millions-queries-per-second-postgresql-and-mysql-peaceful-battle-at-modern-demanding-workloads">https://www.percona.com/blog/millions-queries-per-second-postgresql-and-mysql-peaceful-battle-at-modern-demanding-workloads</a></li><li>postgresql_cluster <a href="https://github.com/vitabaks/postgresql_cluster">https://github.com/vitabaks/postgresql_cluster</a></li><li>Track on CPU events for pg_wait_sampling <a href="https://github.com/postgrespro/pg_wait_sampling/pull/74">https://github.com/postgrespro/pg_wait_sampling/pull/74</a></li><li>The year of the Lock Manager’s Revenge (post by Jeremy Schneider) <a href="https://ardentperf.com/2024/03/03/postgres-indexes-partitioning-and-lwlocklockmanager-scalability">https://ardentperf.com/2024/03/03/postgres-indexes-partitioning-and-lwlocklockmanager-scalability</a> </li><li>Pluggable cumulative statistics (Postgres hackers thread started by Michael Paquier) <a href="https://www.postgresql.org/message-id/flat/Zmqm9j5EO0I4W8dx%40paquier.xyz">https://www.postgresql.org/message-id/flat/Zmqm9j5EO0I4W8dx%40paquier.xyz</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the elephant artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 05 Jul 2024 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/d587bf48/e3839fae.mp3" length="44029442" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2750</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay talks Michael through a recent experiment to find the current maximum transactions per second single-node Postgres can achieve — why he was looking into it, what bottlenecks occurred along the way, and ideas for follow up experiments.<br> <br>Here are some links to things they mentioned:</p><ul><li>How many TPS can we get from a single Postgres node? (Article by Nikolay) <a href="https://www.linkedin.com/pulse/how-many-tps-can-we-get-from-single-postgres-node-nikolay-samokhvalov-yu0rc">https://www.linkedin.com/pulse/how-many-tps-can-we-get-from-single-postgres-node-nikolay-samokhvalov-yu0rc</a></li><li>Chat history with Postgres AI bot <a href="https://postgres.ai/chats/01905a83-4573-7dca-b47a-bb60ce30fe6c">https://postgres.ai/chats/01905a83-4573-7dca-b47a-bb60ce30fe6c</a></li><li>Our episode on the overhead of pg_stat_statements and pg_stat_kcache <a href="https://postgres.fm/episodes/overhead-of-pg_stat_statements-and-pg_stat_kcache">https://postgres.fm/episodes/overhead-of-pg_stat_statements-and-pg_stat_kcache</a></li><li>PostgreSQL 17 beta 2 is out <a href="https://www.postgresql.org/about/news/postgresql-17-beta-2-released-2885/">https://www.postgresql.org/about/news/postgresql-17-beta-2-released-2885/</a> </li><li>PostgreSQL and MySQL: Millions of Queries per Second (about the work by Sveta and Alexander) <a href="https://www.percona.com/blog/millions-queries-per-second-postgresql-and-mysql-peaceful-battle-at-modern-demanding-workloads">https://www.percona.com/blog/millions-queries-per-second-postgresql-and-mysql-peaceful-battle-at-modern-demanding-workloads</a></li><li>postgresql_cluster <a href="https://github.com/vitabaks/postgresql_cluster">https://github.com/vitabaks/postgresql_cluster</a></li><li>Track on CPU events for pg_wait_sampling <a href="https://github.com/postgrespro/pg_wait_sampling/pull/74">https://github.com/postgrespro/pg_wait_sampling/pull/74</a></li><li>The year of the Lock Manager’s Revenge (post by Jeremy Schneider) <a href="https://ardentperf.com/2024/03/03/postgres-indexes-partitioning-and-lwlocklockmanager-scalability">https://ardentperf.com/2024/03/03/postgres-indexes-partitioning-and-lwlocklockmanager-scalability</a> </li><li>Pluggable cumulative statistics (Postgres hackers thread started by Michael Paquier) <a href="https://www.postgresql.org/message-id/flat/Zmqm9j5EO0I4W8dx%40paquier.xyz">https://www.postgresql.org/message-id/flat/Zmqm9j5EO0I4W8dx%40paquier.xyz</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the elephant artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/d587bf48/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Soft delete</title>
      <itunes:episode>103</itunes:episode>
      <podcast:episode>103</podcast:episode>
      <itunes:title>Soft delete</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">486cfa77-be64-41ab-9136-47cbde5e6937</guid>
      <link>https://share.transistor.fm/s/f32e7e1f</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss soft deletion in Postgres — what it means, several use cases, some implementation options, and which implementations suit which use cases.<br> <br>Here are some links to things they mentioned:</p><ul><li>Soft deletion probably isn't worth it (blog post by Brandur) <a href="https://brandur.org/soft-deletion">https://brandur.org/soft-deletion</a></li><li>Easy alternative soft deletion (blog post by Brandur) <a href="https://brandur.org/fragments/deleted-record-insert">https://brandur.org/fragments/deleted-record-insert</a></li><li>Our episode on auditing <a href="https://postgres.fm/episodes/auditing">https://postgres.fm/episodes/auditing</a></li><li>CREATE FUNCTION … SECURITY DEFINER (docs) <a href="https://www.postgresql.org/docs/current/sql-createfunction.html">https://www.postgresql.org/docs/current/sql-createfunction.html</a></li><li>Principle of least privilege <a href="https://en.wikipedia.org/wiki/Principle_of_least_privilege">https://en.wikipedia.org/wiki/Principle_of_least_privilege</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the elephant artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss soft deletion in Postgres — what it means, several use cases, some implementation options, and which implementations suit which use cases.<br> <br>Here are some links to things they mentioned:</p><ul><li>Soft deletion probably isn't worth it (blog post by Brandur) <a href="https://brandur.org/soft-deletion">https://brandur.org/soft-deletion</a></li><li>Easy alternative soft deletion (blog post by Brandur) <a href="https://brandur.org/fragments/deleted-record-insert">https://brandur.org/fragments/deleted-record-insert</a></li><li>Our episode on auditing <a href="https://postgres.fm/episodes/auditing">https://postgres.fm/episodes/auditing</a></li><li>CREATE FUNCTION … SECURITY DEFINER (docs) <a href="https://www.postgresql.org/docs/current/sql-createfunction.html">https://www.postgresql.org/docs/current/sql-createfunction.html</a></li><li>Principle of least privilege <a href="https://en.wikipedia.org/wiki/Principle_of_least_privilege">https://en.wikipedia.org/wiki/Principle_of_least_privilege</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the elephant artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 28 Jun 2024 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/f32e7e1f/9d669878.mp3" length="36194369" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2260</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss soft deletion in Postgres — what it means, several use cases, some implementation options, and which implementations suit which use cases.<br> <br>Here are some links to things they mentioned:</p><ul><li>Soft deletion probably isn't worth it (blog post by Brandur) <a href="https://brandur.org/soft-deletion">https://brandur.org/soft-deletion</a></li><li>Easy alternative soft deletion (blog post by Brandur) <a href="https://brandur.org/fragments/deleted-record-insert">https://brandur.org/fragments/deleted-record-insert</a></li><li>Our episode on auditing <a href="https://postgres.fm/episodes/auditing">https://postgres.fm/episodes/auditing</a></li><li>CREATE FUNCTION … SECURITY DEFINER (docs) <a href="https://www.postgresql.org/docs/current/sql-createfunction.html">https://www.postgresql.org/docs/current/sql-createfunction.html</a></li><li>Principle of least privilege <a href="https://en.wikipedia.org/wiki/Principle_of_least_privilege">https://en.wikipedia.org/wiki/Principle_of_least_privilege</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the elephant artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/f32e7e1f/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Should we use foreign keys?</title>
      <itunes:episode>102</itunes:episode>
      <podcast:episode>102</podcast:episode>
      <itunes:title>Should we use foreign keys?</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">e893b3c5-5580-480e-a25b-5f09870ed5ea</guid>
      <link>https://share.transistor.fm/s/82dc378e</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss foreign keys in Postgres — what they are, their benefits, their overhead, some edge cases to be aware of, some improvements coming, and whether or not they generally recommend using them.<br> <br>Here are some links to things they mentioned:</p><ul><li>Foreign keys (docs) <a href="https://www.postgresql.org/docs/current/ddl-constraints.html#DDL-CONSTRAINTS-FK">https://www.postgresql.org/docs/current/ddl-constraints.html#DDL-CONSTRAINTS-FK</a></li><li>Our episode about constraints: <a href="https://postgres.fm/episodes/constraints">https://postgres.fm/episodes/constraints</a></li><li>GitLab migration helper add_concurrent_foreign_key <a href="https://github.com/gitlabhq/gitlabhq/blob/master/rubocop/cop/migration/add_concurrent_foreign_key.rb">https://github.com/gitlabhq/gitlabhq/blob/master/rubocop/cop/migration/add_concurrent_foreign_key.rb</a></li><li>Adding a foreign key without downtime (tweet by Nikolay) <a href="https://x.com/samokhvalov/status/1732056107483636188">https://x.com/samokhvalov/status/1732056107483636188</a></li><li>Bloat, pg_repack, and deferred constraints (blog post by Miro) <a href="https://medium.com/miro-engineering/postgresql-bloat-pg-repack-and-deferred-constraints-d0ecf33337ec">https://medium.com/miro-engineering/postgresql-bloat-pg-repack-and-deferred-constraints-d0ecf33337ec</a></li><li>Postgres 17 draft release notes, server configuration section <a href="https://www.postgresql.org/docs/17/release-17.html#RELEASE-17-SERVER-CONFIG">https://www.postgresql.org/docs/17/release-17.html#RELEASE-17-SERVER-CONFIG</a></li><li>Our 100th episode <a href="https://postgres.fm/episodes/to-100tb-and-beyond">https://postgres.fm/episodes/to-100tb-and-beyond</a></li><li>Stop! Trigger Time (blog post by Michael) <a href="https://www.pgmustard.com/blog/trigger-time">https://www.pgmustard.com/blog/trigger-time</a></li><li>Should I Create an Index on Foreign Keys? (Blog post by Percona) <a href="https://www.percona.com/blog/should-i-create-an-index-on-foreign-keys-in-postgresql">https://www.percona.com/blog/should-i-create-an-index-on-foreign-keys-in-postgresql</a></li><li>Avoid Postgres performance cliffs with MultiXact IDs and foreign keys (5 min video by Lukas Fittl) <a href="https://pganalyze.com/blog/5mins-postgres-multiXact-ids-foreign-keys-performance">https://pganalyze.com/blog/5mins-postgres-multiXact-ids-foreign-keys-performance</a></li><li>Experiment to see basic overhead of foreign keys <a href="https://v2.postgres.ai/chats/01902ee6-8ed1-70ec-9345-5606305012f4">https://v2.postgres.ai/chats/01902ee6-8ed1-70ec-9345-5606305012f4</a></li><li>Experiment showing an extreme contention case <a href="https://v2.postgres.ai/chats/018fb28d-865f-788d-adb7-efa7ed3a48c4">https://v2.postgres.ai/chats/018fb28d-865f-788d-adb7-efa7ed3a48c4</a></li><li>Subtransactions Considered Harmful (blog post by Nikolay) <a href="https://postgres.ai/blog/20210831-postgresql-subtransactions-considered-harmful">https://postgres.ai/blog/20210831-postgresql-subtransactions-considered-harmful</a></li><li>Notes on some PostgreSQL implementation details (blog post by Nelson Elhage that mentions “subtransactions are cursed”) <a href="https://buttondown.email/nelhage/archive/notes-on-some-postgresql-implementation-details">https://buttondown.email/nelhage/archive/notes-on-some-postgresql-implementation-details</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss foreign keys in Postgres — what they are, their benefits, their overhead, some edge cases to be aware of, some improvements coming, and whether or not they generally recommend using them.<br> <br>Here are some links to things they mentioned:</p><ul><li>Foreign keys (docs) <a href="https://www.postgresql.org/docs/current/ddl-constraints.html#DDL-CONSTRAINTS-FK">https://www.postgresql.org/docs/current/ddl-constraints.html#DDL-CONSTRAINTS-FK</a></li><li>Our episode about constraints: <a href="https://postgres.fm/episodes/constraints">https://postgres.fm/episodes/constraints</a></li><li>GitLab migration helper add_concurrent_foreign_key <a href="https://github.com/gitlabhq/gitlabhq/blob/master/rubocop/cop/migration/add_concurrent_foreign_key.rb">https://github.com/gitlabhq/gitlabhq/blob/master/rubocop/cop/migration/add_concurrent_foreign_key.rb</a></li><li>Adding a foreign key without downtime (tweet by Nikolay) <a href="https://x.com/samokhvalov/status/1732056107483636188">https://x.com/samokhvalov/status/1732056107483636188</a></li><li>Bloat, pg_repack, and deferred constraints (blog post by Miro) <a href="https://medium.com/miro-engineering/postgresql-bloat-pg-repack-and-deferred-constraints-d0ecf33337ec">https://medium.com/miro-engineering/postgresql-bloat-pg-repack-and-deferred-constraints-d0ecf33337ec</a></li><li>Postgres 17 draft release notes, server configuration section <a href="https://www.postgresql.org/docs/17/release-17.html#RELEASE-17-SERVER-CONFIG">https://www.postgresql.org/docs/17/release-17.html#RELEASE-17-SERVER-CONFIG</a></li><li>Our 100th episode <a href="https://postgres.fm/episodes/to-100tb-and-beyond">https://postgres.fm/episodes/to-100tb-and-beyond</a></li><li>Stop! Trigger Time (blog post by Michael) <a href="https://www.pgmustard.com/blog/trigger-time">https://www.pgmustard.com/blog/trigger-time</a></li><li>Should I Create an Index on Foreign Keys? (Blog post by Percona) <a href="https://www.percona.com/blog/should-i-create-an-index-on-foreign-keys-in-postgresql">https://www.percona.com/blog/should-i-create-an-index-on-foreign-keys-in-postgresql</a></li><li>Avoid Postgres performance cliffs with MultiXact IDs and foreign keys (5 min video by Lukas Fittl) <a href="https://pganalyze.com/blog/5mins-postgres-multiXact-ids-foreign-keys-performance">https://pganalyze.com/blog/5mins-postgres-multiXact-ids-foreign-keys-performance</a></li><li>Experiment to see basic overhead of foreign keys <a href="https://v2.postgres.ai/chats/01902ee6-8ed1-70ec-9345-5606305012f4">https://v2.postgres.ai/chats/01902ee6-8ed1-70ec-9345-5606305012f4</a></li><li>Experiment showing an extreme contention case <a href="https://v2.postgres.ai/chats/018fb28d-865f-788d-adb7-efa7ed3a48c4">https://v2.postgres.ai/chats/018fb28d-865f-788d-adb7-efa7ed3a48c4</a></li><li>Subtransactions Considered Harmful (blog post by Nikolay) <a href="https://postgres.ai/blog/20210831-postgresql-subtransactions-considered-harmful">https://postgres.ai/blog/20210831-postgresql-subtransactions-considered-harmful</a></li><li>Notes on some PostgreSQL implementation details (blog post by Nelson Elhage that mentions “subtransactions are cursed”) <a href="https://buttondown.email/nelhage/archive/notes-on-some-postgresql-implementation-details">https://buttondown.email/nelhage/archive/notes-on-some-postgresql-implementation-details</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 21 Jun 2024 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/82dc378e/f54dd7ab.mp3" length="49327933" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>3081</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss foreign keys in Postgres — what they are, their benefits, their overhead, some edge cases to be aware of, some improvements coming, and whether or not they generally recommend using them.<br> <br>Here are some links to things they mentioned:</p><ul><li>Foreign keys (docs) <a href="https://www.postgresql.org/docs/current/ddl-constraints.html#DDL-CONSTRAINTS-FK">https://www.postgresql.org/docs/current/ddl-constraints.html#DDL-CONSTRAINTS-FK</a></li><li>Our episode about constraints: <a href="https://postgres.fm/episodes/constraints">https://postgres.fm/episodes/constraints</a></li><li>GitLab migration helper add_concurrent_foreign_key <a href="https://github.com/gitlabhq/gitlabhq/blob/master/rubocop/cop/migration/add_concurrent_foreign_key.rb">https://github.com/gitlabhq/gitlabhq/blob/master/rubocop/cop/migration/add_concurrent_foreign_key.rb</a></li><li>Adding a foreign key without downtime (tweet by Nikolay) <a href="https://x.com/samokhvalov/status/1732056107483636188">https://x.com/samokhvalov/status/1732056107483636188</a></li><li>Bloat, pg_repack, and deferred constraints (blog post by Miro) <a href="https://medium.com/miro-engineering/postgresql-bloat-pg-repack-and-deferred-constraints-d0ecf33337ec">https://medium.com/miro-engineering/postgresql-bloat-pg-repack-and-deferred-constraints-d0ecf33337ec</a></li><li>Postgres 17 draft release notes, server configuration section <a href="https://www.postgresql.org/docs/17/release-17.html#RELEASE-17-SERVER-CONFIG">https://www.postgresql.org/docs/17/release-17.html#RELEASE-17-SERVER-CONFIG</a></li><li>Our 100th episode <a href="https://postgres.fm/episodes/to-100tb-and-beyond">https://postgres.fm/episodes/to-100tb-and-beyond</a></li><li>Stop! Trigger Time (blog post by Michael) <a href="https://www.pgmustard.com/blog/trigger-time">https://www.pgmustard.com/blog/trigger-time</a></li><li>Should I Create an Index on Foreign Keys? (Blog post by Percona) <a href="https://www.percona.com/blog/should-i-create-an-index-on-foreign-keys-in-postgresql">https://www.percona.com/blog/should-i-create-an-index-on-foreign-keys-in-postgresql</a></li><li>Avoid Postgres performance cliffs with MultiXact IDs and foreign keys (5 min video by Lukas Fittl) <a href="https://pganalyze.com/blog/5mins-postgres-multiXact-ids-foreign-keys-performance">https://pganalyze.com/blog/5mins-postgres-multiXact-ids-foreign-keys-performance</a></li><li>Experiment to see basic overhead of foreign keys <a href="https://v2.postgres.ai/chats/01902ee6-8ed1-70ec-9345-5606305012f4">https://v2.postgres.ai/chats/01902ee6-8ed1-70ec-9345-5606305012f4</a></li><li>Experiment showing an extreme contention case <a href="https://v2.postgres.ai/chats/018fb28d-865f-788d-adb7-efa7ed3a48c4">https://v2.postgres.ai/chats/018fb28d-865f-788d-adb7-efa7ed3a48c4</a></li><li>Subtransactions Considered Harmful (blog post by Nikolay) <a href="https://postgres.ai/blog/20210831-postgresql-subtransactions-considered-harmful">https://postgres.ai/blog/20210831-postgresql-subtransactions-considered-harmful</a></li><li>Notes on some PostgreSQL implementation details (blog post by Nelson Elhage that mentions “subtransactions are cursed”) <a href="https://buttondown.email/nelhage/archive/notes-on-some-postgresql-implementation-details">https://buttondown.email/nelhage/archive/notes-on-some-postgresql-implementation-details</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/82dc378e/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>pgvectorscale</title>
      <itunes:episode>101</itunes:episode>
      <podcast:episode>101</podcast:episode>
      <itunes:title>pgvectorscale</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">5c606b6b-3869-4d13-babb-301f0c413da0</guid>
      <link>https://share.transistor.fm/s/ef989ffc</link>
      <description>
        <![CDATA[<p>Nikolay is joined by Mat Arye and John Pruitt, from Timescale, to discuss their new extension pgvectorscale and high-performance vector search in Postgres more generally.<br> <br>Main links:</p><ul><li><a href="https://github.com/timescale/pgvectorscale">https://github.com/timescale/pgvectorscale</a></li><li><a href="https://www.timescale.com/blog/pgvector-vs-pinecone/">https://www.timescale.com/blog/pgvector-vs-pinecone</a></li><li><a href="https://postgres.fm/people/matvey-arye">https://postgres.fm/people/matvey-arye</a></li><li><a href="https://postgres.fm/people/john-pruitt">https://postgres.fm/people/john-pruitt</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the elephant artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay is joined by Mat Arye and John Pruitt, from Timescale, to discuss their new extension pgvectorscale and high-performance vector search in Postgres more generally.<br> <br>Main links:</p><ul><li><a href="https://github.com/timescale/pgvectorscale">https://github.com/timescale/pgvectorscale</a></li><li><a href="https://www.timescale.com/blog/pgvector-vs-pinecone/">https://www.timescale.com/blog/pgvector-vs-pinecone</a></li><li><a href="https://postgres.fm/people/matvey-arye">https://postgres.fm/people/matvey-arye</a></li><li><a href="https://postgres.fm/people/john-pruitt">https://postgres.fm/people/john-pruitt</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the elephant artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 14 Jun 2024 22:01:18 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/ef989ffc/550df4b1.mp3" length="53271317" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>3327</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay is joined by Mat Arye and John Pruitt, from Timescale, to discuss their new extension pgvectorscale and high-performance vector search in Postgres more generally.<br> <br>Main links:</p><ul><li><a href="https://github.com/timescale/pgvectorscale">https://github.com/timescale/pgvectorscale</a></li><li><a href="https://www.timescale.com/blog/pgvector-vs-pinecone/">https://www.timescale.com/blog/pgvector-vs-pinecone</a></li><li><a href="https://postgres.fm/people/matvey-arye">https://postgres.fm/people/matvey-arye</a></li><li><a href="https://postgres.fm/people/john-pruitt">https://postgres.fm/people/john-pruitt</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the elephant artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Guest" href="https://postgres.fm/people/john-pruitt" img="https://img.transistorcdn.com/DC65rXv_oMnmexqxEG0H8dcXRU1DIM0jVswdrFg-YJs/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9kN2Ni/MWQ1ZmYxODIxNjVm/MWZhYjM4YzI5YmI3/MWM0Mi5qcGc.jpg">John Pruitt</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Guest" href="https://postgres.fm/people/matvey-arye" img="https://img.transistorcdn.com/b2DRFurY7IROYmq08nWygJw9VB1ny16XkqFGyIkIm1o/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS84NDFi/YWJjY2EzYjZmNzU0/MWMyOWIyYWYzMTQw/Y2UwMS5qcGVn.jpg">Matvey Arye</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/ef989ffc/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>To 100TB, and beyond! </title>
      <itunes:episode>100</itunes:episode>
      <podcast:episode>100</podcast:episode>
      <itunes:title>To 100TB, and beyond! </itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">4affb20d-37da-4fca-84e4-b6b1f1b1dd84</guid>
      <link>https://share.transistor.fm/s/6fcc85d6</link>
      <description>
        <![CDATA[<p>Michael and Nikolay are joined by three special guests for episode 100 who have all scaled Postgres to significant scale — Arka Ganguli from Notion, Sammy Steele from Figma, and Derk van Veen from Adyen. They cover how their setup has evolved, what their plans are for the future, and get into the weeds of some fun and interesting challenges along the way!</p><p>Links to some of the things discussed: </p><ul><li>Arka Ganguli from Notion <a href="https://postgres.fm/people/arka-ganguli">https://postgres.fm/people/arka-ganguli</a></li><li>Sammy Steele from Figma <a href="https://postgres.fm/people/sammy-steele">https://postgres.fm/people/sammy-steele</a></li><li>Derk van Veen from Adyen <a href="https://postgres.fm/people/derk-van-veen">https://postgres.fm/people/derk-van-veen</a></li><li>Thank you to yerrysherry on Reddit for the idea! <a href="https://www.reddit.com/r/PostgreSQL/comments/1cn8ajh/what_should_we_do_for_episode_100_of_postgres_fm/">https://www.reddit.com/r/PostgreSQL/comments/1cn8ajh/what_should_we_do_for_episode_100_of_postgres_fm</a></li><li>Lessons learned from sharding Postgres at Notion (October 2021) <a href="https://www.notion.so/blog/sharding-postgres-at-notion">https://www.notion.so/blog/sharding-postgres-at-notion</a></li><li>Adding Postgres capacity (again) with zero downtime (July 2023) <a href="https://www.notion.so/blog/the-great-re-shard">https://www.notion.so/blog/the-great-re-shard</a></li><li>How Figma’s databases team lived to tell the scale (March 2024) <a href="https://www.figma.com/blog/how-figmas-databases-team-lived-to-tell-the-scale">https://www.figma.com/blog/how-figmas-databases-team-lived-to-tell-the-scale</a></li><li>Updating a 50 terabyte PostgreSQL database (March 2018) <a href="https://www.adyen.com/knowledge-hub/updating-a-50-terabyte-postgresql-database">https://www.adyen.com/knowledge-hub/updating-a-50-terabyte-postgresql-database</a></li><li>Part 1: Introduction to Table Partitioning (July 2023) <a href="https://www.adyen.com/knowledge-hub/introduction-to-table-partioning">https://www.adyen.com/knowledge-hub/introduction-to-table-partioning</a></li><li>Part 2: Partitioning at Adyen (October 2023) <a href="https://www.adyen.com/knowledge-hub/partitioning-at-adyen">https://www.adyen.com/knowledge-hub/partitioning-at-adyen</a></li><li>Part 3: Maintenance Under Pressure (January 2024) <a href="https://www.adyen.com/knowledge-hub/maintenance-under-pressure">https://www.adyen.com/knowledge-hub/maintenance-under-pressure</a></li><li>Fighting PostgreSQL write amplification with HOT updates (May 2022) <a href="https://www.adyen.com/knowledge-hub/postgresql-hot-updates">https://www.adyen.com/knowledge-hub/postgresql-hot-updates</a></li><li>Tracking HOT updates and tuning FillFactor (October 2022) <a href="https://www.adyen.com/knowledge-hub/postgresql-hot-updates-part2">https://www.adyen.com/knowledge-hub/postgresql-hot-updates-part2</a></li><li>Partitioning your Postgres tables for 20X better performance (upcoming talk by Derk at Posette) <a href="https://www.citusdata.com/posette/speakers/derk-van-veen">https://www.citusdata.com/posette/speakers/derk-van-veen</a></li><li>Figma, including Sammy’s team, is hiring <a href="https://www.figma.com/careers">https://www.figma.com/careers</a> </li><li>Notion’s engineering team is hiring <a href="https://www.notion.so/careers">https://www.notion.so/careers</a></li><li>Adyen’s engineering team is hiring <a href="https://careers.adyen.com">https://careers.adyen.com</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the elephant artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Michael and Nikolay are joined by three special guests for episode 100 who have all scaled Postgres to significant scale — Arka Ganguli from Notion, Sammy Steele from Figma, and Derk van Veen from Adyen. They cover how their setup has evolved, what their plans are for the future, and get into the weeds of some fun and interesting challenges along the way!</p><p>Links to some of the things discussed: </p><ul><li>Arka Ganguli from Notion <a href="https://postgres.fm/people/arka-ganguli">https://postgres.fm/people/arka-ganguli</a></li><li>Sammy Steele from Figma <a href="https://postgres.fm/people/sammy-steele">https://postgres.fm/people/sammy-steele</a></li><li>Derk van Veen from Adyen <a href="https://postgres.fm/people/derk-van-veen">https://postgres.fm/people/derk-van-veen</a></li><li>Thank you to yerrysherry on Reddit for the idea! <a href="https://www.reddit.com/r/PostgreSQL/comments/1cn8ajh/what_should_we_do_for_episode_100_of_postgres_fm/">https://www.reddit.com/r/PostgreSQL/comments/1cn8ajh/what_should_we_do_for_episode_100_of_postgres_fm</a></li><li>Lessons learned from sharding Postgres at Notion (October 2021) <a href="https://www.notion.so/blog/sharding-postgres-at-notion">https://www.notion.so/blog/sharding-postgres-at-notion</a></li><li>Adding Postgres capacity (again) with zero downtime (July 2023) <a href="https://www.notion.so/blog/the-great-re-shard">https://www.notion.so/blog/the-great-re-shard</a></li><li>How Figma’s databases team lived to tell the scale (March 2024) <a href="https://www.figma.com/blog/how-figmas-databases-team-lived-to-tell-the-scale">https://www.figma.com/blog/how-figmas-databases-team-lived-to-tell-the-scale</a></li><li>Updating a 50 terabyte PostgreSQL database (March 2018) <a href="https://www.adyen.com/knowledge-hub/updating-a-50-terabyte-postgresql-database">https://www.adyen.com/knowledge-hub/updating-a-50-terabyte-postgresql-database</a></li><li>Part 1: Introduction to Table Partitioning (July 2023) <a href="https://www.adyen.com/knowledge-hub/introduction-to-table-partioning">https://www.adyen.com/knowledge-hub/introduction-to-table-partioning</a></li><li>Part 2: Partitioning at Adyen (October 2023) <a href="https://www.adyen.com/knowledge-hub/partitioning-at-adyen">https://www.adyen.com/knowledge-hub/partitioning-at-adyen</a></li><li>Part 3: Maintenance Under Pressure (January 2024) <a href="https://www.adyen.com/knowledge-hub/maintenance-under-pressure">https://www.adyen.com/knowledge-hub/maintenance-under-pressure</a></li><li>Fighting PostgreSQL write amplification with HOT updates (May 2022) <a href="https://www.adyen.com/knowledge-hub/postgresql-hot-updates">https://www.adyen.com/knowledge-hub/postgresql-hot-updates</a></li><li>Tracking HOT updates and tuning FillFactor (October 2022) <a href="https://www.adyen.com/knowledge-hub/postgresql-hot-updates-part2">https://www.adyen.com/knowledge-hub/postgresql-hot-updates-part2</a></li><li>Partitioning your Postgres tables for 20X better performance (upcoming talk by Derk at Posette) <a href="https://www.citusdata.com/posette/speakers/derk-van-veen">https://www.citusdata.com/posette/speakers/derk-van-veen</a></li><li>Figma, including Sammy’s team, is hiring <a href="https://www.figma.com/careers">https://www.figma.com/careers</a> </li><li>Notion’s engineering team is hiring <a href="https://www.notion.so/careers">https://www.notion.so/careers</a></li><li>Adyen’s engineering team is hiring <a href="https://careers.adyen.com">https://careers.adyen.com</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the elephant artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 07 Jun 2024 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/6fcc85d6/f56ee8ad.mp3" length="45808961" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2862</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Michael and Nikolay are joined by three special guests for episode 100 who have all scaled Postgres to significant scale — Arka Ganguli from Notion, Sammy Steele from Figma, and Derk van Veen from Adyen. They cover how their setup has evolved, what their plans are for the future, and get into the weeds of some fun and interesting challenges along the way!</p><p>Links to some of the things discussed: </p><ul><li>Arka Ganguli from Notion <a href="https://postgres.fm/people/arka-ganguli">https://postgres.fm/people/arka-ganguli</a></li><li>Sammy Steele from Figma <a href="https://postgres.fm/people/sammy-steele">https://postgres.fm/people/sammy-steele</a></li><li>Derk van Veen from Adyen <a href="https://postgres.fm/people/derk-van-veen">https://postgres.fm/people/derk-van-veen</a></li><li>Thank you to yerrysherry on Reddit for the idea! <a href="https://www.reddit.com/r/PostgreSQL/comments/1cn8ajh/what_should_we_do_for_episode_100_of_postgres_fm/">https://www.reddit.com/r/PostgreSQL/comments/1cn8ajh/what_should_we_do_for_episode_100_of_postgres_fm</a></li><li>Lessons learned from sharding Postgres at Notion (October 2021) <a href="https://www.notion.so/blog/sharding-postgres-at-notion">https://www.notion.so/blog/sharding-postgres-at-notion</a></li><li>Adding Postgres capacity (again) with zero downtime (July 2023) <a href="https://www.notion.so/blog/the-great-re-shard">https://www.notion.so/blog/the-great-re-shard</a></li><li>How Figma’s databases team lived to tell the scale (March 2024) <a href="https://www.figma.com/blog/how-figmas-databases-team-lived-to-tell-the-scale">https://www.figma.com/blog/how-figmas-databases-team-lived-to-tell-the-scale</a></li><li>Updating a 50 terabyte PostgreSQL database (March 2018) <a href="https://www.adyen.com/knowledge-hub/updating-a-50-terabyte-postgresql-database">https://www.adyen.com/knowledge-hub/updating-a-50-terabyte-postgresql-database</a></li><li>Part 1: Introduction to Table Partitioning (July 2023) <a href="https://www.adyen.com/knowledge-hub/introduction-to-table-partioning">https://www.adyen.com/knowledge-hub/introduction-to-table-partioning</a></li><li>Part 2: Partitioning at Adyen (October 2023) <a href="https://www.adyen.com/knowledge-hub/partitioning-at-adyen">https://www.adyen.com/knowledge-hub/partitioning-at-adyen</a></li><li>Part 3: Maintenance Under Pressure (January 2024) <a href="https://www.adyen.com/knowledge-hub/maintenance-under-pressure">https://www.adyen.com/knowledge-hub/maintenance-under-pressure</a></li><li>Fighting PostgreSQL write amplification with HOT updates (May 2022) <a href="https://www.adyen.com/knowledge-hub/postgresql-hot-updates">https://www.adyen.com/knowledge-hub/postgresql-hot-updates</a></li><li>Tracking HOT updates and tuning FillFactor (October 2022) <a href="https://www.adyen.com/knowledge-hub/postgresql-hot-updates-part2">https://www.adyen.com/knowledge-hub/postgresql-hot-updates-part2</a></li><li>Partitioning your Postgres tables for 20X better performance (upcoming talk by Derk at Posette) <a href="https://www.citusdata.com/posette/speakers/derk-van-veen">https://www.citusdata.com/posette/speakers/derk-van-veen</a></li><li>Figma, including Sammy’s team, is hiring <a href="https://www.figma.com/careers">https://www.figma.com/careers</a> </li><li>Notion’s engineering team is hiring <a href="https://www.notion.so/careers">https://www.notion.so/careers</a></li><li>Adyen’s engineering team is hiring <a href="https://careers.adyen.com">https://careers.adyen.com</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the elephant artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Guest" href="https://postgres.fm/people/arka-ganguli" img="https://img.transistorcdn.com/s6sL703KBrBmPooq3PkMsHRQhPzdOSCwq83JAnzy000/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS8zZDYw/ZDQ1NDZkNzcxZGZm/NzNiOWFjOTkzYzJl/MjRiMi5qcGc.jpg">Arka Ganguli</podcast:person>
      <podcast:person role="Guest" href="https://postgres.fm/people/sammy-steele" img="https://img.transistorcdn.com/zmulrW1SMaBlcBx3Cqdi8Vwp94rAhzdSUulCGsVmiW0/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS8wNzRk/NWE4MTI0N2QyYTRi/ZjZhNDljOWYyNTAx/NTJiYy5qcGVn.jpg">Sammy Steele</podcast:person>
      <podcast:person role="Guest" href="https://postgres.fm/people/derk-van-veen" img="https://img.transistorcdn.com/LX1X4SW3-wIA1lD6qo0OhlpiIrOYRZFqbUEItycBkKk/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS8zMDU5/OWM5NmY2ODhiODZl/NTY2NGI1NTM4ZGZm/NWQ1Zi5qcGVn.jpg">Derk van Veen</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/6fcc85d6/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Sponsoring the community</title>
      <itunes:episode>99</itunes:episode>
      <podcast:episode>99</podcast:episode>
      <itunes:title>Sponsoring the community</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">1b39aa09-ef39-47da-bdcf-fbbbfa3eb4b2</guid>
      <link>https://share.transistor.fm/s/d0ab11c8</link>
      <description>
        <![CDATA[<p>Michael is joined by Claire Giordano, Head of Postgres Open Source Community Initiatives at Microsoft, to discuss several ways to contribute to the Postgres community — from core contributions, to extensions, to events, and (of course) podcasts.<br> <br>Here are some links to things they mentioned:</p><ul><li>What’s new with Postgres at Microsoft (blog post by Claire) <a href="https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/what-s-new-with-postgres-at-microsoft-2024-edition/ba-p/4140085">https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/what-s-new-with-postgres-at-microsoft-2024-edition/ba-p/4140085</a> </li><li>Citus <a href="https://github.com/citusdata/citus">https://github.com/citusdata/citus</a> </li><li>Fibonacci Spirals and 21 Ways to Contribute to Postgres Beyond Code (talk by Claire) <a href="https://archive.fosdem.org/2020/schedule/event/postgresql_fibonacci_spirals_and_21_ways_to_contribute_to_postgres_beyond_code/">https://archive.fosdem.org/2020/schedule/event/postgresql_fibonacci_spirals_and_21_ways_to_contribute_to_postgres_beyond_code/</a> </li><li>How to contribute to PostgreSQL or, 50 Ways To Love Your Project (talk slides by Josh Berkus) <a href="https://berkus.org/pdf_presos/50_ways.pdf">https://berkus.org/pdf_presos/50_ways.pdf</a> </li><li>pgconf dot dev <a href="https://2024.pgconf.dev/">https://2024.pgconf.dev/</a> </li><li>POSETTE: An Event for Postgres <a href="https://www.citusdata.com/posette">https://www.citusdata.com/posette</a> </li><li>About Talk Selection for POSETTE <a href="https://www.citusdata.com/blog/2024/04/22/about-talk-selection-for-posette-an-event-for-postgres-2024/">https://www.citusdata.com/blog/2024/04/22/about-talk-selection-for-posette-an-event-for-postgres-2024/</a> </li><li>Claire’s video about how to say Postgres, PostgreSQL, Citus, and a few questionably named Microsoft things <a href="https://x.com/clairegiordano/status/1503784151614320640">https://x.com/clairegiordano/status/1503784151614320640</a> </li><li>Citus goes fully open source <a href="https://www.citusdata.com/blog/2024/04/22/about-talk-selection-for-posette-an-event-for-postgres-2024/">https://www.citusdata.com/blog/2024/04/22/about-talk-selection-for-posette-an-event-for-postgres-2024/</a></li><li>Contributor Profiles <a href="https://www.postgresql.org/community/contributors/">https://www.postgresql.org/community/contributors/</a> </li><li>Mastodon post by Álvaro Herrera (of EDB) <a href="https://lile.cl/@alvherre/112444579030481334">https://lile.cl/@alvherre/112444579030481334</a> </li><li>Talking Postgres podcast (formerly called Path To Citus Con): <a href="https://talkingpostgres.com/">https://talkingpostgres.com/</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the elephant artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Michael is joined by Claire Giordano, Head of Postgres Open Source Community Initiatives at Microsoft, to discuss several ways to contribute to the Postgres community — from core contributions, to extensions, to events, and (of course) podcasts.<br> <br>Here are some links to things they mentioned:</p><ul><li>What’s new with Postgres at Microsoft (blog post by Claire) <a href="https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/what-s-new-with-postgres-at-microsoft-2024-edition/ba-p/4140085">https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/what-s-new-with-postgres-at-microsoft-2024-edition/ba-p/4140085</a> </li><li>Citus <a href="https://github.com/citusdata/citus">https://github.com/citusdata/citus</a> </li><li>Fibonacci Spirals and 21 Ways to Contribute to Postgres Beyond Code (talk by Claire) <a href="https://archive.fosdem.org/2020/schedule/event/postgresql_fibonacci_spirals_and_21_ways_to_contribute_to_postgres_beyond_code/">https://archive.fosdem.org/2020/schedule/event/postgresql_fibonacci_spirals_and_21_ways_to_contribute_to_postgres_beyond_code/</a> </li><li>How to contribute to PostgreSQL or, 50 Ways To Love Your Project (talk slides by Josh Berkus) <a href="https://berkus.org/pdf_presos/50_ways.pdf">https://berkus.org/pdf_presos/50_ways.pdf</a> </li><li>pgconf dot dev <a href="https://2024.pgconf.dev/">https://2024.pgconf.dev/</a> </li><li>POSETTE: An Event for Postgres <a href="https://www.citusdata.com/posette">https://www.citusdata.com/posette</a> </li><li>About Talk Selection for POSETTE <a href="https://www.citusdata.com/blog/2024/04/22/about-talk-selection-for-posette-an-event-for-postgres-2024/">https://www.citusdata.com/blog/2024/04/22/about-talk-selection-for-posette-an-event-for-postgres-2024/</a> </li><li>Claire’s video about how to say Postgres, PostgreSQL, Citus, and a few questionably named Microsoft things <a href="https://x.com/clairegiordano/status/1503784151614320640">https://x.com/clairegiordano/status/1503784151614320640</a> </li><li>Citus goes fully open source <a href="https://www.citusdata.com/blog/2024/04/22/about-talk-selection-for-posette-an-event-for-postgres-2024/">https://www.citusdata.com/blog/2024/04/22/about-talk-selection-for-posette-an-event-for-postgres-2024/</a></li><li>Contributor Profiles <a href="https://www.postgresql.org/community/contributors/">https://www.postgresql.org/community/contributors/</a> </li><li>Mastodon post by Álvaro Herrera (of EDB) <a href="https://lile.cl/@alvherre/112444579030481334">https://lile.cl/@alvherre/112444579030481334</a> </li><li>Talking Postgres podcast (formerly called Path To Citus Con): <a href="https://talkingpostgres.com/">https://talkingpostgres.com/</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the elephant artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 31 May 2024 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/d0ab11c8/40ab779c.mp3" length="31011955" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>1937</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Michael is joined by Claire Giordano, Head of Postgres Open Source Community Initiatives at Microsoft, to discuss several ways to contribute to the Postgres community — from core contributions, to extensions, to events, and (of course) podcasts.<br> <br>Here are some links to things they mentioned:</p><ul><li>What’s new with Postgres at Microsoft (blog post by Claire) <a href="https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/what-s-new-with-postgres-at-microsoft-2024-edition/ba-p/4140085">https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/what-s-new-with-postgres-at-microsoft-2024-edition/ba-p/4140085</a> </li><li>Citus <a href="https://github.com/citusdata/citus">https://github.com/citusdata/citus</a> </li><li>Fibonacci Spirals and 21 Ways to Contribute to Postgres Beyond Code (talk by Claire) <a href="https://archive.fosdem.org/2020/schedule/event/postgresql_fibonacci_spirals_and_21_ways_to_contribute_to_postgres_beyond_code/">https://archive.fosdem.org/2020/schedule/event/postgresql_fibonacci_spirals_and_21_ways_to_contribute_to_postgres_beyond_code/</a> </li><li>How to contribute to PostgreSQL or, 50 Ways To Love Your Project (talk slides by Josh Berkus) <a href="https://berkus.org/pdf_presos/50_ways.pdf">https://berkus.org/pdf_presos/50_ways.pdf</a> </li><li>pgconf dot dev <a href="https://2024.pgconf.dev/">https://2024.pgconf.dev/</a> </li><li>POSETTE: An Event for Postgres <a href="https://www.citusdata.com/posette">https://www.citusdata.com/posette</a> </li><li>About Talk Selection for POSETTE <a href="https://www.citusdata.com/blog/2024/04/22/about-talk-selection-for-posette-an-event-for-postgres-2024/">https://www.citusdata.com/blog/2024/04/22/about-talk-selection-for-posette-an-event-for-postgres-2024/</a> </li><li>Claire’s video about how to say Postgres, PostgreSQL, Citus, and a few questionably named Microsoft things <a href="https://x.com/clairegiordano/status/1503784151614320640">https://x.com/clairegiordano/status/1503784151614320640</a> </li><li>Citus goes fully open source <a href="https://www.citusdata.com/blog/2024/04/22/about-talk-selection-for-posette-an-event-for-postgres-2024/">https://www.citusdata.com/blog/2024/04/22/about-talk-selection-for-posette-an-event-for-postgres-2024/</a></li><li>Contributor Profiles <a href="https://www.postgresql.org/community/contributors/">https://www.postgresql.org/community/contributors/</a> </li><li>Mastodon post by Álvaro Herrera (of EDB) <a href="https://lile.cl/@alvherre/112444579030481334">https://lile.cl/@alvherre/112444579030481334</a> </li><li>Talking Postgres podcast (formerly called Path To Citus Con): <a href="https://talkingpostgres.com/">https://talkingpostgres.com/</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the elephant artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Guest" href="https://www.citusdata.com/blog/authors/claire-giordano/" img="https://img.transistorcdn.com/-qADYPJCwub_roZ_SqcPsgWOALqAovvevo_0EULZ-MQ/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lZjhh/ODFjMTNiODRlMzBi/MDM1ODQwODhlZDM0/NWFiMS5qcGc.jpg">Claire Giordano</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/d0ab11c8/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Full text search</title>
      <itunes:episode>98</itunes:episode>
      <podcast:episode>98</podcast:episode>
      <itunes:title>Full text search</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">dfd48f2f-2841-4fef-8a55-0e51527d1103</guid>
      <link>https://share.transistor.fm/s/81dab17b</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss full text search in Postgres — some of the history, some of the features, and whether it now makes sense to try to replace or combine it with semantic search.<br> <br>Here are some links to things they mentioned:</p><ul><li>Full Text Search <a href="https://www.postgresql.org/docs/current/textsearch.html">https://www.postgresql.org/docs/current/textsearch.html</a></li><li>tsearch2 <a href="https://www.postgresql.org/docs/9.6/tsearch2.html">https://www.postgresql.org/docs/9.6/tsearch2.html</a></li><li>Dictionaries <a href="https://www.postgresql.org/docs/current/textsearch-dictionaries.html">https://www.postgresql.org/docs/current/textsearch-dictionaries.html</a> </li><li>RUM index <a href="https://github.com/postgrespro/rum">https://github.com/postgrespro/rum</a> </li><li>Okapi BM25 <a href="https://en.wikipedia.org/wiki/Okapi_BM25">https://en.wikipedia.org/wiki/Okapi_BM25</a> </li><li>tf–idf <a href="https://en.wikipedia.org/wiki/Tf%E2%80%93idf">https://en.wikipedia.org/wiki/Tf%E2%80%93idf</a> </li><li>unaccent <a href="https://www.postgresql.org/docs/current/unaccent.html">https://www.postgresql.org/docs/current/unaccent.html</a> </li><li>tsvector and tsquery <a href="https://www.postgresql.org/docs/current/datatype-textsearch.html">https://www.postgresql.org/docs/current/datatype-textsearch.html</a> </li><li>GiST indexes <a href="https://www.postgresql.org/docs/current/gist.html">https://www.postgresql.org/docs/current/gist.html</a> </li><li>GIN indexes <a href="https://www.postgresql.org/docs/current/gin.html">https://www.postgresql.org/docs/current/gin.html</a> </li><li>Controlling Text Search (including setweight function) <a href="https://www.postgresql.org/docs/current/textsearch-controls.html">https://www.postgresql.org/docs/current/textsearch-controls.html</a> </li><li>pg_trgrm <a href="https://www.postgresql.org/docs/current/pgtrgm.html">https://www.postgresql.org/docs/current/pgtrgm.html</a> </li><li>btree_gist <a href="https://www.postgresql.org/docs/current/btree-gist.html">https://www.postgresql.org/docs/current/btree-gist.html</a> </li><li>btree_gin <a href="https://www.postgresql.org/docs/current/btree-gin.html">https://www.postgresql.org/docs/current/btree-gin.html</a> </li><li>websearch_to_tsquery <a href="https://www.postgresql.org/docs/current/textsearch-controls.html#TEXTSEARCH-PARSING-QUERIES">https://www.postgresql.org/docs/current/textsearch-controls.html#TEXTSEARCH-PARSING-QUERIES</a>  </li><li>pgvector <a href="https://github.com/pgvector/pgvector">https://github.com/pgvector/pgvector</a> </li><li>Our previous episode on search <a href="https://postgres.fm/episodes/search">https://postgres.fm/episodes/search</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss full text search in Postgres — some of the history, some of the features, and whether it now makes sense to try to replace or combine it with semantic search.<br> <br>Here are some links to things they mentioned:</p><ul><li>Full Text Search <a href="https://www.postgresql.org/docs/current/textsearch.html">https://www.postgresql.org/docs/current/textsearch.html</a></li><li>tsearch2 <a href="https://www.postgresql.org/docs/9.6/tsearch2.html">https://www.postgresql.org/docs/9.6/tsearch2.html</a></li><li>Dictionaries <a href="https://www.postgresql.org/docs/current/textsearch-dictionaries.html">https://www.postgresql.org/docs/current/textsearch-dictionaries.html</a> </li><li>RUM index <a href="https://github.com/postgrespro/rum">https://github.com/postgrespro/rum</a> </li><li>Okapi BM25 <a href="https://en.wikipedia.org/wiki/Okapi_BM25">https://en.wikipedia.org/wiki/Okapi_BM25</a> </li><li>tf–idf <a href="https://en.wikipedia.org/wiki/Tf%E2%80%93idf">https://en.wikipedia.org/wiki/Tf%E2%80%93idf</a> </li><li>unaccent <a href="https://www.postgresql.org/docs/current/unaccent.html">https://www.postgresql.org/docs/current/unaccent.html</a> </li><li>tsvector and tsquery <a href="https://www.postgresql.org/docs/current/datatype-textsearch.html">https://www.postgresql.org/docs/current/datatype-textsearch.html</a> </li><li>GiST indexes <a href="https://www.postgresql.org/docs/current/gist.html">https://www.postgresql.org/docs/current/gist.html</a> </li><li>GIN indexes <a href="https://www.postgresql.org/docs/current/gin.html">https://www.postgresql.org/docs/current/gin.html</a> </li><li>Controlling Text Search (including setweight function) <a href="https://www.postgresql.org/docs/current/textsearch-controls.html">https://www.postgresql.org/docs/current/textsearch-controls.html</a> </li><li>pg_trgrm <a href="https://www.postgresql.org/docs/current/pgtrgm.html">https://www.postgresql.org/docs/current/pgtrgm.html</a> </li><li>btree_gist <a href="https://www.postgresql.org/docs/current/btree-gist.html">https://www.postgresql.org/docs/current/btree-gist.html</a> </li><li>btree_gin <a href="https://www.postgresql.org/docs/current/btree-gin.html">https://www.postgresql.org/docs/current/btree-gin.html</a> </li><li>websearch_to_tsquery <a href="https://www.postgresql.org/docs/current/textsearch-controls.html#TEXTSEARCH-PARSING-QUERIES">https://www.postgresql.org/docs/current/textsearch-controls.html#TEXTSEARCH-PARSING-QUERIES</a>  </li><li>pgvector <a href="https://github.com/pgvector/pgvector">https://github.com/pgvector/pgvector</a> </li><li>Our previous episode on search <a href="https://postgres.fm/episodes/search">https://postgres.fm/episodes/search</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 24 May 2024 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/81dab17b/9ea653f0.mp3" length="48341781" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>3020</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss full text search in Postgres — some of the history, some of the features, and whether it now makes sense to try to replace or combine it with semantic search.<br> <br>Here are some links to things they mentioned:</p><ul><li>Full Text Search <a href="https://www.postgresql.org/docs/current/textsearch.html">https://www.postgresql.org/docs/current/textsearch.html</a></li><li>tsearch2 <a href="https://www.postgresql.org/docs/9.6/tsearch2.html">https://www.postgresql.org/docs/9.6/tsearch2.html</a></li><li>Dictionaries <a href="https://www.postgresql.org/docs/current/textsearch-dictionaries.html">https://www.postgresql.org/docs/current/textsearch-dictionaries.html</a> </li><li>RUM index <a href="https://github.com/postgrespro/rum">https://github.com/postgrespro/rum</a> </li><li>Okapi BM25 <a href="https://en.wikipedia.org/wiki/Okapi_BM25">https://en.wikipedia.org/wiki/Okapi_BM25</a> </li><li>tf–idf <a href="https://en.wikipedia.org/wiki/Tf%E2%80%93idf">https://en.wikipedia.org/wiki/Tf%E2%80%93idf</a> </li><li>unaccent <a href="https://www.postgresql.org/docs/current/unaccent.html">https://www.postgresql.org/docs/current/unaccent.html</a> </li><li>tsvector and tsquery <a href="https://www.postgresql.org/docs/current/datatype-textsearch.html">https://www.postgresql.org/docs/current/datatype-textsearch.html</a> </li><li>GiST indexes <a href="https://www.postgresql.org/docs/current/gist.html">https://www.postgresql.org/docs/current/gist.html</a> </li><li>GIN indexes <a href="https://www.postgresql.org/docs/current/gin.html">https://www.postgresql.org/docs/current/gin.html</a> </li><li>Controlling Text Search (including setweight function) <a href="https://www.postgresql.org/docs/current/textsearch-controls.html">https://www.postgresql.org/docs/current/textsearch-controls.html</a> </li><li>pg_trgrm <a href="https://www.postgresql.org/docs/current/pgtrgm.html">https://www.postgresql.org/docs/current/pgtrgm.html</a> </li><li>btree_gist <a href="https://www.postgresql.org/docs/current/btree-gist.html">https://www.postgresql.org/docs/current/btree-gist.html</a> </li><li>btree_gin <a href="https://www.postgresql.org/docs/current/btree-gin.html">https://www.postgresql.org/docs/current/btree-gin.html</a> </li><li>websearch_to_tsquery <a href="https://www.postgresql.org/docs/current/textsearch-controls.html#TEXTSEARCH-PARSING-QUERIES">https://www.postgresql.org/docs/current/textsearch-controls.html#TEXTSEARCH-PARSING-QUERIES</a>  </li><li>pgvector <a href="https://github.com/pgvector/pgvector">https://github.com/pgvector/pgvector</a> </li><li>Our previous episode on search <a href="https://postgres.fm/episodes/search">https://postgres.fm/episodes/search</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/81dab17b/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Minor releases</title>
      <itunes:episode>97</itunes:episode>
      <podcast:episode>97</podcast:episode>
      <itunes:title>Minor releases</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">0a9a2373-d25a-4b63-baf0-b636e2fff1c3</guid>
      <link>https://share.transistor.fm/s/f047a693</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss Postgres minor releases — how the schedule works, options for upgrading to them, and the importance of reading the release notes.<br> <br>Here are some links to things they mentioned:</p><ul><li>PostgreSQL 16.3, 15.7, 14.12, 13.15, and 12.19 released (announcement) <a href="https://www.postgresql.org/about/news/postgresql-163-157-1412-1315-and-1219-released-2858/">https://www.postgresql.org/about/news/postgresql-163-157-1412-1315-and-1219-released-2858/</a> </li><li>PostgreSQL versioning policy <a href="https://www.postgresql.org/support/versioning/">https://www.postgresql.org/support/versioning/</a> </li><li>PostgreSQL 14.4 release notes (most recent minor release not on the usual schedule) <a href="https://www.postgresql.org/docs/release/14.4/">https://www.postgresql.org/docs/release/14.4/</a> </li><li>Minor release roadmap <a href="https://www.postgresql.org/developer/roadmap/">https://www.postgresql.org/developer/roadmap/</a> </li><li>Our last episode on upgrades (major and minor) <a href="https://postgres.fm/episodes/upgrades">https://postgres.fm/episodes/upgrades</a>  </li><li>All versions of Postgres <a href="https://bucardo.org/postgres_all_versions.html">https://bucardo.org/postgres_all_versions.html</a> </li><li>Why upgrade? (Useful tool by depesz) <a href="https://why-upgrade.depesz.com/">https://why-upgrade.depesz.com/</a> </li><li>Stop and start Postgres faster <a href="https://postgres.fm/episodes/stop-and-start-postgres-faster">https://postgres.fm/episodes/stop-and-start-postgres-faster</a> </li><li>WAL and checkpoint tuning <a href="https://postgres.fm/episodes/wal-and-checkpoint-tuning">https://postgres.fm/episodes/wal-and-checkpoint-tuning</a>  </li><li>Postgres CVE-2024-4317 and how to fix the system views (5 mins of Postgres by Lukas Fittl) <a href="https://youtube.com/watch?v=fLwVvJ3fKdA">https://youtube.com/watch?v=fLwVvJ3fKdA</a> </li><li>Our episode on NULL <a href="https://postgres.fm/episodes/nulls-the-good-the-bad-the-ugly-and-the-unknown">https://postgres.fm/episodes/nulls-the-good-the-bad-the-ugly-and-the-unknown</a> </li><li>What should we do for episode 100? <a href="https://www.reddit.com/r/PostgreSQL/comments/1cn8ajh/what_should_we_do_for_episode_100_of_postgres_fm/">https://www.reddit.com/r/PostgreSQL/comments/1cn8ajh/what_should_we_do_for_episode_100_of_postgres_fm/</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss Postgres minor releases — how the schedule works, options for upgrading to them, and the importance of reading the release notes.<br> <br>Here are some links to things they mentioned:</p><ul><li>PostgreSQL 16.3, 15.7, 14.12, 13.15, and 12.19 released (announcement) <a href="https://www.postgresql.org/about/news/postgresql-163-157-1412-1315-and-1219-released-2858/">https://www.postgresql.org/about/news/postgresql-163-157-1412-1315-and-1219-released-2858/</a> </li><li>PostgreSQL versioning policy <a href="https://www.postgresql.org/support/versioning/">https://www.postgresql.org/support/versioning/</a> </li><li>PostgreSQL 14.4 release notes (most recent minor release not on the usual schedule) <a href="https://www.postgresql.org/docs/release/14.4/">https://www.postgresql.org/docs/release/14.4/</a> </li><li>Minor release roadmap <a href="https://www.postgresql.org/developer/roadmap/">https://www.postgresql.org/developer/roadmap/</a> </li><li>Our last episode on upgrades (major and minor) <a href="https://postgres.fm/episodes/upgrades">https://postgres.fm/episodes/upgrades</a>  </li><li>All versions of Postgres <a href="https://bucardo.org/postgres_all_versions.html">https://bucardo.org/postgres_all_versions.html</a> </li><li>Why upgrade? (Useful tool by depesz) <a href="https://why-upgrade.depesz.com/">https://why-upgrade.depesz.com/</a> </li><li>Stop and start Postgres faster <a href="https://postgres.fm/episodes/stop-and-start-postgres-faster">https://postgres.fm/episodes/stop-and-start-postgres-faster</a> </li><li>WAL and checkpoint tuning <a href="https://postgres.fm/episodes/wal-and-checkpoint-tuning">https://postgres.fm/episodes/wal-and-checkpoint-tuning</a>  </li><li>Postgres CVE-2024-4317 and how to fix the system views (5 mins of Postgres by Lukas Fittl) <a href="https://youtube.com/watch?v=fLwVvJ3fKdA">https://youtube.com/watch?v=fLwVvJ3fKdA</a> </li><li>Our episode on NULL <a href="https://postgres.fm/episodes/nulls-the-good-the-bad-the-ugly-and-the-unknown">https://postgres.fm/episodes/nulls-the-good-the-bad-the-ugly-and-the-unknown</a> </li><li>What should we do for episode 100? <a href="https://www.reddit.com/r/PostgreSQL/comments/1cn8ajh/what_should_we_do_for_episode_100_of_postgres_fm/">https://www.reddit.com/r/PostgreSQL/comments/1cn8ajh/what_should_we_do_for_episode_100_of_postgres_fm/</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 17 May 2024 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/f047a693/b479d56a.mp3" length="38192474" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2386</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss Postgres minor releases — how the schedule works, options for upgrading to them, and the importance of reading the release notes.<br> <br>Here are some links to things they mentioned:</p><ul><li>PostgreSQL 16.3, 15.7, 14.12, 13.15, and 12.19 released (announcement) <a href="https://www.postgresql.org/about/news/postgresql-163-157-1412-1315-and-1219-released-2858/">https://www.postgresql.org/about/news/postgresql-163-157-1412-1315-and-1219-released-2858/</a> </li><li>PostgreSQL versioning policy <a href="https://www.postgresql.org/support/versioning/">https://www.postgresql.org/support/versioning/</a> </li><li>PostgreSQL 14.4 release notes (most recent minor release not on the usual schedule) <a href="https://www.postgresql.org/docs/release/14.4/">https://www.postgresql.org/docs/release/14.4/</a> </li><li>Minor release roadmap <a href="https://www.postgresql.org/developer/roadmap/">https://www.postgresql.org/developer/roadmap/</a> </li><li>Our last episode on upgrades (major and minor) <a href="https://postgres.fm/episodes/upgrades">https://postgres.fm/episodes/upgrades</a>  </li><li>All versions of Postgres <a href="https://bucardo.org/postgres_all_versions.html">https://bucardo.org/postgres_all_versions.html</a> </li><li>Why upgrade? (Useful tool by depesz) <a href="https://why-upgrade.depesz.com/">https://why-upgrade.depesz.com/</a> </li><li>Stop and start Postgres faster <a href="https://postgres.fm/episodes/stop-and-start-postgres-faster">https://postgres.fm/episodes/stop-and-start-postgres-faster</a> </li><li>WAL and checkpoint tuning <a href="https://postgres.fm/episodes/wal-and-checkpoint-tuning">https://postgres.fm/episodes/wal-and-checkpoint-tuning</a>  </li><li>Postgres CVE-2024-4317 and how to fix the system views (5 mins of Postgres by Lukas Fittl) <a href="https://youtube.com/watch?v=fLwVvJ3fKdA">https://youtube.com/watch?v=fLwVvJ3fKdA</a> </li><li>Our episode on NULL <a href="https://postgres.fm/episodes/nulls-the-good-the-bad-the-ugly-and-the-unknown">https://postgres.fm/episodes/nulls-the-good-the-bad-the-ugly-and-the-unknown</a> </li><li>What should we do for episode 100? <a href="https://www.reddit.com/r/PostgreSQL/comments/1cn8ajh/what_should_we_do_for_episode_100_of_postgres_fm/">https://www.reddit.com/r/PostgreSQL/comments/1cn8ajh/what_should_we_do_for_episode_100_of_postgres_fm/</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/f047a693/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Custom vs generic plan</title>
      <itunes:episode>96</itunes:episode>
      <podcast:episode>96</podcast:episode>
      <itunes:title>Custom vs generic plan</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">d5f2a455-be46-409c-863a-218eb597072d</guid>
      <link>https://share.transistor.fm/s/8057da7d</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss custom and generic planning in prepared statements — how it works, how issues can present themselves, some ways to view the generic plan, and some benefits of avoiding planning (not just time). <br> <br>Here are some links to things they mentioned:</p><ul><li>PREPARE <a href="https://www.postgresql.org/docs/current/sql-prepare.html">https://www.postgresql.org/docs/current/sql-prepare.html</a> </li><li>track_activity_query_size <a href="https://www.postgresql.org/docs/current/runtime-config-statistics.html#GUC-TRACK-ACTIVITY-QUERY-SIZE">https://www.postgresql.org/docs/current/runtime-config-statistics.html#GUC-TRACK-ACTIVITY-QUERY-SIZE</a> </li><li>plan_cache_mode <a href="https://www.postgresql.org/docs/current/runtime-config-query.html#GUC-PLAN-CACHE-MODE">https://www.postgresql.org/docs/current/runtime-config-query.html#GUC-PLAN-CACHE-MODE</a> </li><li>EXPLAIN (GENERIC_PLAN) <a href="https://www.postgresql.org/docs/current/sql-explain.html#id-1.9.3.148.8">https://www.postgresql.org/docs/current/sql-explain.html#id-1.9.3.148.8</a> </li><li>EXPLAIN (GENERIC_PLAN) in PostgreSQL 16 (blog post by Laurenz from Cybertec)  <a href="https://www.cybertec-postgresql.com/en/explain-generic-plan-postgresql-16/">https://www.cybertec-postgresql.com/en/explain-generic-plan-postgresql-16/</a> </li><li>Running EXPLAIN on any query, even with $1 parameters (blog post and video by Lukas Fittl of pganalyze) <a href="https://pganalyze.com/blog/5mins-postgres-explain-generic-plan">https://pganalyze.com/blog/5mins-postgres-explain-generic-plan</a> </li><li>EXPLAIN from pg_stat_statements, how to get the generic plan (blog post by Franck Pashto of Yugabyte) <a href="https://dev.to/yugabyte/explain-from-pgstatstatements-normalized-queries-how-to-always-get-the-generic-plan-in--5cfi">https://dev.to/yugabyte/explain-from-pgstatstatements-normalized-queries-how-to-always-get-the-generic-plan-in--5cfi</a> </li><li>Rework query relation permission checking (commit by Amit Langote) <a href="https://git.postgresql.org/gitweb/postgres.git?p=postgresql.git;a=commit;h=a61b1f74823c9c4f79c95226a461f1e7a367764b">https://git.postgresql.org/gitweb/postgres.git?p=postgresql.git;a=commit;h=a61b1f74823c9c4f79c95226a461f1e7a367764b</a> </li><li>Partition pruning, prepared statements and generic vs custom query plans (a follow up blog post and video by Lukas) <a href="https://pganalyze.com/blog/5mins-postgres-partition-pruning-prepared-statements-generic-vs-custom-query-plans">https://pganalyze.com/blog/5mins-postgres-partition-pruning-prepared-statements-generic-vs-custom-query-plans</a> </li><li>Our episode on over-indexing (inc LWLock discussion) <a href="https://postgres.fm/episodes/over-indexing">https://postgres.fm/episodes/over-indexing</a> </li><li>“The year of the lock manager’s revenge” (from blog post by Jeremy Schneider) <a href="https://ardentperf.com/2024/03/03/postgres-indexes-partitioning-and-lwlocklockmanager-scalability/">https://ardentperf.com/2024/03/03/postgres-indexes-partitioning-and-lwlocklockmanager-scalability/</a>  </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss custom and generic planning in prepared statements — how it works, how issues can present themselves, some ways to view the generic plan, and some benefits of avoiding planning (not just time). <br> <br>Here are some links to things they mentioned:</p><ul><li>PREPARE <a href="https://www.postgresql.org/docs/current/sql-prepare.html">https://www.postgresql.org/docs/current/sql-prepare.html</a> </li><li>track_activity_query_size <a href="https://www.postgresql.org/docs/current/runtime-config-statistics.html#GUC-TRACK-ACTIVITY-QUERY-SIZE">https://www.postgresql.org/docs/current/runtime-config-statistics.html#GUC-TRACK-ACTIVITY-QUERY-SIZE</a> </li><li>plan_cache_mode <a href="https://www.postgresql.org/docs/current/runtime-config-query.html#GUC-PLAN-CACHE-MODE">https://www.postgresql.org/docs/current/runtime-config-query.html#GUC-PLAN-CACHE-MODE</a> </li><li>EXPLAIN (GENERIC_PLAN) <a href="https://www.postgresql.org/docs/current/sql-explain.html#id-1.9.3.148.8">https://www.postgresql.org/docs/current/sql-explain.html#id-1.9.3.148.8</a> </li><li>EXPLAIN (GENERIC_PLAN) in PostgreSQL 16 (blog post by Laurenz from Cybertec)  <a href="https://www.cybertec-postgresql.com/en/explain-generic-plan-postgresql-16/">https://www.cybertec-postgresql.com/en/explain-generic-plan-postgresql-16/</a> </li><li>Running EXPLAIN on any query, even with $1 parameters (blog post and video by Lukas Fittl of pganalyze) <a href="https://pganalyze.com/blog/5mins-postgres-explain-generic-plan">https://pganalyze.com/blog/5mins-postgres-explain-generic-plan</a> </li><li>EXPLAIN from pg_stat_statements, how to get the generic plan (blog post by Franck Pashto of Yugabyte) <a href="https://dev.to/yugabyte/explain-from-pgstatstatements-normalized-queries-how-to-always-get-the-generic-plan-in--5cfi">https://dev.to/yugabyte/explain-from-pgstatstatements-normalized-queries-how-to-always-get-the-generic-plan-in--5cfi</a> </li><li>Rework query relation permission checking (commit by Amit Langote) <a href="https://git.postgresql.org/gitweb/postgres.git?p=postgresql.git;a=commit;h=a61b1f74823c9c4f79c95226a461f1e7a367764b">https://git.postgresql.org/gitweb/postgres.git?p=postgresql.git;a=commit;h=a61b1f74823c9c4f79c95226a461f1e7a367764b</a> </li><li>Partition pruning, prepared statements and generic vs custom query plans (a follow up blog post and video by Lukas) <a href="https://pganalyze.com/blog/5mins-postgres-partition-pruning-prepared-statements-generic-vs-custom-query-plans">https://pganalyze.com/blog/5mins-postgres-partition-pruning-prepared-statements-generic-vs-custom-query-plans</a> </li><li>Our episode on over-indexing (inc LWLock discussion) <a href="https://postgres.fm/episodes/over-indexing">https://postgres.fm/episodes/over-indexing</a> </li><li>“The year of the lock manager’s revenge” (from blog post by Jeremy Schneider) <a href="https://ardentperf.com/2024/03/03/postgres-indexes-partitioning-and-lwlocklockmanager-scalability/">https://ardentperf.com/2024/03/03/postgres-indexes-partitioning-and-lwlocklockmanager-scalability/</a>  </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 10 May 2024 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/8057da7d/c3880826.mp3" length="27862211" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>1740</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss custom and generic planning in prepared statements — how it works, how issues can present themselves, some ways to view the generic plan, and some benefits of avoiding planning (not just time). <br> <br>Here are some links to things they mentioned:</p><ul><li>PREPARE <a href="https://www.postgresql.org/docs/current/sql-prepare.html">https://www.postgresql.org/docs/current/sql-prepare.html</a> </li><li>track_activity_query_size <a href="https://www.postgresql.org/docs/current/runtime-config-statistics.html#GUC-TRACK-ACTIVITY-QUERY-SIZE">https://www.postgresql.org/docs/current/runtime-config-statistics.html#GUC-TRACK-ACTIVITY-QUERY-SIZE</a> </li><li>plan_cache_mode <a href="https://www.postgresql.org/docs/current/runtime-config-query.html#GUC-PLAN-CACHE-MODE">https://www.postgresql.org/docs/current/runtime-config-query.html#GUC-PLAN-CACHE-MODE</a> </li><li>EXPLAIN (GENERIC_PLAN) <a href="https://www.postgresql.org/docs/current/sql-explain.html#id-1.9.3.148.8">https://www.postgresql.org/docs/current/sql-explain.html#id-1.9.3.148.8</a> </li><li>EXPLAIN (GENERIC_PLAN) in PostgreSQL 16 (blog post by Laurenz from Cybertec)  <a href="https://www.cybertec-postgresql.com/en/explain-generic-plan-postgresql-16/">https://www.cybertec-postgresql.com/en/explain-generic-plan-postgresql-16/</a> </li><li>Running EXPLAIN on any query, even with $1 parameters (blog post and video by Lukas Fittl of pganalyze) <a href="https://pganalyze.com/blog/5mins-postgres-explain-generic-plan">https://pganalyze.com/blog/5mins-postgres-explain-generic-plan</a> </li><li>EXPLAIN from pg_stat_statements, how to get the generic plan (blog post by Franck Pashto of Yugabyte) <a href="https://dev.to/yugabyte/explain-from-pgstatstatements-normalized-queries-how-to-always-get-the-generic-plan-in--5cfi">https://dev.to/yugabyte/explain-from-pgstatstatements-normalized-queries-how-to-always-get-the-generic-plan-in--5cfi</a> </li><li>Rework query relation permission checking (commit by Amit Langote) <a href="https://git.postgresql.org/gitweb/postgres.git?p=postgresql.git;a=commit;h=a61b1f74823c9c4f79c95226a461f1e7a367764b">https://git.postgresql.org/gitweb/postgres.git?p=postgresql.git;a=commit;h=a61b1f74823c9c4f79c95226a461f1e7a367764b</a> </li><li>Partition pruning, prepared statements and generic vs custom query plans (a follow up blog post and video by Lukas) <a href="https://pganalyze.com/blog/5mins-postgres-partition-pruning-prepared-statements-generic-vs-custom-query-plans">https://pganalyze.com/blog/5mins-postgres-partition-pruning-prepared-statements-generic-vs-custom-query-plans</a> </li><li>Our episode on over-indexing (inc LWLock discussion) <a href="https://postgres.fm/episodes/over-indexing">https://postgres.fm/episodes/over-indexing</a> </li><li>“The year of the lock manager’s revenge” (from blog post by Jeremy Schneider) <a href="https://ardentperf.com/2024/03/03/postgres-indexes-partitioning-and-lwlocklockmanager-scalability/">https://ardentperf.com/2024/03/03/postgres-indexes-partitioning-and-lwlocklockmanager-scalability/</a>  </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/8057da7d/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>LIMIT vs Performance</title>
      <itunes:episode>95</itunes:episode>
      <podcast:episode>95</podcast:episode>
      <itunes:title>LIMIT vs Performance</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">c456503b-ef9e-4733-849b-a979c203231d</guid>
      <link>https://share.transistor.fm/s/5bd84c38</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss LIMIT in Postgres — what it does, how it can help with performance, and an interesting example where adding it can actually hurt performance(!)<br> <br>Here are some links to things they mentioned:</p><ul><li>LIMIT considered harmful in PostgreSQL (Twitter thread by Christophe Pettus) <a href="https://twitter.com/Xof/status/1413542818673577987">https://twitter.com/Xof/status/1413542818673577987</a> </li><li>LIMIT and OFFSET (docs) <a href="https://www.postgresql.org/docs/current/queries-limit.html">https://www.postgresql.org/docs/current/queries-limit.html</a> </li><li>No OFFSET (by Markus Winand) <a href="https://use-the-index-luke.com/no-offset">https://use-the-index-luke.com/no-offset</a> </li><li>LIMIT clause (docs) <a href="https://www.postgresql.org/docs/current/sql-select.html#SQL-LIMIT">https://www.postgresql.org/docs/current/sql-select.html#SQL-LIMIT</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss LIMIT in Postgres — what it does, how it can help with performance, and an interesting example where adding it can actually hurt performance(!)<br> <br>Here are some links to things they mentioned:</p><ul><li>LIMIT considered harmful in PostgreSQL (Twitter thread by Christophe Pettus) <a href="https://twitter.com/Xof/status/1413542818673577987">https://twitter.com/Xof/status/1413542818673577987</a> </li><li>LIMIT and OFFSET (docs) <a href="https://www.postgresql.org/docs/current/queries-limit.html">https://www.postgresql.org/docs/current/queries-limit.html</a> </li><li>No OFFSET (by Markus Winand) <a href="https://use-the-index-luke.com/no-offset">https://use-the-index-luke.com/no-offset</a> </li><li>LIMIT clause (docs) <a href="https://www.postgresql.org/docs/current/sql-select.html#SQL-LIMIT">https://www.postgresql.org/docs/current/sql-select.html#SQL-LIMIT</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 03 May 2024 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/5bd84c38/9668bf97.mp3" length="43587085" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2723</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss LIMIT in Postgres — what it does, how it can help with performance, and an interesting example where adding it can actually hurt performance(!)<br> <br>Here are some links to things they mentioned:</p><ul><li>LIMIT considered harmful in PostgreSQL (Twitter thread by Christophe Pettus) <a href="https://twitter.com/Xof/status/1413542818673577987">https://twitter.com/Xof/status/1413542818673577987</a> </li><li>LIMIT and OFFSET (docs) <a href="https://www.postgresql.org/docs/current/queries-limit.html">https://www.postgresql.org/docs/current/queries-limit.html</a> </li><li>No OFFSET (by Markus Winand) <a href="https://use-the-index-luke.com/no-offset">https://use-the-index-luke.com/no-offset</a> </li><li>LIMIT clause (docs) <a href="https://www.postgresql.org/docs/current/sql-select.html#SQL-LIMIT">https://www.postgresql.org/docs/current/sql-select.html#SQL-LIMIT</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/5bd84c38/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Buffers II (the sequel)</title>
      <itunes:episode>94</itunes:episode>
      <podcast:episode>94</podcast:episode>
      <itunes:title>Buffers II (the sequel)</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">2d86ff33-61f0-474e-a150-785924a8fad3</guid>
      <link>https://share.transistor.fm/s/ae29b624</link>
      <description>
        <![CDATA[<p>Nikolay and Michael return to the topic of using the buffers explain parameter — with a new analogy, some (conspiracy) theories of why it's still not on by default, and some related chat about the serialize parameter coming in 17.<br> <br>Here are some links to things they mentioned:</p><ul><li>BUFFERS by default (episode 4) <a href="https://postgres.fm/episodes/buffers-by-default">https://postgres.fm/episodes/buffers-by-default</a> </li><li>Lightning talk by Michael at pgDay Paris (5 mins) <a href="https://www.youtube.com/watch?v=WfY-mSpUzaQ&amp;t=1470s">https://www.youtube.com/watch?v=WfY-mSpUzaQ&amp;t=1470s</a> </li><li>Waiting for SERIALIZE <a href="https://www.depesz.com/2024/04/11/waiting-for-postgresql-17-invent-serialize-option-for-explain/">https://www.depesz.com/2024/04/11/waiting-for-postgresql-17-invent-serialize-option-for-explain/</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael return to the topic of using the buffers explain parameter — with a new analogy, some (conspiracy) theories of why it's still not on by default, and some related chat about the serialize parameter coming in 17.<br> <br>Here are some links to things they mentioned:</p><ul><li>BUFFERS by default (episode 4) <a href="https://postgres.fm/episodes/buffers-by-default">https://postgres.fm/episodes/buffers-by-default</a> </li><li>Lightning talk by Michael at pgDay Paris (5 mins) <a href="https://www.youtube.com/watch?v=WfY-mSpUzaQ&amp;t=1470s">https://www.youtube.com/watch?v=WfY-mSpUzaQ&amp;t=1470s</a> </li><li>Waiting for SERIALIZE <a href="https://www.depesz.com/2024/04/11/waiting-for-postgresql-17-invent-serialize-option-for-explain/">https://www.depesz.com/2024/04/11/waiting-for-postgresql-17-invent-serialize-option-for-explain/</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 26 Apr 2024 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/ae29b624/f78cbe34.mp3" length="34789886" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2173</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael return to the topic of using the buffers explain parameter — with a new analogy, some (conspiracy) theories of why it's still not on by default, and some related chat about the serialize parameter coming in 17.<br> <br>Here are some links to things they mentioned:</p><ul><li>BUFFERS by default (episode 4) <a href="https://postgres.fm/episodes/buffers-by-default">https://postgres.fm/episodes/buffers-by-default</a> </li><li>Lightning talk by Michael at pgDay Paris (5 mins) <a href="https://www.youtube.com/watch?v=WfY-mSpUzaQ&amp;t=1470s">https://www.youtube.com/watch?v=WfY-mSpUzaQ&amp;t=1470s</a> </li><li>Waiting for SERIALIZE <a href="https://www.depesz.com/2024/04/11/waiting-for-postgresql-17-invent-serialize-option-for-explain/">https://www.depesz.com/2024/04/11/waiting-for-postgresql-17-invent-serialize-option-for-explain/</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/ae29b624/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Massive DELETEs</title>
      <itunes:episode>93</itunes:episode>
      <podcast:episode>93</podcast:episode>
      <itunes:title>Massive DELETEs</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">f6c8110c-64ce-419c-b67c-730b017bac87</guid>
      <link>https://share.transistor.fm/s/94535ab0</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss doing massive DELETE operations in Postgres — what can go wrong, how to prevent major issues, and some ideas to minimise their impact.<br> <br>Here are some links to things they mentioned:</p><ul><li>Article based on Nikolay’s talk, including batching implementation (translated to English) <a href="https://habr-com.translate.goog/en/articles/523536/?_x_tr_sl=ru&amp;_x_tr_tl=en&amp;_x_tr_hist=true">https://habr-com.translate.goog/en/articles/523536/?_x_tr_sl=ru&amp;_x_tr_tl=en&amp;_x_tr_hist=true</a> </li><li>Our episode on WAL and checkpoint tuning <a href="https://postgres.fm/episodes/wal-and-checkpoint-tuning">https://postgres.fm/episodes/wal-and-checkpoint-tuning</a></li><li>Egor Rogov’s book on Postgres Internals (chapter 10 on WAL) <a href="https://edu.postgrespro.com/postgresql_internals-14_en.pdf">https://edu.postgrespro.com/postgresql_internals-14_en.pdf</a> </li><li>full_page_writes <a href="https://www.postgresql.org/docs/current/runtime-config-wal.html#GUC-FULL-PAGE-WRITES">https://www.postgresql.org/docs/current/runtime-config-wal.html#GUC-FULL-PAGE-WRITES</a> </li><li>TRUNCATE <a href="https://www.postgresql.org/docs/current/sql-truncate.html">https://www.postgresql.org/docs/current/sql-truncate.html</a> </li><li>Our episode on partitioning <a href="https://postgres.fm/episodes/partitioning">https://postgres.fm/episodes/partitioning</a> </li><li>Our episode on bloat <a href="https://postgres.fm/episodes/bloat">https://postgres.fm/episodes/bloat</a> </li><li>Our episode on index maintenance <a href="https://postgres.fm/episodes/index-maintenance">https://postgres.fm/episodes/index-maintenance</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss doing massive DELETE operations in Postgres — what can go wrong, how to prevent major issues, and some ideas to minimise their impact.<br> <br>Here are some links to things they mentioned:</p><ul><li>Article based on Nikolay’s talk, including batching implementation (translated to English) <a href="https://habr-com.translate.goog/en/articles/523536/?_x_tr_sl=ru&amp;_x_tr_tl=en&amp;_x_tr_hist=true">https://habr-com.translate.goog/en/articles/523536/?_x_tr_sl=ru&amp;_x_tr_tl=en&amp;_x_tr_hist=true</a> </li><li>Our episode on WAL and checkpoint tuning <a href="https://postgres.fm/episodes/wal-and-checkpoint-tuning">https://postgres.fm/episodes/wal-and-checkpoint-tuning</a></li><li>Egor Rogov’s book on Postgres Internals (chapter 10 on WAL) <a href="https://edu.postgrespro.com/postgresql_internals-14_en.pdf">https://edu.postgrespro.com/postgresql_internals-14_en.pdf</a> </li><li>full_page_writes <a href="https://www.postgresql.org/docs/current/runtime-config-wal.html#GUC-FULL-PAGE-WRITES">https://www.postgresql.org/docs/current/runtime-config-wal.html#GUC-FULL-PAGE-WRITES</a> </li><li>TRUNCATE <a href="https://www.postgresql.org/docs/current/sql-truncate.html">https://www.postgresql.org/docs/current/sql-truncate.html</a> </li><li>Our episode on partitioning <a href="https://postgres.fm/episodes/partitioning">https://postgres.fm/episodes/partitioning</a> </li><li>Our episode on bloat <a href="https://postgres.fm/episodes/bloat">https://postgres.fm/episodes/bloat</a> </li><li>Our episode on index maintenance <a href="https://postgres.fm/episodes/index-maintenance">https://postgres.fm/episodes/index-maintenance</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 19 Apr 2024 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/94535ab0/58ab5fcb.mp3" length="42708525" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2668</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss doing massive DELETE operations in Postgres — what can go wrong, how to prevent major issues, and some ideas to minimise their impact.<br> <br>Here are some links to things they mentioned:</p><ul><li>Article based on Nikolay’s talk, including batching implementation (translated to English) <a href="https://habr-com.translate.goog/en/articles/523536/?_x_tr_sl=ru&amp;_x_tr_tl=en&amp;_x_tr_hist=true">https://habr-com.translate.goog/en/articles/523536/?_x_tr_sl=ru&amp;_x_tr_tl=en&amp;_x_tr_hist=true</a> </li><li>Our episode on WAL and checkpoint tuning <a href="https://postgres.fm/episodes/wal-and-checkpoint-tuning">https://postgres.fm/episodes/wal-and-checkpoint-tuning</a></li><li>Egor Rogov’s book on Postgres Internals (chapter 10 on WAL) <a href="https://edu.postgrespro.com/postgresql_internals-14_en.pdf">https://edu.postgrespro.com/postgresql_internals-14_en.pdf</a> </li><li>full_page_writes <a href="https://www.postgresql.org/docs/current/runtime-config-wal.html#GUC-FULL-PAGE-WRITES">https://www.postgresql.org/docs/current/runtime-config-wal.html#GUC-FULL-PAGE-WRITES</a> </li><li>TRUNCATE <a href="https://www.postgresql.org/docs/current/sql-truncate.html">https://www.postgresql.org/docs/current/sql-truncate.html</a> </li><li>Our episode on partitioning <a href="https://postgres.fm/episodes/partitioning">https://postgres.fm/episodes/partitioning</a> </li><li>Our episode on bloat <a href="https://postgres.fm/episodes/bloat">https://postgres.fm/episodes/bloat</a> </li><li>Our episode on index maintenance <a href="https://postgres.fm/episodes/index-maintenance">https://postgres.fm/episodes/index-maintenance</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/94535ab0/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Logical replication common issues</title>
      <itunes:episode>92</itunes:episode>
      <podcast:episode>92</podcast:episode>
      <itunes:title>Logical replication common issues</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">ff296ba4-1c4b-434e-9947-c53290b64ee7</guid>
      <link>https://share.transistor.fm/s/8425f2b6</link>
      <description>
        <![CDATA[<p>Nikolay and Michael are joined by Sai Srirampur, CEO and Co-founder of PeerDB, to discuss how to overcome several logical replication issues. They discuss the protocol versions, minimising slot growth, minimising lag, and some tips and tricks for scaling things well.<br> <br>Here are some links to things they mentioned:</p><ul><li>PeerDB <a href="https://www.peerdb.io/">https://www.peerdb.io/</a></li><li>Our episode on logical replication <a href="https://postgres.fm/episodes/logical-replication">https://postgres.fm/episodes/logical-replication</a></li><li>Exploring versions of the Postgres logical replication protocol (blog post by Sai) <a href="https://blog.peerdb.io/exploring-versions-of-the-postgres-logical-replication-protocol">https://blog.peerdb.io/exploring-versions-of-the-postgres-logical-replication-protocol</a> </li><li>Logical Streaming Replication Protocol <a href="https://www.postgresql.org/docs/current/protocol-logical-replication.html">https://www.postgresql.org/docs/current/protocol-logical-replication.html</a></li><li>REPLICA IDENTITY FULL <a href="https://www.postgresql.org/docs/current/sql-altertable.html#SQL-ALTERTABLE-REPLICA-IDENTITY">https://www.postgresql.org/docs/current/sql-altertable.html#SQL-ALTERTABLE-REPLICA-IDENTITY</a></li><li>On the performance impact of REPLICA IDENTITY FULL in Postgres (blog post by Xata) <a href="https://xata.io/blog/replica-identity-full-performance">https://xata.io/blog/replica-identity-full-performance</a> </li><li>max_slot_wal_keep_size <a href="https://www.postgresql.org/docs/current/runtime-config-replication.html#GUC-MAX-SLOT-WAL-KEEP-SIZE">https://www.postgresql.org/docs/current/runtime-config-replication.html#GUC-MAX-SLOT-WAL-KEEP-SIZE</a> </li><li>Active Active in Postgres 16 (blog post by Crunchy Data) <a href="https://www.crunchydata.com/blog/active-active-postgres-16">https://www.crunchydata.com/blog/active-active-postgres-16</a> </li><li>pgEdge <a href="https://www.pgedge.com/">https://www.pgedge.com/</a></li><li>DistSQL (term used by Mark Callaghan) <a href="https://smalldatum.blogspot.com/2023/07/keeping-up-with-sql-dbms-market.html">https://smalldatum.blogspot.com/2023/07/keeping-up-with-sql-dbms-market.html</a> </li><li>Five tips on Postgres logical decoding (blog post by Sai) <a href="https://blog.peerdb.io/five-tips-on-postgres-logical-decoding">https://blog.peerdb.io/five-tips-on-postgres-logical-decoding</a></li><li>PG Slot Notify: Monitor Postgres Slot Growth in Slack (blog post by PeerDB) <a href="https://blog.peerdb.io/pg-slot-notify-monitor-postgres-slot-growth-in-slack">https://blog.peerdb.io/pg-slot-notify-monitor-postgres-slot-growth-in-slack</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael are joined by Sai Srirampur, CEO and Co-founder of PeerDB, to discuss how to overcome several logical replication issues. They discuss the protocol versions, minimising slot growth, minimising lag, and some tips and tricks for scaling things well.<br> <br>Here are some links to things they mentioned:</p><ul><li>PeerDB <a href="https://www.peerdb.io/">https://www.peerdb.io/</a></li><li>Our episode on logical replication <a href="https://postgres.fm/episodes/logical-replication">https://postgres.fm/episodes/logical-replication</a></li><li>Exploring versions of the Postgres logical replication protocol (blog post by Sai) <a href="https://blog.peerdb.io/exploring-versions-of-the-postgres-logical-replication-protocol">https://blog.peerdb.io/exploring-versions-of-the-postgres-logical-replication-protocol</a> </li><li>Logical Streaming Replication Protocol <a href="https://www.postgresql.org/docs/current/protocol-logical-replication.html">https://www.postgresql.org/docs/current/protocol-logical-replication.html</a></li><li>REPLICA IDENTITY FULL <a href="https://www.postgresql.org/docs/current/sql-altertable.html#SQL-ALTERTABLE-REPLICA-IDENTITY">https://www.postgresql.org/docs/current/sql-altertable.html#SQL-ALTERTABLE-REPLICA-IDENTITY</a></li><li>On the performance impact of REPLICA IDENTITY FULL in Postgres (blog post by Xata) <a href="https://xata.io/blog/replica-identity-full-performance">https://xata.io/blog/replica-identity-full-performance</a> </li><li>max_slot_wal_keep_size <a href="https://www.postgresql.org/docs/current/runtime-config-replication.html#GUC-MAX-SLOT-WAL-KEEP-SIZE">https://www.postgresql.org/docs/current/runtime-config-replication.html#GUC-MAX-SLOT-WAL-KEEP-SIZE</a> </li><li>Active Active in Postgres 16 (blog post by Crunchy Data) <a href="https://www.crunchydata.com/blog/active-active-postgres-16">https://www.crunchydata.com/blog/active-active-postgres-16</a> </li><li>pgEdge <a href="https://www.pgedge.com/">https://www.pgedge.com/</a></li><li>DistSQL (term used by Mark Callaghan) <a href="https://smalldatum.blogspot.com/2023/07/keeping-up-with-sql-dbms-market.html">https://smalldatum.blogspot.com/2023/07/keeping-up-with-sql-dbms-market.html</a> </li><li>Five tips on Postgres logical decoding (blog post by Sai) <a href="https://blog.peerdb.io/five-tips-on-postgres-logical-decoding">https://blog.peerdb.io/five-tips-on-postgres-logical-decoding</a></li><li>PG Slot Notify: Monitor Postgres Slot Growth in Slack (blog post by PeerDB) <a href="https://blog.peerdb.io/pg-slot-notify-monitor-postgres-slot-growth-in-slack">https://blog.peerdb.io/pg-slot-notify-monitor-postgres-slot-growth-in-slack</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 12 Apr 2024 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/8425f2b6/6600d83b.mp3" length="36694128" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2292</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael are joined by Sai Srirampur, CEO and Co-founder of PeerDB, to discuss how to overcome several logical replication issues. They discuss the protocol versions, minimising slot growth, minimising lag, and some tips and tricks for scaling things well.<br> <br>Here are some links to things they mentioned:</p><ul><li>PeerDB <a href="https://www.peerdb.io/">https://www.peerdb.io/</a></li><li>Our episode on logical replication <a href="https://postgres.fm/episodes/logical-replication">https://postgres.fm/episodes/logical-replication</a></li><li>Exploring versions of the Postgres logical replication protocol (blog post by Sai) <a href="https://blog.peerdb.io/exploring-versions-of-the-postgres-logical-replication-protocol">https://blog.peerdb.io/exploring-versions-of-the-postgres-logical-replication-protocol</a> </li><li>Logical Streaming Replication Protocol <a href="https://www.postgresql.org/docs/current/protocol-logical-replication.html">https://www.postgresql.org/docs/current/protocol-logical-replication.html</a></li><li>REPLICA IDENTITY FULL <a href="https://www.postgresql.org/docs/current/sql-altertable.html#SQL-ALTERTABLE-REPLICA-IDENTITY">https://www.postgresql.org/docs/current/sql-altertable.html#SQL-ALTERTABLE-REPLICA-IDENTITY</a></li><li>On the performance impact of REPLICA IDENTITY FULL in Postgres (blog post by Xata) <a href="https://xata.io/blog/replica-identity-full-performance">https://xata.io/blog/replica-identity-full-performance</a> </li><li>max_slot_wal_keep_size <a href="https://www.postgresql.org/docs/current/runtime-config-replication.html#GUC-MAX-SLOT-WAL-KEEP-SIZE">https://www.postgresql.org/docs/current/runtime-config-replication.html#GUC-MAX-SLOT-WAL-KEEP-SIZE</a> </li><li>Active Active in Postgres 16 (blog post by Crunchy Data) <a href="https://www.crunchydata.com/blog/active-active-postgres-16">https://www.crunchydata.com/blog/active-active-postgres-16</a> </li><li>pgEdge <a href="https://www.pgedge.com/">https://www.pgedge.com/</a></li><li>DistSQL (term used by Mark Callaghan) <a href="https://smalldatum.blogspot.com/2023/07/keeping-up-with-sql-dbms-market.html">https://smalldatum.blogspot.com/2023/07/keeping-up-with-sql-dbms-market.html</a> </li><li>Five tips on Postgres logical decoding (blog post by Sai) <a href="https://blog.peerdb.io/five-tips-on-postgres-logical-decoding">https://blog.peerdb.io/five-tips-on-postgres-logical-decoding</a></li><li>PG Slot Notify: Monitor Postgres Slot Growth in Slack (blog post by PeerDB) <a href="https://blog.peerdb.io/pg-slot-notify-monitor-postgres-slot-growth-in-slack">https://blog.peerdb.io/pg-slot-notify-monitor-postgres-slot-growth-in-slack</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Guest" href="https://www.peerdb.io/" img="https://img.transistorcdn.com/_mKBcRQsVlxv_0tOikl1oFYHR9RAgJ1FRE2CxYc8hPM/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS83OGVk/ZjhlZDA2MjNmYzdl/MzE2YjM1MTUzNjZk/MmZmNi5qcGc.jpg">Sai Srirampur</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/8425f2b6/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Don't do this</title>
      <itunes:episode>91</itunes:episode>
      <podcast:episode>91</podcast:episode>
      <itunes:title>Don't do this</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">2b57c7af-7f20-4c25-b034-b3e978ea373e</guid>
      <link>https://share.transistor.fm/s/54407f86</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss several "Don't do this" lists about Postgres — picking out their favourite items, as well as some contentious ones that could be clearer, or not included.<br> <br>Here are some links to things they mentioned:</p><ul><li>Don’t do this (PostgreSQL wiki page) <a href="https://wiki.postgresql.org/wiki/Don't_Do_This">https://wiki.postgresql.org/wiki/Don't_Do_This</a></li><li>How to get into trouble using some Postgres features (how to by Nikolay) <a href="https://github.com/postgres-ai/postgres-howtos/blob/main/0016_how_to_get_into_trouble_using_some_postgres_features.md">https://github.com/postgres-ai/postgres-howtos/blob/main/0016_how_to_get_into_trouble_using_some_postgres_features.md</a></li><li>Don’t do this (jOOQ list) <a href="http://www.jooq.org/doc/3.19/manual/reference/dont-do-this">http://www.jooq.org/doc/3.19/manual/reference/dont-do-this</a></li><li>Don’t use NOT IN (jOOQ) <a href="https://www.jooq.org/doc/3.19/manual/reference/dont-do-this/dont-do-this-sql-not-in/">https://www.jooq.org/doc/3.19/manual/reference/dont-do-this/dont-do-this-sql-not-in/</a> </li><li>Our episode about NULLs <a href="https://postgres.fm/episodes/nulls-the-good-the-bad-the-ugly-and-the-unknown">https://postgres.fm/episodes/nulls-the-good-the-bad-the-ugly-and-the-unknown</a> </li><li>Our episode on timestamps <a href="https://postgres.fm/episodes/timestamps">https://postgres.fm/episodes/timestamps</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss several "Don't do this" lists about Postgres — picking out their favourite items, as well as some contentious ones that could be clearer, or not included.<br> <br>Here are some links to things they mentioned:</p><ul><li>Don’t do this (PostgreSQL wiki page) <a href="https://wiki.postgresql.org/wiki/Don't_Do_This">https://wiki.postgresql.org/wiki/Don't_Do_This</a></li><li>How to get into trouble using some Postgres features (how to by Nikolay) <a href="https://github.com/postgres-ai/postgres-howtos/blob/main/0016_how_to_get_into_trouble_using_some_postgres_features.md">https://github.com/postgres-ai/postgres-howtos/blob/main/0016_how_to_get_into_trouble_using_some_postgres_features.md</a></li><li>Don’t do this (jOOQ list) <a href="http://www.jooq.org/doc/3.19/manual/reference/dont-do-this">http://www.jooq.org/doc/3.19/manual/reference/dont-do-this</a></li><li>Don’t use NOT IN (jOOQ) <a href="https://www.jooq.org/doc/3.19/manual/reference/dont-do-this/dont-do-this-sql-not-in/">https://www.jooq.org/doc/3.19/manual/reference/dont-do-this/dont-do-this-sql-not-in/</a> </li><li>Our episode about NULLs <a href="https://postgres.fm/episodes/nulls-the-good-the-bad-the-ugly-and-the-unknown">https://postgres.fm/episodes/nulls-the-good-the-bad-the-ugly-and-the-unknown</a> </li><li>Our episode on timestamps <a href="https://postgres.fm/episodes/timestamps">https://postgres.fm/episodes/timestamps</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 05 Apr 2024 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/54407f86/dfc35c2f.mp3" length="42757840" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2671</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss several "Don't do this" lists about Postgres — picking out their favourite items, as well as some contentious ones that could be clearer, or not included.<br> <br>Here are some links to things they mentioned:</p><ul><li>Don’t do this (PostgreSQL wiki page) <a href="https://wiki.postgresql.org/wiki/Don't_Do_This">https://wiki.postgresql.org/wiki/Don't_Do_This</a></li><li>How to get into trouble using some Postgres features (how to by Nikolay) <a href="https://github.com/postgres-ai/postgres-howtos/blob/main/0016_how_to_get_into_trouble_using_some_postgres_features.md">https://github.com/postgres-ai/postgres-howtos/blob/main/0016_how_to_get_into_trouble_using_some_postgres_features.md</a></li><li>Don’t do this (jOOQ list) <a href="http://www.jooq.org/doc/3.19/manual/reference/dont-do-this">http://www.jooq.org/doc/3.19/manual/reference/dont-do-this</a></li><li>Don’t use NOT IN (jOOQ) <a href="https://www.jooq.org/doc/3.19/manual/reference/dont-do-this/dont-do-this-sql-not-in/">https://www.jooq.org/doc/3.19/manual/reference/dont-do-this/dont-do-this-sql-not-in/</a> </li><li>Our episode about NULLs <a href="https://postgres.fm/episodes/nulls-the-good-the-bad-the-ugly-and-the-unknown">https://postgres.fm/episodes/nulls-the-good-the-bad-the-ugly-and-the-unknown</a> </li><li>Our episode on timestamps <a href="https://postgres.fm/episodes/timestamps">https://postgres.fm/episodes/timestamps</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/54407f86/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Search</title>
      <itunes:episode>90</itunes:episode>
      <podcast:episode>90</podcast:episode>
      <itunes:title>Search</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">4090d97c-4150-4d75-8824-551c14f3ee48</guid>
      <link>https://share.transistor.fm/s/6fd58f1f</link>
      <description>
        <![CDATA[<p>Nikolay and Michael have a high-level discussion on all things search — touching on full-text search, semantic search, and faceted search. They discuss what comes in Postgres core, what is possible via extensions, and some thoughts on performance vs implementation complexity vs user experience.</p><p> <br>Here are some links to things they mentioned:</p><ul><li>Simon Riggs <a href="https://www.linkedin.com/feed/update/urn:li:activity:7178702287740022784/">https://www.linkedin.com/feed/update/urn:li:activity:7178702287740022784/</a></li><li>Companion databases episode <a href="https://postgres.fm/episodes/companion-databases">https://postgres.fm/episodes/companion-databases</a></li><li>pgvector episode <a href="https://postgres.fm/episodes/pgvector">https://postgres.fm/episodes/pgvector</a></li><li>Full Text Search <a href="https://www.postgresql.org/docs/current/textsearch.html">https://www.postgresql.org/docs/current/textsearch.html</a></li><li>Semantic search <a href="https://en.wikipedia.org/wiki/Semantic_search">https://en.wikipedia.org/wiki/Semantic_search</a></li><li>Faceted search <a href="https://en.wikipedia.org/wiki/Faceted_search">https://en.wikipedia.org/wiki/Faceted_search</a></li><li>Faceting large result sets in PostgreSQL <a href="https://www.cybertec-postgresql.com/en/faceting-large-result-sets/">https://www.cybertec-postgresql.com/en/faceting-large-result-sets/</a></li><li>RUM index <a href="https://github.com/postgrespro/rum">https://github.com/postgrespro/rum</a> </li><li>Hybrid search (Supabase guide) <a href="https://supabase.com/docs/guides/ai/hybrid-search">https://supabase.com/docs/guides/ai/hybrid-search</a> </li><li>Elastic <a href="https://www.elastic.co/">https://www.elastic.co/</a> </li><li>GiST indexes <a href="https://www.postgresql.org/docs/current/gist.html">https://www.postgresql.org/docs/current/gist.html</a> </li><li>GIN indexes <a href="https://www.postgresql.org/docs/current/gin.html">https://www.postgresql.org/docs/current/gin.html</a> </li><li>btree_gist <a href="https://www.postgresql.org/docs/current/btree-gist.html">https://www.postgresql.org/docs/current/btree-gist.html</a> </li><li>btree_gin <a href="https://www.postgresql.org/docs/current/btree-gin.html">https://www.postgresql.org/docs/current/btree-gin.html</a> </li><li>pg_trgrm <a href="https://www.postgresql.org/docs/current/pgtrgm.html">https://www.postgresql.org/docs/current/pgtrgm.html</a> </li><li>Text Search Types (tsvector and tsquery) <a href="https://www.postgresql.org/docs/current/datatype-textsearch.html">https://www.postgresql.org/docs/current/datatype-textsearch.html</a> </li><li>Postgres full text search with the “websearch” syntax (blog post by Adam Johnson) <a href="https://adamj.eu/tech/2024/01/03/postgresql-full-text-search-websearch/">https://adamj.eu/tech/2024/01/03/postgresql-full-text-search-websearch/</a></li><li>Understanding Postgres GIN Indexes: The Good and the Bad (blog post by Lukas Fittl) <a href="https://pganalyze.com/blog/gin-index">https://pganalyze.com/blog/gin-index</a> </li><li>ParadeDB <a href="https://www.paradedb.com/">https://www.paradedb.com/</a> </li><li>ZomboDB <a href="https://www.zombodb.com/">https://www.zombodb.com/</a> </li><li>Introduction to Information Retrieval (book by Manning, Raghavan, and Schütze) <a href="https://www.amazon.co.uk/Introduction-Information-Retrieval-Christopher-Manning/dp/0521865719">https://www.amazon.co.uk/Introduction-Information-Retrieval-Christopher-Manning/dp/0521865719</a> </li><li>How to build a search engine with Ruby on Rails (blog post by Justin Searls) <a href="https://blog.testdouble.com/posts/2021-09-09-how-to-build-a-search-engine-with-ruby-on-rails/">https://blog.testdouble.com/posts/2021-09-09-how-to-build-a-search-engine-with-ruby-on-rails/</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael have a high-level discussion on all things search — touching on full-text search, semantic search, and faceted search. They discuss what comes in Postgres core, what is possible via extensions, and some thoughts on performance vs implementation complexity vs user experience.</p><p> <br>Here are some links to things they mentioned:</p><ul><li>Simon Riggs <a href="https://www.linkedin.com/feed/update/urn:li:activity:7178702287740022784/">https://www.linkedin.com/feed/update/urn:li:activity:7178702287740022784/</a></li><li>Companion databases episode <a href="https://postgres.fm/episodes/companion-databases">https://postgres.fm/episodes/companion-databases</a></li><li>pgvector episode <a href="https://postgres.fm/episodes/pgvector">https://postgres.fm/episodes/pgvector</a></li><li>Full Text Search <a href="https://www.postgresql.org/docs/current/textsearch.html">https://www.postgresql.org/docs/current/textsearch.html</a></li><li>Semantic search <a href="https://en.wikipedia.org/wiki/Semantic_search">https://en.wikipedia.org/wiki/Semantic_search</a></li><li>Faceted search <a href="https://en.wikipedia.org/wiki/Faceted_search">https://en.wikipedia.org/wiki/Faceted_search</a></li><li>Faceting large result sets in PostgreSQL <a href="https://www.cybertec-postgresql.com/en/faceting-large-result-sets/">https://www.cybertec-postgresql.com/en/faceting-large-result-sets/</a></li><li>RUM index <a href="https://github.com/postgrespro/rum">https://github.com/postgrespro/rum</a> </li><li>Hybrid search (Supabase guide) <a href="https://supabase.com/docs/guides/ai/hybrid-search">https://supabase.com/docs/guides/ai/hybrid-search</a> </li><li>Elastic <a href="https://www.elastic.co/">https://www.elastic.co/</a> </li><li>GiST indexes <a href="https://www.postgresql.org/docs/current/gist.html">https://www.postgresql.org/docs/current/gist.html</a> </li><li>GIN indexes <a href="https://www.postgresql.org/docs/current/gin.html">https://www.postgresql.org/docs/current/gin.html</a> </li><li>btree_gist <a href="https://www.postgresql.org/docs/current/btree-gist.html">https://www.postgresql.org/docs/current/btree-gist.html</a> </li><li>btree_gin <a href="https://www.postgresql.org/docs/current/btree-gin.html">https://www.postgresql.org/docs/current/btree-gin.html</a> </li><li>pg_trgrm <a href="https://www.postgresql.org/docs/current/pgtrgm.html">https://www.postgresql.org/docs/current/pgtrgm.html</a> </li><li>Text Search Types (tsvector and tsquery) <a href="https://www.postgresql.org/docs/current/datatype-textsearch.html">https://www.postgresql.org/docs/current/datatype-textsearch.html</a> </li><li>Postgres full text search with the “websearch” syntax (blog post by Adam Johnson) <a href="https://adamj.eu/tech/2024/01/03/postgresql-full-text-search-websearch/">https://adamj.eu/tech/2024/01/03/postgresql-full-text-search-websearch/</a></li><li>Understanding Postgres GIN Indexes: The Good and the Bad (blog post by Lukas Fittl) <a href="https://pganalyze.com/blog/gin-index">https://pganalyze.com/blog/gin-index</a> </li><li>ParadeDB <a href="https://www.paradedb.com/">https://www.paradedb.com/</a> </li><li>ZomboDB <a href="https://www.zombodb.com/">https://www.zombodb.com/</a> </li><li>Introduction to Information Retrieval (book by Manning, Raghavan, and Schütze) <a href="https://www.amazon.co.uk/Introduction-Information-Retrieval-Christopher-Manning/dp/0521865719">https://www.amazon.co.uk/Introduction-Information-Retrieval-Christopher-Manning/dp/0521865719</a> </li><li>How to build a search engine with Ruby on Rails (blog post by Justin Searls) <a href="https://blog.testdouble.com/posts/2021-09-09-how-to-build-a-search-engine-with-ruby-on-rails/">https://blog.testdouble.com/posts/2021-09-09-how-to-build-a-search-engine-with-ruby-on-rails/</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 29 Mar 2024 14:00:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/6fd58f1f/8475848b.mp3" length="39915926" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2492</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael have a high-level discussion on all things search — touching on full-text search, semantic search, and faceted search. They discuss what comes in Postgres core, what is possible via extensions, and some thoughts on performance vs implementation complexity vs user experience.</p><p> <br>Here are some links to things they mentioned:</p><ul><li>Simon Riggs <a href="https://www.linkedin.com/feed/update/urn:li:activity:7178702287740022784/">https://www.linkedin.com/feed/update/urn:li:activity:7178702287740022784/</a></li><li>Companion databases episode <a href="https://postgres.fm/episodes/companion-databases">https://postgres.fm/episodes/companion-databases</a></li><li>pgvector episode <a href="https://postgres.fm/episodes/pgvector">https://postgres.fm/episodes/pgvector</a></li><li>Full Text Search <a href="https://www.postgresql.org/docs/current/textsearch.html">https://www.postgresql.org/docs/current/textsearch.html</a></li><li>Semantic search <a href="https://en.wikipedia.org/wiki/Semantic_search">https://en.wikipedia.org/wiki/Semantic_search</a></li><li>Faceted search <a href="https://en.wikipedia.org/wiki/Faceted_search">https://en.wikipedia.org/wiki/Faceted_search</a></li><li>Faceting large result sets in PostgreSQL <a href="https://www.cybertec-postgresql.com/en/faceting-large-result-sets/">https://www.cybertec-postgresql.com/en/faceting-large-result-sets/</a></li><li>RUM index <a href="https://github.com/postgrespro/rum">https://github.com/postgrespro/rum</a> </li><li>Hybrid search (Supabase guide) <a href="https://supabase.com/docs/guides/ai/hybrid-search">https://supabase.com/docs/guides/ai/hybrid-search</a> </li><li>Elastic <a href="https://www.elastic.co/">https://www.elastic.co/</a> </li><li>GiST indexes <a href="https://www.postgresql.org/docs/current/gist.html">https://www.postgresql.org/docs/current/gist.html</a> </li><li>GIN indexes <a href="https://www.postgresql.org/docs/current/gin.html">https://www.postgresql.org/docs/current/gin.html</a> </li><li>btree_gist <a href="https://www.postgresql.org/docs/current/btree-gist.html">https://www.postgresql.org/docs/current/btree-gist.html</a> </li><li>btree_gin <a href="https://www.postgresql.org/docs/current/btree-gin.html">https://www.postgresql.org/docs/current/btree-gin.html</a> </li><li>pg_trgrm <a href="https://www.postgresql.org/docs/current/pgtrgm.html">https://www.postgresql.org/docs/current/pgtrgm.html</a> </li><li>Text Search Types (tsvector and tsquery) <a href="https://www.postgresql.org/docs/current/datatype-textsearch.html">https://www.postgresql.org/docs/current/datatype-textsearch.html</a> </li><li>Postgres full text search with the “websearch” syntax (blog post by Adam Johnson) <a href="https://adamj.eu/tech/2024/01/03/postgresql-full-text-search-websearch/">https://adamj.eu/tech/2024/01/03/postgresql-full-text-search-websearch/</a></li><li>Understanding Postgres GIN Indexes: The Good and the Bad (blog post by Lukas Fittl) <a href="https://pganalyze.com/blog/gin-index">https://pganalyze.com/blog/gin-index</a> </li><li>ParadeDB <a href="https://www.paradedb.com/">https://www.paradedb.com/</a> </li><li>ZomboDB <a href="https://www.zombodb.com/">https://www.zombodb.com/</a> </li><li>Introduction to Information Retrieval (book by Manning, Raghavan, and Schütze) <a href="https://www.amazon.co.uk/Introduction-Information-Retrieval-Christopher-Manning/dp/0521865719">https://www.amazon.co.uk/Introduction-Information-Retrieval-Christopher-Manning/dp/0521865719</a> </li><li>How to build a search engine with Ruby on Rails (blog post by Justin Searls) <a href="https://blog.testdouble.com/posts/2021-09-09-how-to-build-a-search-engine-with-ruby-on-rails/">https://blog.testdouble.com/posts/2021-09-09-how-to-build-a-search-engine-with-ruby-on-rails/</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/6fd58f1f/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Health check</title>
      <itunes:episode>89</itunes:episode>
      <podcast:episode>89</podcast:episode>
      <itunes:title>Health check</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">082c539b-24f9-4e2f-8b73-984a859366fa</guid>
      <link>https://share.transistor.fm/s/96fb0590</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss Postgres health checks — what they are, things to include, how often makes sense, and whether improvements to Postgres would increase or decrease the need for them.<br> <br>Here are some links to things they mentioned:</p><ul><li>MOT (car test in the UK) <a href="https://en.wikipedia.org/wiki/MOT_test">https://en.wikipedia.org/wiki/MOT_test</a> </li><li>Let's make PostgreSQL multi-threaded (discussion started by Heikki) <a href="https://www.postgresql.org/message-id/flat/31cc6df9-53fe-3cd9-af5b-ac0d801163f4%40iki.fi">https://www.postgresql.org/message-id/flat/31cc6df9-53fe-3cd9-af5b-ac0d801163f4%40iki.fi</a> </li><li>postgres-checkup <a href="https://gitlab.com/postgres-ai/postgres-checkup">https://gitlab.com/postgres-ai/postgres-checkup</a> </li><li>Why upgrade <a href="https://why-upgrade.depesz.com/">https://why-upgrade.depesz.com/</a>  </li><li>Related episodes: <ul><li>Default configuration <a href="https://postgres.fm/episodes/default-configuration">https://postgres.fm/episodes/default-configuration</a></li><li>Index maintenance <a href="https://postgres.fm/episodes/index-maintenance">https://postgres.fm/episodes/index-maintenance</a></li><li>Bloat <a href="https://postgres.fm/episodes/bloat">https://postgres.fm/episodes/bloat</a></li><li>Monitoring checklist <a href="https://postgres.fm/episodes/monitoring-checklist">https://postgres.fm/episodes/monitoring-checklist</a></li><li>pg_stat_statements <a href="https://postgres.fm/episodes/pg_stat_statements">https://postgres.fm/episodes/pg_stat_statements</a></li><li>Backups <a href="https://postgres.fm/episodes/backups">https://postgres.fm/episodes/backups</a></li></ul></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss Postgres health checks — what they are, things to include, how often makes sense, and whether improvements to Postgres would increase or decrease the need for them.<br> <br>Here are some links to things they mentioned:</p><ul><li>MOT (car test in the UK) <a href="https://en.wikipedia.org/wiki/MOT_test">https://en.wikipedia.org/wiki/MOT_test</a> </li><li>Let's make PostgreSQL multi-threaded (discussion started by Heikki) <a href="https://www.postgresql.org/message-id/flat/31cc6df9-53fe-3cd9-af5b-ac0d801163f4%40iki.fi">https://www.postgresql.org/message-id/flat/31cc6df9-53fe-3cd9-af5b-ac0d801163f4%40iki.fi</a> </li><li>postgres-checkup <a href="https://gitlab.com/postgres-ai/postgres-checkup">https://gitlab.com/postgres-ai/postgres-checkup</a> </li><li>Why upgrade <a href="https://why-upgrade.depesz.com/">https://why-upgrade.depesz.com/</a>  </li><li>Related episodes: <ul><li>Default configuration <a href="https://postgres.fm/episodes/default-configuration">https://postgres.fm/episodes/default-configuration</a></li><li>Index maintenance <a href="https://postgres.fm/episodes/index-maintenance">https://postgres.fm/episodes/index-maintenance</a></li><li>Bloat <a href="https://postgres.fm/episodes/bloat">https://postgres.fm/episodes/bloat</a></li><li>Monitoring checklist <a href="https://postgres.fm/episodes/monitoring-checklist">https://postgres.fm/episodes/monitoring-checklist</a></li><li>pg_stat_statements <a href="https://postgres.fm/episodes/pg_stat_statements">https://postgres.fm/episodes/pg_stat_statements</a></li><li>Backups <a href="https://postgres.fm/episodes/backups">https://postgres.fm/episodes/backups</a></li></ul></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 22 Mar 2024 14:00:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/96fb0590/101cd1c6.mp3" length="39220872" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2449</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss Postgres health checks — what they are, things to include, how often makes sense, and whether improvements to Postgres would increase or decrease the need for them.<br> <br>Here are some links to things they mentioned:</p><ul><li>MOT (car test in the UK) <a href="https://en.wikipedia.org/wiki/MOT_test">https://en.wikipedia.org/wiki/MOT_test</a> </li><li>Let's make PostgreSQL multi-threaded (discussion started by Heikki) <a href="https://www.postgresql.org/message-id/flat/31cc6df9-53fe-3cd9-af5b-ac0d801163f4%40iki.fi">https://www.postgresql.org/message-id/flat/31cc6df9-53fe-3cd9-af5b-ac0d801163f4%40iki.fi</a> </li><li>postgres-checkup <a href="https://gitlab.com/postgres-ai/postgres-checkup">https://gitlab.com/postgres-ai/postgres-checkup</a> </li><li>Why upgrade <a href="https://why-upgrade.depesz.com/">https://why-upgrade.depesz.com/</a>  </li><li>Related episodes: <ul><li>Default configuration <a href="https://postgres.fm/episodes/default-configuration">https://postgres.fm/episodes/default-configuration</a></li><li>Index maintenance <a href="https://postgres.fm/episodes/index-maintenance">https://postgres.fm/episodes/index-maintenance</a></li><li>Bloat <a href="https://postgres.fm/episodes/bloat">https://postgres.fm/episodes/bloat</a></li><li>Monitoring checklist <a href="https://postgres.fm/episodes/monitoring-checklist">https://postgres.fm/episodes/monitoring-checklist</a></li><li>pg_stat_statements <a href="https://postgres.fm/episodes/pg_stat_statements">https://postgres.fm/episodes/pg_stat_statements</a></li><li>Backups <a href="https://postgres.fm/episodes/backups">https://postgres.fm/episodes/backups</a></li></ul></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/96fb0590/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>superuser</title>
      <itunes:episode>88</itunes:episode>
      <podcast:episode>88</podcast:episode>
      <itunes:title>superuser</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">da28b776-59a7-4188-b430-0f97b012ce45</guid>
      <link>https://share.transistor.fm/s/1ddc3e43</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss the superuser role in PostgreSQL — what it is, how and when it shouldn’t be used, and whether most cloud providers are right to not give us it (no prizes for guessing).<br> <br>Here are some links to things they mentioned:</p><ul><li>superuser (docs) <a href="https://www.postgresql.org/docs/current/role-attributes.html#id-1.6.9.6.2.1.2.1.1">https://www.postgresql.org/docs/current/role-attributes.html#id-1.6.9.6.2.1.2.1.1</a></li><li>Crunchy Data PostgreSQL Security Technical Implementation Guide (STIG) <a href="https://www.crunchydata.com/blog/crunchy-data-postgresql-security-technical-implementation-guide-now-available">https://www.crunchydata.com/blog/crunchy-data-postgresql-security-technical-implementation-guide-now-available</a></li><li>Supabase docs (unsupported operations) <a href="https://supabase.com/docs/guides/database/postgres/roles-superuser">https://supabase.com/docs/guides/database/postgres/roles-superuser</a></li><li>Crunchy Data docs <a href="https://docs.crunchybridge.com/concepts/users">https://docs.crunchybridge.com/concepts/users</a></li><li>RDS docs <a href="https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.PostgreSQL.CommonDBATasks.html">https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.PostgreSQL.CommonDBATasks.html</a></li><li>Cloud SQL docs <a href="https://cloud.google.com/sql/docs/postgres/users">https://cloud.google.com/sql/docs/postgres/users</a></li><li>Azure docs <a href="https://learn.microsoft.com/en-us/azure/postgresql/single-server/concepts-servers">https://learn.microsoft.com/en-us/azure/postgresql/single-server/concepts-servers</a></li><li>Roles, Privileges, and Security (talk by Ryan Booz) <a href="https://www.youtube.com/watch?v=mtPM3iZFE04">https://www.youtube.com/watch?v=mtPM3iZFE04</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss the superuser role in PostgreSQL — what it is, how and when it shouldn’t be used, and whether most cloud providers are right to not give us it (no prizes for guessing).<br> <br>Here are some links to things they mentioned:</p><ul><li>superuser (docs) <a href="https://www.postgresql.org/docs/current/role-attributes.html#id-1.6.9.6.2.1.2.1.1">https://www.postgresql.org/docs/current/role-attributes.html#id-1.6.9.6.2.1.2.1.1</a></li><li>Crunchy Data PostgreSQL Security Technical Implementation Guide (STIG) <a href="https://www.crunchydata.com/blog/crunchy-data-postgresql-security-technical-implementation-guide-now-available">https://www.crunchydata.com/blog/crunchy-data-postgresql-security-technical-implementation-guide-now-available</a></li><li>Supabase docs (unsupported operations) <a href="https://supabase.com/docs/guides/database/postgres/roles-superuser">https://supabase.com/docs/guides/database/postgres/roles-superuser</a></li><li>Crunchy Data docs <a href="https://docs.crunchybridge.com/concepts/users">https://docs.crunchybridge.com/concepts/users</a></li><li>RDS docs <a href="https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.PostgreSQL.CommonDBATasks.html">https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.PostgreSQL.CommonDBATasks.html</a></li><li>Cloud SQL docs <a href="https://cloud.google.com/sql/docs/postgres/users">https://cloud.google.com/sql/docs/postgres/users</a></li><li>Azure docs <a href="https://learn.microsoft.com/en-us/azure/postgresql/single-server/concepts-servers">https://learn.microsoft.com/en-us/azure/postgresql/single-server/concepts-servers</a></li><li>Roles, Privileges, and Security (talk by Ryan Booz) <a href="https://www.youtube.com/watch?v=mtPM3iZFE04">https://www.youtube.com/watch?v=mtPM3iZFE04</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 15 Mar 2024 14:00:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/1ddc3e43/d4af7552.mp3" length="29275845" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>1828</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss the superuser role in PostgreSQL — what it is, how and when it shouldn’t be used, and whether most cloud providers are right to not give us it (no prizes for guessing).<br> <br>Here are some links to things they mentioned:</p><ul><li>superuser (docs) <a href="https://www.postgresql.org/docs/current/role-attributes.html#id-1.6.9.6.2.1.2.1.1">https://www.postgresql.org/docs/current/role-attributes.html#id-1.6.9.6.2.1.2.1.1</a></li><li>Crunchy Data PostgreSQL Security Technical Implementation Guide (STIG) <a href="https://www.crunchydata.com/blog/crunchy-data-postgresql-security-technical-implementation-guide-now-available">https://www.crunchydata.com/blog/crunchy-data-postgresql-security-technical-implementation-guide-now-available</a></li><li>Supabase docs (unsupported operations) <a href="https://supabase.com/docs/guides/database/postgres/roles-superuser">https://supabase.com/docs/guides/database/postgres/roles-superuser</a></li><li>Crunchy Data docs <a href="https://docs.crunchybridge.com/concepts/users">https://docs.crunchybridge.com/concepts/users</a></li><li>RDS docs <a href="https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.PostgreSQL.CommonDBATasks.html">https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.PostgreSQL.CommonDBATasks.html</a></li><li>Cloud SQL docs <a href="https://cloud.google.com/sql/docs/postgres/users">https://cloud.google.com/sql/docs/postgres/users</a></li><li>Azure docs <a href="https://learn.microsoft.com/en-us/azure/postgresql/single-server/concepts-servers">https://learn.microsoft.com/en-us/azure/postgresql/single-server/concepts-servers</a></li><li>Roles, Privileges, and Security (talk by Ryan Booz) <a href="https://www.youtube.com/watch?v=mtPM3iZFE04">https://www.youtube.com/watch?v=mtPM3iZFE04</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/1ddc3e43/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>transaction_timeout</title>
      <itunes:episode>87</itunes:episode>
      <podcast:episode>87</podcast:episode>
      <itunes:title>transaction_timeout</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">305af42b-887a-4dd2-a3d9-c2983a856490</guid>
      <link>https://share.transistor.fm/s/97a0251c</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss transaction_timeout (a recently committed addition for Postgres 17) — what it's for, how to get around not having it already, and whether it will replace the need to set statement_timeout globally in future.<br> <br>Here are some links to things they mentioned:</p><ul><li>transaction_timeout (devel docs) <a href="https://www.postgresql.org/docs/devel/runtime-config-client.html#GUC-TRANSACTION-TIMEOUT">https://www.postgresql.org/docs/devel/runtime-config-client.html#GUC-TRANSACTION-TIMEOUT</a></li><li>Commit: <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=51efe38cb92f4b15b68811bcce9ab878fbc71ea5">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=51efe38cb92f4b15b68811bcce9ab878fbc71ea5</a> </li><li>Mailing list thread: <a href="https://www.postgresql.org/message-id/flat/CAAhFRxiQsRs2Eq5kCo9nXE3HTugsAAJdSQSmxncivebAxdmBjQ%40mail.gmail.com">https://www.postgresql.org/message-id/flat/CAAhFRxiQsRs2Eq5kCo9nXE3HTugsAAJdSQSmxncivebAxdmBjQ%40mail.gmail.com</a>  </li><li>Hacking Postgres session on Postgres TV where work started <a href="https://www.youtube.com/live/WLoMpg8A4WU?t=50">https://www.youtube.com/live/WLoMpg8A4WU?t=50</a> </li><li>Our first ever episode, on slow queries and slow transactions <a href="https://postgres.fm/episodes/slow-queries-and-slow-transactions">https://postgres.fm/episodes/slow-queries-and-slow-transactions</a> </li><li>statement_timeout (v7.3) <a href="https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-STATEMENT-TIMEOUT">https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-STATEMENT-TIMEOUT</a> </li><li>idle_in_transaction_session_timeout (v9.6) <a href="https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-IDLE-IN-TRANSACTION-SESSION-TIMEOUT">https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-IDLE-IN-TRANSACTION-SESSION-TIMEOUT</a> </li><li>idle_session_timeout (v14) <a href="https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-IDLE-SESSION-TIMEOUT">https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-IDLE-SESSION-TIMEOUT</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss transaction_timeout (a recently committed addition for Postgres 17) — what it's for, how to get around not having it already, and whether it will replace the need to set statement_timeout globally in future.<br> <br>Here are some links to things they mentioned:</p><ul><li>transaction_timeout (devel docs) <a href="https://www.postgresql.org/docs/devel/runtime-config-client.html#GUC-TRANSACTION-TIMEOUT">https://www.postgresql.org/docs/devel/runtime-config-client.html#GUC-TRANSACTION-TIMEOUT</a></li><li>Commit: <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=51efe38cb92f4b15b68811bcce9ab878fbc71ea5">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=51efe38cb92f4b15b68811bcce9ab878fbc71ea5</a> </li><li>Mailing list thread: <a href="https://www.postgresql.org/message-id/flat/CAAhFRxiQsRs2Eq5kCo9nXE3HTugsAAJdSQSmxncivebAxdmBjQ%40mail.gmail.com">https://www.postgresql.org/message-id/flat/CAAhFRxiQsRs2Eq5kCo9nXE3HTugsAAJdSQSmxncivebAxdmBjQ%40mail.gmail.com</a>  </li><li>Hacking Postgres session on Postgres TV where work started <a href="https://www.youtube.com/live/WLoMpg8A4WU?t=50">https://www.youtube.com/live/WLoMpg8A4WU?t=50</a> </li><li>Our first ever episode, on slow queries and slow transactions <a href="https://postgres.fm/episodes/slow-queries-and-slow-transactions">https://postgres.fm/episodes/slow-queries-and-slow-transactions</a> </li><li>statement_timeout (v7.3) <a href="https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-STATEMENT-TIMEOUT">https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-STATEMENT-TIMEOUT</a> </li><li>idle_in_transaction_session_timeout (v9.6) <a href="https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-IDLE-IN-TRANSACTION-SESSION-TIMEOUT">https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-IDLE-IN-TRANSACTION-SESSION-TIMEOUT</a> </li><li>idle_session_timeout (v14) <a href="https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-IDLE-SESSION-TIMEOUT">https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-IDLE-SESSION-TIMEOUT</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 08 Mar 2024 14:00:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/97a0251c/e2001ce8.mp3" length="25748707" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>1608</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss transaction_timeout (a recently committed addition for Postgres 17) — what it's for, how to get around not having it already, and whether it will replace the need to set statement_timeout globally in future.<br> <br>Here are some links to things they mentioned:</p><ul><li>transaction_timeout (devel docs) <a href="https://www.postgresql.org/docs/devel/runtime-config-client.html#GUC-TRANSACTION-TIMEOUT">https://www.postgresql.org/docs/devel/runtime-config-client.html#GUC-TRANSACTION-TIMEOUT</a></li><li>Commit: <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=51efe38cb92f4b15b68811bcce9ab878fbc71ea5">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=51efe38cb92f4b15b68811bcce9ab878fbc71ea5</a> </li><li>Mailing list thread: <a href="https://www.postgresql.org/message-id/flat/CAAhFRxiQsRs2Eq5kCo9nXE3HTugsAAJdSQSmxncivebAxdmBjQ%40mail.gmail.com">https://www.postgresql.org/message-id/flat/CAAhFRxiQsRs2Eq5kCo9nXE3HTugsAAJdSQSmxncivebAxdmBjQ%40mail.gmail.com</a>  </li><li>Hacking Postgres session on Postgres TV where work started <a href="https://www.youtube.com/live/WLoMpg8A4WU?t=50">https://www.youtube.com/live/WLoMpg8A4WU?t=50</a> </li><li>Our first ever episode, on slow queries and slow transactions <a href="https://postgres.fm/episodes/slow-queries-and-slow-transactions">https://postgres.fm/episodes/slow-queries-and-slow-transactions</a> </li><li>statement_timeout (v7.3) <a href="https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-STATEMENT-TIMEOUT">https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-STATEMENT-TIMEOUT</a> </li><li>idle_in_transaction_session_timeout (v9.6) <a href="https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-IDLE-IN-TRANSACTION-SESSION-TIMEOUT">https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-IDLE-IN-TRANSACTION-SESSION-TIMEOUT</a> </li><li>idle_session_timeout (v14) <a href="https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-IDLE-SESSION-TIMEOUT">https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-IDLE-SESSION-TIMEOUT</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/97a0251c/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Rails + Postgres</title>
      <itunes:episode>86</itunes:episode>
      <podcast:episode>86</podcast:episode>
      <itunes:title>Rails + Postgres</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">d80010f6-90d1-48ee-baff-0ca45a78f50e</guid>
      <link>https://share.transistor.fm/s/b2f99c89</link>
      <description>
        <![CDATA[<p>Michael and Nikolay are joined by Andrew Atkinson, author of High Performance PostgreSQL for Rails, to discuss how Rails and Postgres work together — where the limits are, how people use the ORM, things that are improving, and some things we can do as a Postgres community to make it even better.<br> <br>Here are some links to things they mentioned:</p><ul><li>Planet Argon survey <a href="https://rails-hosting.com/2022/#databases">https://rails-hosting.com/2022/#databases</a></li><li>Active Record <a href="https://guides.rubyonrails.org/active_record_basics.html">https://guides.rubyonrails.org/active_record_basics.html</a></li><li>PostgreSQL specific usage of Active Record <a href="https://guides.rubyonrails.org/active_record_postgresql.html">https://guides.rubyonrails.org/active_record_postgresql.html</a></li><li>Multiple Databases with Active Record <a href="https://guides.rubyonrails.org/active_record_multiple_databases.html">https://guides.rubyonrails.org/active_record_multiple_databases.html</a></li><li>schema.rb vs structure.sql <a href="https://blog.appsignal.com/2020/01/15/the-pros-and-cons-of-using-structure-sql-in-your-ruby-on-rails-application.html">https://blog.appsignal.com/2020/01/15/the-pros-and-cons-of-using-structure-sql-in-your-ruby-on-rails-application.html</a></li><li>activerecord-clean-db-structure (Ruby gem by Lukas Fittl) <a href="https://github.com/lfittl/activerecord-clean-db-structure">https://github.com/lfittl/activerecord-clean-db-structure</a></li><li>GitLab’s migration_helpers.rb <a href="https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/database/migration_helpers.rb">https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/database/migration_helpers.rb</a></li><li>SQLite <a href="https://www.sqlite.org/">https://www.sqlite.org</a></li><li>PlanetScale’s foreign key support announcement video <a href="https://twitter.com/PlanetScale/status/1732070818958500083">https://twitter.com/PlanetScale/status/1732070818958500083</a></li><li>DoorDash Engineering Blog <a href="https://doordash.engineering/blog/">https://doordash.engineering/blog</a></li><li>rails-pg-extras <a href="https://github.com/pawurb/rails-pg-extras">https://github.com/pawurb/rails-pg-extras</a></li><li>Benoit Tigeot testing Peter Geoghegan improvement for large IN lists <a href="https://gist.github.com/benoittgt/ab72dc4cfedea2a0c6a5ee809d16e04d">https://gist.github.com/benoittgt/ab72dc4cfedea2a0c6a5ee809d16e04d</a></li><li>High Performance PostgreSQL for Rails (Andy’s book, 35% discount code “postgres.fm”) <a href="https://pragprog.com/titles/aapsql/high-performance-postgresql-for-rails">https://pragprog.com/titles/aapsql/high-performance-postgresql-for-rails</a></li><li>Andy’s blog and website <a href="https://andyatkinson.com/">https://andyatkinson.com</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the elephant artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Michael and Nikolay are joined by Andrew Atkinson, author of High Performance PostgreSQL for Rails, to discuss how Rails and Postgres work together — where the limits are, how people use the ORM, things that are improving, and some things we can do as a Postgres community to make it even better.<br> <br>Here are some links to things they mentioned:</p><ul><li>Planet Argon survey <a href="https://rails-hosting.com/2022/#databases">https://rails-hosting.com/2022/#databases</a></li><li>Active Record <a href="https://guides.rubyonrails.org/active_record_basics.html">https://guides.rubyonrails.org/active_record_basics.html</a></li><li>PostgreSQL specific usage of Active Record <a href="https://guides.rubyonrails.org/active_record_postgresql.html">https://guides.rubyonrails.org/active_record_postgresql.html</a></li><li>Multiple Databases with Active Record <a href="https://guides.rubyonrails.org/active_record_multiple_databases.html">https://guides.rubyonrails.org/active_record_multiple_databases.html</a></li><li>schema.rb vs structure.sql <a href="https://blog.appsignal.com/2020/01/15/the-pros-and-cons-of-using-structure-sql-in-your-ruby-on-rails-application.html">https://blog.appsignal.com/2020/01/15/the-pros-and-cons-of-using-structure-sql-in-your-ruby-on-rails-application.html</a></li><li>activerecord-clean-db-structure (Ruby gem by Lukas Fittl) <a href="https://github.com/lfittl/activerecord-clean-db-structure">https://github.com/lfittl/activerecord-clean-db-structure</a></li><li>GitLab’s migration_helpers.rb <a href="https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/database/migration_helpers.rb">https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/database/migration_helpers.rb</a></li><li>SQLite <a href="https://www.sqlite.org/">https://www.sqlite.org</a></li><li>PlanetScale’s foreign key support announcement video <a href="https://twitter.com/PlanetScale/status/1732070818958500083">https://twitter.com/PlanetScale/status/1732070818958500083</a></li><li>DoorDash Engineering Blog <a href="https://doordash.engineering/blog/">https://doordash.engineering/blog</a></li><li>rails-pg-extras <a href="https://github.com/pawurb/rails-pg-extras">https://github.com/pawurb/rails-pg-extras</a></li><li>Benoit Tigeot testing Peter Geoghegan improvement for large IN lists <a href="https://gist.github.com/benoittgt/ab72dc4cfedea2a0c6a5ee809d16e04d">https://gist.github.com/benoittgt/ab72dc4cfedea2a0c6a5ee809d16e04d</a></li><li>High Performance PostgreSQL for Rails (Andy’s book, 35% discount code “postgres.fm”) <a href="https://pragprog.com/titles/aapsql/high-performance-postgresql-for-rails">https://pragprog.com/titles/aapsql/high-performance-postgresql-for-rails</a></li><li>Andy’s blog and website <a href="https://andyatkinson.com/">https://andyatkinson.com</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the elephant artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 01 Mar 2024 14:00:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/b2f99c89/b4426913.mp3" length="43588871" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2723</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Michael and Nikolay are joined by Andrew Atkinson, author of High Performance PostgreSQL for Rails, to discuss how Rails and Postgres work together — where the limits are, how people use the ORM, things that are improving, and some things we can do as a Postgres community to make it even better.<br> <br>Here are some links to things they mentioned:</p><ul><li>Planet Argon survey <a href="https://rails-hosting.com/2022/#databases">https://rails-hosting.com/2022/#databases</a></li><li>Active Record <a href="https://guides.rubyonrails.org/active_record_basics.html">https://guides.rubyonrails.org/active_record_basics.html</a></li><li>PostgreSQL specific usage of Active Record <a href="https://guides.rubyonrails.org/active_record_postgresql.html">https://guides.rubyonrails.org/active_record_postgresql.html</a></li><li>Multiple Databases with Active Record <a href="https://guides.rubyonrails.org/active_record_multiple_databases.html">https://guides.rubyonrails.org/active_record_multiple_databases.html</a></li><li>schema.rb vs structure.sql <a href="https://blog.appsignal.com/2020/01/15/the-pros-and-cons-of-using-structure-sql-in-your-ruby-on-rails-application.html">https://blog.appsignal.com/2020/01/15/the-pros-and-cons-of-using-structure-sql-in-your-ruby-on-rails-application.html</a></li><li>activerecord-clean-db-structure (Ruby gem by Lukas Fittl) <a href="https://github.com/lfittl/activerecord-clean-db-structure">https://github.com/lfittl/activerecord-clean-db-structure</a></li><li>GitLab’s migration_helpers.rb <a href="https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/database/migration_helpers.rb">https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/database/migration_helpers.rb</a></li><li>SQLite <a href="https://www.sqlite.org/">https://www.sqlite.org</a></li><li>PlanetScale’s foreign key support announcement video <a href="https://twitter.com/PlanetScale/status/1732070818958500083">https://twitter.com/PlanetScale/status/1732070818958500083</a></li><li>DoorDash Engineering Blog <a href="https://doordash.engineering/blog/">https://doordash.engineering/blog</a></li><li>rails-pg-extras <a href="https://github.com/pawurb/rails-pg-extras">https://github.com/pawurb/rails-pg-extras</a></li><li>Benoit Tigeot testing Peter Geoghegan improvement for large IN lists <a href="https://gist.github.com/benoittgt/ab72dc4cfedea2a0c6a5ee809d16e04d">https://gist.github.com/benoittgt/ab72dc4cfedea2a0c6a5ee809d16e04d</a></li><li>High Performance PostgreSQL for Rails (Andy’s book, 35% discount code “postgres.fm”) <a href="https://pragprog.com/titles/aapsql/high-performance-postgresql-for-rails">https://pragprog.com/titles/aapsql/high-performance-postgresql-for-rails</a></li><li>Andy’s blog and website <a href="https://andyatkinson.com/">https://andyatkinson.com</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the elephant artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Guest" href="https://andyatkinson.com" img="https://img.transistorcdn.com/zceZVrCIIAZy_CxvV5dAJhM158nGqMm5Yqj-Syus__8/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vZDg2YjI4NzQt/YzZhNy00ZmNmLWEz/NmItOGEyY2FmM2Nj/OWEyLzE3MDkyMTgw/OTYtaW1hZ2UuanBn.jpg">Andrew Atkinson</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/b2f99c89/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Why isn't Postgres using my index?</title>
      <itunes:episode>85</itunes:episode>
      <podcast:episode>85</podcast:episode>
      <itunes:title>Why isn't Postgres using my index?</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">4d27260e-3df0-4248-b6d9-61a1c8f94b63</guid>
      <link>https://share.transistor.fm/s/8d88679b</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss a common question — why Postgres isn't using an index, and what you can do about it!<br> <br>Here are some links to things they mentioned:</p><ul><li>Why isn’t Postgres using my index? (blog post by Michael) <a href="https://www.pgmustard.com/blog/why-isnt-postgres-using-my-index">https://www.pgmustard.com/blog/why-isnt-postgres-using-my-index</a> </li><li>Why isn’t Postgres using my functional index? (Stack Exchange question from Brent Ozar) <a href="https://dba.stackexchange.com/questions/336019/why-isnt-postgres-using-my-functional-index">https://dba.stackexchange.com/questions/336019/why-isnt-postgres-using-my-functional-index</a>  </li><li>enable_seqscan (and similar parameters) <a href="https://www.postgresql.org/docs/current/runtime-config-query.html">https://www.postgresql.org/docs/current/runtime-config-query.html</a> </li><li>Crunchy Bridge changed random_page_cost to 1.1 <a href="https://docs.crunchybridge.com/changelog#postgres_random_page_cost_1_1">https://docs.crunchybridge.com/changelog#postgres_random_page_cost_1_1</a> </li><li>Make indexes invisible (trick from Haki Benita) <a href="https://hakibenita.com/sql-tricks-application-dba#make-indexes-invisible">https://hakibenita.com/sql-tricks-application-dba#make-indexes-invisible</a> </li><li>ANALYZE <a href="https://www.postgresql.org/docs/current/sql-analyze.html">https://www.postgresql.org/docs/current/sql-analyze.html</a></li><li>Statistics used by the planner <a href="https://www.postgresql.org/docs/current/planner-stats.html">https://www.postgresql.org/docs/current/planner-stats.html</a> </li><li>Our episode on query hints <a href="https://postgres.fm/episodes/query-hints">https://postgres.fm/episodes/query-hints</a> </li><li>transaction_timeout (commit for Postgres 17) <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=51efe38cb92f4b15b68811bcce9ab878fbc71ea5">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=51efe38cb92f4b15b68811bcce9ab878fbc71ea5</a> </li><li>What’s new in the Postgres 16 query planner / optimizer (blog post by David Rowley) <a href="https://www.citusdata.com/blog/2024/02/08/whats-new-in-postgres-16-query-planner-optimizer/">https://www.citusdata.com/blog/2024/02/08/whats-new-in-postgres-16-query-planner-optimizer/</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss a common question — why Postgres isn't using an index, and what you can do about it!<br> <br>Here are some links to things they mentioned:</p><ul><li>Why isn’t Postgres using my index? (blog post by Michael) <a href="https://www.pgmustard.com/blog/why-isnt-postgres-using-my-index">https://www.pgmustard.com/blog/why-isnt-postgres-using-my-index</a> </li><li>Why isn’t Postgres using my functional index? (Stack Exchange question from Brent Ozar) <a href="https://dba.stackexchange.com/questions/336019/why-isnt-postgres-using-my-functional-index">https://dba.stackexchange.com/questions/336019/why-isnt-postgres-using-my-functional-index</a>  </li><li>enable_seqscan (and similar parameters) <a href="https://www.postgresql.org/docs/current/runtime-config-query.html">https://www.postgresql.org/docs/current/runtime-config-query.html</a> </li><li>Crunchy Bridge changed random_page_cost to 1.1 <a href="https://docs.crunchybridge.com/changelog#postgres_random_page_cost_1_1">https://docs.crunchybridge.com/changelog#postgres_random_page_cost_1_1</a> </li><li>Make indexes invisible (trick from Haki Benita) <a href="https://hakibenita.com/sql-tricks-application-dba#make-indexes-invisible">https://hakibenita.com/sql-tricks-application-dba#make-indexes-invisible</a> </li><li>ANALYZE <a href="https://www.postgresql.org/docs/current/sql-analyze.html">https://www.postgresql.org/docs/current/sql-analyze.html</a></li><li>Statistics used by the planner <a href="https://www.postgresql.org/docs/current/planner-stats.html">https://www.postgresql.org/docs/current/planner-stats.html</a> </li><li>Our episode on query hints <a href="https://postgres.fm/episodes/query-hints">https://postgres.fm/episodes/query-hints</a> </li><li>transaction_timeout (commit for Postgres 17) <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=51efe38cb92f4b15b68811bcce9ab878fbc71ea5">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=51efe38cb92f4b15b68811bcce9ab878fbc71ea5</a> </li><li>What’s new in the Postgres 16 query planner / optimizer (blog post by David Rowley) <a href="https://www.citusdata.com/blog/2024/02/08/whats-new-in-postgres-16-query-planner-optimizer/">https://www.citusdata.com/blog/2024/02/08/whats-new-in-postgres-16-query-planner-optimizer/</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 23 Feb 2024 14:00:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/8d88679b/503dbd5f.mp3" length="34021403" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2125</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss a common question — why Postgres isn't using an index, and what you can do about it!<br> <br>Here are some links to things they mentioned:</p><ul><li>Why isn’t Postgres using my index? (blog post by Michael) <a href="https://www.pgmustard.com/blog/why-isnt-postgres-using-my-index">https://www.pgmustard.com/blog/why-isnt-postgres-using-my-index</a> </li><li>Why isn’t Postgres using my functional index? (Stack Exchange question from Brent Ozar) <a href="https://dba.stackexchange.com/questions/336019/why-isnt-postgres-using-my-functional-index">https://dba.stackexchange.com/questions/336019/why-isnt-postgres-using-my-functional-index</a>  </li><li>enable_seqscan (and similar parameters) <a href="https://www.postgresql.org/docs/current/runtime-config-query.html">https://www.postgresql.org/docs/current/runtime-config-query.html</a> </li><li>Crunchy Bridge changed random_page_cost to 1.1 <a href="https://docs.crunchybridge.com/changelog#postgres_random_page_cost_1_1">https://docs.crunchybridge.com/changelog#postgres_random_page_cost_1_1</a> </li><li>Make indexes invisible (trick from Haki Benita) <a href="https://hakibenita.com/sql-tricks-application-dba#make-indexes-invisible">https://hakibenita.com/sql-tricks-application-dba#make-indexes-invisible</a> </li><li>ANALYZE <a href="https://www.postgresql.org/docs/current/sql-analyze.html">https://www.postgresql.org/docs/current/sql-analyze.html</a></li><li>Statistics used by the planner <a href="https://www.postgresql.org/docs/current/planner-stats.html">https://www.postgresql.org/docs/current/planner-stats.html</a> </li><li>Our episode on query hints <a href="https://postgres.fm/episodes/query-hints">https://postgres.fm/episodes/query-hints</a> </li><li>transaction_timeout (commit for Postgres 17) <a href="https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=51efe38cb92f4b15b68811bcce9ab878fbc71ea5">https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=51efe38cb92f4b15b68811bcce9ab878fbc71ea5</a> </li><li>What’s new in the Postgres 16 query planner / optimizer (blog post by David Rowley) <a href="https://www.citusdata.com/blog/2024/02/08/whats-new-in-postgres-16-query-planner-optimizer/">https://www.citusdata.com/blog/2024/02/08/whats-new-in-postgres-16-query-planner-optimizer/</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/8d88679b/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Overhead of pg_stat_statements and pg_stat_kcache</title>
      <itunes:episode>84</itunes:episode>
      <podcast:episode>84</podcast:episode>
      <itunes:title>Overhead of pg_stat_statements and pg_stat_kcache</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">ea5d4fb7-3652-4851-a332-74937cfdb409</guid>
      <link>https://share.transistor.fm/s/6f175267</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss the overhead of pg_stat_statements and pg_stat_kcache — mostly focusing on some interesting things Nikolay found while stress-testing some large spot instances up to and beyond 2m TPS(!) <br> <br>Here are some links to things they mentioned:</p><ul><li>pg_stat_statements <a href="https://www.postgresql.org/docs/current/pgstatstatements.html">https://www.postgresql.org/docs/current/pgstatstatements.html</a></li><li>pg_stat_kcache <a href="https://github.com/powa-team/pg_stat_kcache">https://github.com/powa-team/pg_stat_kcache</a></li><li>pg_stat_statements overhead estimate in pganalyze FAQs <a href="https://pganalyze.com/faq">https://pganalyze.com/faq</a></li><li>What is the performance impact of pg_stat_statements? (DBA Stack Exchange answer with several links) <a href="https://dba.stackexchange.com/questions/303503/what-is-the-performance-impact-of-pg-stat-statements">https://dba.stackexchange.com/questions/303503/what-is-the-performance-impact-of-pg-stat-statements</a></li><li>Towards Millions TPS (blog post by Alexander Korotkov) <a href="https://akorotkov.github.io/blog/2016/05/09/scalability-towards-millions-tps">https://akorotkov.github.io/blog/2016/05/09/scalability-towards-millions-tps</a></li><li>Postgres.ai blog post with links to benchmarks <a href="https://postgres.ai/blog/20240127-postges-ai-bot">https://postgres.ai/blog/20240127-postges-ai-bot</a></li><li>postgresql_cluster <a href="https://github.com/vitabaks/postgresql_cluster">https://github.com/vitabaks/postgresql_cluster</a></li><li>pg_wait_sampling <a href="https://github.com/postgrespro/pg_wait_sampling">https://github.com/postgrespro/pg_wait_sampling</a></li><li>pg_stat_kcache issue, discussion, and fast resolution <a href="https://github.com/powa-team/pg_stat_kcache/issues/41">https://github.com/powa-team/pg_stat_kcache/issues/41</a> </li><li>log_statement_sample_rate <a href="https://postgresqlco.nf/doc/en/param/log_statement_sample_rate/">https://postgresqlco.nf/doc/en/param/log_statement_sample_rate/</a> </li><li>auto_explain.sample_rate <a href="https://www.postgresql.org/docs/current/auto-explain.html#id-1.11.7.14.5.3.13.1.3">https://www.postgresql.org/docs/current/auto-explain.html#id-1.11.7.14.5.3.13.1.3</a></li><li>pg_stat_statements performance penalty on Intel much higher than on AMD <a href="https://gitlab.com/postgres-ai/postgresql-consulting/tests-and-benchmarks/-/issues/52">https://gitlab.com/postgres-ai/postgresql-consulting/tests-and-benchmarks/-/issues/52</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss the overhead of pg_stat_statements and pg_stat_kcache — mostly focusing on some interesting things Nikolay found while stress-testing some large spot instances up to and beyond 2m TPS(!) <br> <br>Here are some links to things they mentioned:</p><ul><li>pg_stat_statements <a href="https://www.postgresql.org/docs/current/pgstatstatements.html">https://www.postgresql.org/docs/current/pgstatstatements.html</a></li><li>pg_stat_kcache <a href="https://github.com/powa-team/pg_stat_kcache">https://github.com/powa-team/pg_stat_kcache</a></li><li>pg_stat_statements overhead estimate in pganalyze FAQs <a href="https://pganalyze.com/faq">https://pganalyze.com/faq</a></li><li>What is the performance impact of pg_stat_statements? (DBA Stack Exchange answer with several links) <a href="https://dba.stackexchange.com/questions/303503/what-is-the-performance-impact-of-pg-stat-statements">https://dba.stackexchange.com/questions/303503/what-is-the-performance-impact-of-pg-stat-statements</a></li><li>Towards Millions TPS (blog post by Alexander Korotkov) <a href="https://akorotkov.github.io/blog/2016/05/09/scalability-towards-millions-tps">https://akorotkov.github.io/blog/2016/05/09/scalability-towards-millions-tps</a></li><li>Postgres.ai blog post with links to benchmarks <a href="https://postgres.ai/blog/20240127-postges-ai-bot">https://postgres.ai/blog/20240127-postges-ai-bot</a></li><li>postgresql_cluster <a href="https://github.com/vitabaks/postgresql_cluster">https://github.com/vitabaks/postgresql_cluster</a></li><li>pg_wait_sampling <a href="https://github.com/postgrespro/pg_wait_sampling">https://github.com/postgrespro/pg_wait_sampling</a></li><li>pg_stat_kcache issue, discussion, and fast resolution <a href="https://github.com/powa-team/pg_stat_kcache/issues/41">https://github.com/powa-team/pg_stat_kcache/issues/41</a> </li><li>log_statement_sample_rate <a href="https://postgresqlco.nf/doc/en/param/log_statement_sample_rate/">https://postgresqlco.nf/doc/en/param/log_statement_sample_rate/</a> </li><li>auto_explain.sample_rate <a href="https://www.postgresql.org/docs/current/auto-explain.html#id-1.11.7.14.5.3.13.1.3">https://www.postgresql.org/docs/current/auto-explain.html#id-1.11.7.14.5.3.13.1.3</a></li><li>pg_stat_statements performance penalty on Intel much higher than on AMD <a href="https://gitlab.com/postgres-ai/postgresql-consulting/tests-and-benchmarks/-/issues/52">https://gitlab.com/postgres-ai/postgresql-consulting/tests-and-benchmarks/-/issues/52</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 16 Feb 2024 14:00:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/6f175267/051eeb2e.mp3" length="32778423" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2047</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss the overhead of pg_stat_statements and pg_stat_kcache — mostly focusing on some interesting things Nikolay found while stress-testing some large spot instances up to and beyond 2m TPS(!) <br> <br>Here are some links to things they mentioned:</p><ul><li>pg_stat_statements <a href="https://www.postgresql.org/docs/current/pgstatstatements.html">https://www.postgresql.org/docs/current/pgstatstatements.html</a></li><li>pg_stat_kcache <a href="https://github.com/powa-team/pg_stat_kcache">https://github.com/powa-team/pg_stat_kcache</a></li><li>pg_stat_statements overhead estimate in pganalyze FAQs <a href="https://pganalyze.com/faq">https://pganalyze.com/faq</a></li><li>What is the performance impact of pg_stat_statements? (DBA Stack Exchange answer with several links) <a href="https://dba.stackexchange.com/questions/303503/what-is-the-performance-impact-of-pg-stat-statements">https://dba.stackexchange.com/questions/303503/what-is-the-performance-impact-of-pg-stat-statements</a></li><li>Towards Millions TPS (blog post by Alexander Korotkov) <a href="https://akorotkov.github.io/blog/2016/05/09/scalability-towards-millions-tps">https://akorotkov.github.io/blog/2016/05/09/scalability-towards-millions-tps</a></li><li>Postgres.ai blog post with links to benchmarks <a href="https://postgres.ai/blog/20240127-postges-ai-bot">https://postgres.ai/blog/20240127-postges-ai-bot</a></li><li>postgresql_cluster <a href="https://github.com/vitabaks/postgresql_cluster">https://github.com/vitabaks/postgresql_cluster</a></li><li>pg_wait_sampling <a href="https://github.com/postgrespro/pg_wait_sampling">https://github.com/postgrespro/pg_wait_sampling</a></li><li>pg_stat_kcache issue, discussion, and fast resolution <a href="https://github.com/powa-team/pg_stat_kcache/issues/41">https://github.com/powa-team/pg_stat_kcache/issues/41</a> </li><li>log_statement_sample_rate <a href="https://postgresqlco.nf/doc/en/param/log_statement_sample_rate/">https://postgresqlco.nf/doc/en/param/log_statement_sample_rate/</a> </li><li>auto_explain.sample_rate <a href="https://www.postgresql.org/docs/current/auto-explain.html#id-1.11.7.14.5.3.13.1.3">https://www.postgresql.org/docs/current/auto-explain.html#id-1.11.7.14.5.3.13.1.3</a></li><li>pg_stat_statements performance penalty on Intel much higher than on AMD <a href="https://gitlab.com/postgres-ai/postgresql-consulting/tests-and-benchmarks/-/issues/52">https://gitlab.com/postgres-ai/postgresql-consulting/tests-and-benchmarks/-/issues/52</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/6f175267/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Modern SQL</title>
      <itunes:episode>83</itunes:episode>
      <podcast:episode>83</podcast:episode>
      <itunes:title>Modern SQL</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">93333f8b-01f5-42f8-a7f9-f3939eb9fe76</guid>
      <link>https://share.transistor.fm/s/b426eed3</link>
      <description>
        <![CDATA[<p>Michael is joined by Markus Winand, creator of use-the-index-luke.com and modern-sql.com, and author of SQL Performance Explained, to discuss Modern SQL — what Markus means by it, why it's important, some benefits, some examples, and at least one phrase that should be on a t-shirt.<br> <br>Here are some links to things they mentioned:</p><ul><li>Modern SQL (site) <a href="https://modern-sql.com">https://modern-sql.com</a></li><li>Use the index, Luke! (site) <a href="https://use-the-index-luke.com">https://use-the-index-luke.com</a></li><li>SQL Performance Explained (book) <a href="https://sql-performance-explained.com">https://sql-performance-explained.com</a></li><li>Our episode on NULLs <a href="https://postgres.fm/episodes/nulls-the-good-the-bad-the-ugly-and-the-unknown">https://postgres.fm/episodes/nulls-the-good-the-bad-the-ugly-and-the-unknown</a></li><li>IS DISTINCT FROM (null-safe not equals comparison) <a href="https://modern-sql.com/caniuse/is-distinct-from">https://modern-sql.com/caniuse/is-distinct-from</a></li><li>UNIQUE NULLS DISTINCT <a href="https://modern-sql.com/caniuse/unique-nulls-distinct">https://modern-sql.com/caniuse/unique-nulls-distinct</a></li><li>Modernes SQL ist mehr als SELECT * FROM (a German language podcast Markus was on recently) <a href="https://engineeringkiosk.dev/podcast/episode/99-modernes-sql-ist-mehr-als-select-from-mit-markus-winand">https://engineeringkiosk.dev/podcast/episode/99-modernes-sql-ist-mehr-als-select-from-mit-markus-winand</a></li><li>Markus’ website <a href="https://winand.at">https://winand.at</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the elephant artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Michael is joined by Markus Winand, creator of use-the-index-luke.com and modern-sql.com, and author of SQL Performance Explained, to discuss Modern SQL — what Markus means by it, why it's important, some benefits, some examples, and at least one phrase that should be on a t-shirt.<br> <br>Here are some links to things they mentioned:</p><ul><li>Modern SQL (site) <a href="https://modern-sql.com">https://modern-sql.com</a></li><li>Use the index, Luke! (site) <a href="https://use-the-index-luke.com">https://use-the-index-luke.com</a></li><li>SQL Performance Explained (book) <a href="https://sql-performance-explained.com">https://sql-performance-explained.com</a></li><li>Our episode on NULLs <a href="https://postgres.fm/episodes/nulls-the-good-the-bad-the-ugly-and-the-unknown">https://postgres.fm/episodes/nulls-the-good-the-bad-the-ugly-and-the-unknown</a></li><li>IS DISTINCT FROM (null-safe not equals comparison) <a href="https://modern-sql.com/caniuse/is-distinct-from">https://modern-sql.com/caniuse/is-distinct-from</a></li><li>UNIQUE NULLS DISTINCT <a href="https://modern-sql.com/caniuse/unique-nulls-distinct">https://modern-sql.com/caniuse/unique-nulls-distinct</a></li><li>Modernes SQL ist mehr als SELECT * FROM (a German language podcast Markus was on recently) <a href="https://engineeringkiosk.dev/podcast/episode/99-modernes-sql-ist-mehr-als-select-from-mit-markus-winand">https://engineeringkiosk.dev/podcast/episode/99-modernes-sql-ist-mehr-als-select-from-mit-markus-winand</a></li><li>Markus’ website <a href="https://winand.at">https://winand.at</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the elephant artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 02 Feb 2024 14:00:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/b426eed3/3b48b930.mp3" length="30888333" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>1929</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Michael is joined by Markus Winand, creator of use-the-index-luke.com and modern-sql.com, and author of SQL Performance Explained, to discuss Modern SQL — what Markus means by it, why it's important, some benefits, some examples, and at least one phrase that should be on a t-shirt.<br> <br>Here are some links to things they mentioned:</p><ul><li>Modern SQL (site) <a href="https://modern-sql.com">https://modern-sql.com</a></li><li>Use the index, Luke! (site) <a href="https://use-the-index-luke.com">https://use-the-index-luke.com</a></li><li>SQL Performance Explained (book) <a href="https://sql-performance-explained.com">https://sql-performance-explained.com</a></li><li>Our episode on NULLs <a href="https://postgres.fm/episodes/nulls-the-good-the-bad-the-ugly-and-the-unknown">https://postgres.fm/episodes/nulls-the-good-the-bad-the-ugly-and-the-unknown</a></li><li>IS DISTINCT FROM (null-safe not equals comparison) <a href="https://modern-sql.com/caniuse/is-distinct-from">https://modern-sql.com/caniuse/is-distinct-from</a></li><li>UNIQUE NULLS DISTINCT <a href="https://modern-sql.com/caniuse/unique-nulls-distinct">https://modern-sql.com/caniuse/unique-nulls-distinct</a></li><li>Modernes SQL ist mehr als SELECT * FROM (a German language podcast Markus was on recently) <a href="https://engineeringkiosk.dev/podcast/episode/99-modernes-sql-ist-mehr-als-select-from-mit-markus-winand">https://engineeringkiosk.dev/podcast/episode/99-modernes-sql-ist-mehr-als-select-from-mit-markus-winand</a></li><li>Markus’ website <a href="https://winand.at">https://winand.at</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the elephant artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Guest" href="http://winand.at/" img="https://img.transistorcdn.com/m5riy9h2K_ljbNPYIjJDCeZ5s13Q-utPucf1hudFlRc/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vYWNiMDhjMzUt/Yjg1Yi00NjNjLTll/OWQtM2IzNjExNGMw/ZDQyLzE3MDY1NDU0/MjItaW1hZ2UuanBn.jpg">Markus Winand</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/b426eed3/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Bloat</title>
      <itunes:episode>82</itunes:episode>
      <podcast:episode>82</podcast:episode>
      <itunes:title>Bloat</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">aa5e7d01-9aa6-4cca-b5bb-c4f4aa54a39c</guid>
      <link>https://share.transistor.fm/s/5bd92bae</link>
      <description>
        <![CDATA[<p>Michael is joined by Chelsea Dole, Staff Software Engineer and Tech Lead of the Data Storage Team at <a href="https://www.brex.com/">Brex</a>, to discuss bloat. They cover what it is, why it's a problem, strategies for minimising it, and the options when it's really bad.<br> <br>Here are some links to things they mentioned:</p><ul><li>Managing your tuple graveyard (talk by Chelsea) <a href="https://www.youtube.com/watch?v=gAgbzvGT6ck">https://www.youtube.com/watch?v=gAgbzvGT6ck</a></li><li>pgstattuple <a href="https://www.postgresql.org/docs/current/pgstattuple.html">https://www.postgresql.org/docs/current/pgstattuple.html</a> </li><li>pg_class <a href="https://www.postgresql.org/docs/current/catalog-pg-class.html">https://www.postgresql.org/docs/current/catalog-pg-class.html</a> </li><li>Bloat in PostgreSQL: a taxonomy (talk by Peter Geoghegan) <a href="https://youtube.com/watch?v=JDG4bMHxCH8">https://youtube.com/watch?v=JDG4bMHxCH8</a> </li><li>It's Not You, It's Me: Breaking Up with Massive Tables via Partitioning (talk by Chelsea) <a href="https://youtube.com/watch?v=TafwSuLNxe8">https://youtube.com/watch?v=TafwSuLNxe8</a> </li><li>pg_repack <a href="https://github.com/reorg/pg_repack">https://github.com/reorg/pg_repack</a></li><li>pg_squeeze <a href="https://github.com/cybertec-postgresql/pg_squeeze">https://github.com/cybertec-postgresql/pg_squeeze</a> </li><li>VACUUM <a href="https://www.postgresql.org/docs/current/sql-vacuum.html">https://www.postgresql.org/docs/current/sql-vacuum.html</a></li><li>autovacuum <a href="https://www.postgresql.org/docs/current/runtime-config-autovacuum.html">https://www.postgresql.org/docs/current/runtime-config-autovacuum.html</a> </li><li>CLUSTER <a href="https://www.postgresql.org/docs/current/sql-cluster.html">https://www.postgresql.org/docs/current/sql-cluster.html</a> </li><li>HOT updates <a href="https://www.postgresql.org/docs/current/storage-hot.html">https://www.postgresql.org/docs/current/storage-hot.html</a> </li><li>Our episode on BUFFERS <a href="https://postgres.fm/episodes/buffers-by-default">https://postgres.fm/episodes/buffers-by-default</a> </li><li>Our episode on TOAST <a href="https://postgres.fm/episodes/toast">https://postgres.fm/episodes/toast</a> </li><li>Our episode on index maintenance <a href="https://postgres.fm/episodes/index-maintenance">https://postgres.fm/episodes/index-maintenance</a> </li><li>Chelsea's website: <a href="https://chelseadole.com/">https://chelseadole.com/</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Michael is joined by Chelsea Dole, Staff Software Engineer and Tech Lead of the Data Storage Team at <a href="https://www.brex.com/">Brex</a>, to discuss bloat. They cover what it is, why it's a problem, strategies for minimising it, and the options when it's really bad.<br> <br>Here are some links to things they mentioned:</p><ul><li>Managing your tuple graveyard (talk by Chelsea) <a href="https://www.youtube.com/watch?v=gAgbzvGT6ck">https://www.youtube.com/watch?v=gAgbzvGT6ck</a></li><li>pgstattuple <a href="https://www.postgresql.org/docs/current/pgstattuple.html">https://www.postgresql.org/docs/current/pgstattuple.html</a> </li><li>pg_class <a href="https://www.postgresql.org/docs/current/catalog-pg-class.html">https://www.postgresql.org/docs/current/catalog-pg-class.html</a> </li><li>Bloat in PostgreSQL: a taxonomy (talk by Peter Geoghegan) <a href="https://youtube.com/watch?v=JDG4bMHxCH8">https://youtube.com/watch?v=JDG4bMHxCH8</a> </li><li>It's Not You, It's Me: Breaking Up with Massive Tables via Partitioning (talk by Chelsea) <a href="https://youtube.com/watch?v=TafwSuLNxe8">https://youtube.com/watch?v=TafwSuLNxe8</a> </li><li>pg_repack <a href="https://github.com/reorg/pg_repack">https://github.com/reorg/pg_repack</a></li><li>pg_squeeze <a href="https://github.com/cybertec-postgresql/pg_squeeze">https://github.com/cybertec-postgresql/pg_squeeze</a> </li><li>VACUUM <a href="https://www.postgresql.org/docs/current/sql-vacuum.html">https://www.postgresql.org/docs/current/sql-vacuum.html</a></li><li>autovacuum <a href="https://www.postgresql.org/docs/current/runtime-config-autovacuum.html">https://www.postgresql.org/docs/current/runtime-config-autovacuum.html</a> </li><li>CLUSTER <a href="https://www.postgresql.org/docs/current/sql-cluster.html">https://www.postgresql.org/docs/current/sql-cluster.html</a> </li><li>HOT updates <a href="https://www.postgresql.org/docs/current/storage-hot.html">https://www.postgresql.org/docs/current/storage-hot.html</a> </li><li>Our episode on BUFFERS <a href="https://postgres.fm/episodes/buffers-by-default">https://postgres.fm/episodes/buffers-by-default</a> </li><li>Our episode on TOAST <a href="https://postgres.fm/episodes/toast">https://postgres.fm/episodes/toast</a> </li><li>Our episode on index maintenance <a href="https://postgres.fm/episodes/index-maintenance">https://postgres.fm/episodes/index-maintenance</a> </li><li>Chelsea's website: <a href="https://chelseadole.com/">https://chelseadole.com/</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 26 Jan 2024 14:00:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/5bd92bae/89102dbb.mp3" length="34847650" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2177</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Michael is joined by Chelsea Dole, Staff Software Engineer and Tech Lead of the Data Storage Team at <a href="https://www.brex.com/">Brex</a>, to discuss bloat. They cover what it is, why it's a problem, strategies for minimising it, and the options when it's really bad.<br> <br>Here are some links to things they mentioned:</p><ul><li>Managing your tuple graveyard (talk by Chelsea) <a href="https://www.youtube.com/watch?v=gAgbzvGT6ck">https://www.youtube.com/watch?v=gAgbzvGT6ck</a></li><li>pgstattuple <a href="https://www.postgresql.org/docs/current/pgstattuple.html">https://www.postgresql.org/docs/current/pgstattuple.html</a> </li><li>pg_class <a href="https://www.postgresql.org/docs/current/catalog-pg-class.html">https://www.postgresql.org/docs/current/catalog-pg-class.html</a> </li><li>Bloat in PostgreSQL: a taxonomy (talk by Peter Geoghegan) <a href="https://youtube.com/watch?v=JDG4bMHxCH8">https://youtube.com/watch?v=JDG4bMHxCH8</a> </li><li>It's Not You, It's Me: Breaking Up with Massive Tables via Partitioning (talk by Chelsea) <a href="https://youtube.com/watch?v=TafwSuLNxe8">https://youtube.com/watch?v=TafwSuLNxe8</a> </li><li>pg_repack <a href="https://github.com/reorg/pg_repack">https://github.com/reorg/pg_repack</a></li><li>pg_squeeze <a href="https://github.com/cybertec-postgresql/pg_squeeze">https://github.com/cybertec-postgresql/pg_squeeze</a> </li><li>VACUUM <a href="https://www.postgresql.org/docs/current/sql-vacuum.html">https://www.postgresql.org/docs/current/sql-vacuum.html</a></li><li>autovacuum <a href="https://www.postgresql.org/docs/current/runtime-config-autovacuum.html">https://www.postgresql.org/docs/current/runtime-config-autovacuum.html</a> </li><li>CLUSTER <a href="https://www.postgresql.org/docs/current/sql-cluster.html">https://www.postgresql.org/docs/current/sql-cluster.html</a> </li><li>HOT updates <a href="https://www.postgresql.org/docs/current/storage-hot.html">https://www.postgresql.org/docs/current/storage-hot.html</a> </li><li>Our episode on BUFFERS <a href="https://postgres.fm/episodes/buffers-by-default">https://postgres.fm/episodes/buffers-by-default</a> </li><li>Our episode on TOAST <a href="https://postgres.fm/episodes/toast">https://postgres.fm/episodes/toast</a> </li><li>Our episode on index maintenance <a href="https://postgres.fm/episodes/index-maintenance">https://postgres.fm/episodes/index-maintenance</a> </li><li>Chelsea's website: <a href="https://chelseadole.com/">https://chelseadole.com/</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Guest" href="https://chelseadole.com/" img="https://img.transistorcdn.com/yyG4qciS83RGkRxcMO8nt0FyD-n8jfaoyfxdIjowJRo/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vYWY4ZjAzOTIt/MzM3Yy00Y2M2LWFk/OTEtYzAxODhhM2U1/OTY5LzE3MDYxMTM1/MzMtaW1hZ2UuanBn.jpg">Chelsea Dole</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/5bd92bae/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>pgvector</title>
      <itunes:episode>81</itunes:episode>
      <podcast:episode>81</podcast:episode>
      <itunes:title>pgvector</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">838e5f52-f323-41f1-b402-3ae7e0d2b4c3</guid>
      <link>https://share.transistor.fm/s/0d0398b6</link>
      <description>
        <![CDATA[<p>Michael is joined by Jonathan Katz, PostgreSQL Core Team member, Principle Product Manager at AWS, and also pgvector contributor, to discuss pgvector. They cover what it is, why it's so popular all of a sudden, some tuning and tradeoff guidance, and a look to the future.<br> <br>Here are some links to things they mentioned:</p><ul><li>pgvector <a href="https://github.com/pgvector/pgvector">https://github.com/pgvector/pgvector</a></li><li>Our episode on companion databases <a href="https://postgres.fm/episodes/companion-databases">https://postgres.fm/episodes/companion-databases</a></li><li>Vectors are the new JSON (talk by Jonathan) <a href="https://www.youtube.com/watch?v=D_1zunKblAU">https://www.youtube.com/watch?v=D_1zunKblAU</a></li><li>pgvector 0.5.0 feature highlights and howtos (blog post by Jonathan) <a href="https://jkatz05.com/post/postgres/pgvector-overview-0.5.0">https://jkatz05.com/post/postgres/pgvector-overview-0.5.0</a></li><li>HNSW indexing and searching (blog post by Jonathan) <a href="https://aws.amazon.com/blogs/database/accelerate-hnsw-indexing-and-searching-with-pgvector-on-amazon-aurora-postgresql-compatible-edition-and-amazon-rds-for-postgresql">https://aws.amazon.com/blogs/database/accelerate-hnsw-indexing-and-searching-with-pgvector-on-amazon-aurora-postgresql-compatible-edition-and-amazon-rds-for-postgresql</a></li><li>Our episode on TOAST <a href="https://postgres.fm/episodes/toast">https://postgres.fm/episodes/toast</a></li><li>pgvector changelog <a href="https://github.com/pgvector/pgvector/blob/master/CHANGELOG.md">https://github.com/pgvector/pgvector/blob/master/CHANGELOG.md</a></li><li>HQANN paper <a href="https://arxiv.org/abs/2207.07940">https://arxiv.org/abs/2207.07940</a></li><li>HNSW fast build branch <a href="https://github.com/pgvector/pgvector/tree/hnsw-fast-build">https://github.com/pgvector/pgvector/tree/hnsw-fast-build</a> </li><li>pgconf.dev <a href="https://2024.pgconf.dev">https://2024.pgconf.dev</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Michael is joined by Jonathan Katz, PostgreSQL Core Team member, Principle Product Manager at AWS, and also pgvector contributor, to discuss pgvector. They cover what it is, why it's so popular all of a sudden, some tuning and tradeoff guidance, and a look to the future.<br> <br>Here are some links to things they mentioned:</p><ul><li>pgvector <a href="https://github.com/pgvector/pgvector">https://github.com/pgvector/pgvector</a></li><li>Our episode on companion databases <a href="https://postgres.fm/episodes/companion-databases">https://postgres.fm/episodes/companion-databases</a></li><li>Vectors are the new JSON (talk by Jonathan) <a href="https://www.youtube.com/watch?v=D_1zunKblAU">https://www.youtube.com/watch?v=D_1zunKblAU</a></li><li>pgvector 0.5.0 feature highlights and howtos (blog post by Jonathan) <a href="https://jkatz05.com/post/postgres/pgvector-overview-0.5.0">https://jkatz05.com/post/postgres/pgvector-overview-0.5.0</a></li><li>HNSW indexing and searching (blog post by Jonathan) <a href="https://aws.amazon.com/blogs/database/accelerate-hnsw-indexing-and-searching-with-pgvector-on-amazon-aurora-postgresql-compatible-edition-and-amazon-rds-for-postgresql">https://aws.amazon.com/blogs/database/accelerate-hnsw-indexing-and-searching-with-pgvector-on-amazon-aurora-postgresql-compatible-edition-and-amazon-rds-for-postgresql</a></li><li>Our episode on TOAST <a href="https://postgres.fm/episodes/toast">https://postgres.fm/episodes/toast</a></li><li>pgvector changelog <a href="https://github.com/pgvector/pgvector/blob/master/CHANGELOG.md">https://github.com/pgvector/pgvector/blob/master/CHANGELOG.md</a></li><li>HQANN paper <a href="https://arxiv.org/abs/2207.07940">https://arxiv.org/abs/2207.07940</a></li><li>HNSW fast build branch <a href="https://github.com/pgvector/pgvector/tree/hnsw-fast-build">https://github.com/pgvector/pgvector/tree/hnsw-fast-build</a> </li><li>pgconf.dev <a href="https://2024.pgconf.dev">https://2024.pgconf.dev</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 19 Jan 2024 14:00:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/0d0398b6/fea91837.mp3" length="47152790" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2946</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Michael is joined by Jonathan Katz, PostgreSQL Core Team member, Principle Product Manager at AWS, and also pgvector contributor, to discuss pgvector. They cover what it is, why it's so popular all of a sudden, some tuning and tradeoff guidance, and a look to the future.<br> <br>Here are some links to things they mentioned:</p><ul><li>pgvector <a href="https://github.com/pgvector/pgvector">https://github.com/pgvector/pgvector</a></li><li>Our episode on companion databases <a href="https://postgres.fm/episodes/companion-databases">https://postgres.fm/episodes/companion-databases</a></li><li>Vectors are the new JSON (talk by Jonathan) <a href="https://www.youtube.com/watch?v=D_1zunKblAU">https://www.youtube.com/watch?v=D_1zunKblAU</a></li><li>pgvector 0.5.0 feature highlights and howtos (blog post by Jonathan) <a href="https://jkatz05.com/post/postgres/pgvector-overview-0.5.0">https://jkatz05.com/post/postgres/pgvector-overview-0.5.0</a></li><li>HNSW indexing and searching (blog post by Jonathan) <a href="https://aws.amazon.com/blogs/database/accelerate-hnsw-indexing-and-searching-with-pgvector-on-amazon-aurora-postgresql-compatible-edition-and-amazon-rds-for-postgresql">https://aws.amazon.com/blogs/database/accelerate-hnsw-indexing-and-searching-with-pgvector-on-amazon-aurora-postgresql-compatible-edition-and-amazon-rds-for-postgresql</a></li><li>Our episode on TOAST <a href="https://postgres.fm/episodes/toast">https://postgres.fm/episodes/toast</a></li><li>pgvector changelog <a href="https://github.com/pgvector/pgvector/blob/master/CHANGELOG.md">https://github.com/pgvector/pgvector/blob/master/CHANGELOG.md</a></li><li>HQANN paper <a href="https://arxiv.org/abs/2207.07940">https://arxiv.org/abs/2207.07940</a></li><li>HNSW fast build branch <a href="https://github.com/pgvector/pgvector/tree/hnsw-fast-build">https://github.com/pgvector/pgvector/tree/hnsw-fast-build</a> </li><li>pgconf.dev <a href="https://2024.pgconf.dev">https://2024.pgconf.dev</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Guest" href="https://www.jkatz05.com" img="https://img.transistorcdn.com/V5jqghA8lJIlb1VW5ZPKUYiw-Jqr3IG8t4UASCchOlk/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vZGE0YzYyYjYt/YzRjMi00MGJmLThj/NjQtZDhhMzFhMmE3/OTk2LzE3MDU1MTI3/NjMtaW1hZ2UuanBn.jpg">Jonathan S. Katz</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/0d0398b6/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>pgBadger</title>
      <itunes:episode>80</itunes:episode>
      <podcast:episode>80</podcast:episode>
      <itunes:title>pgBadger</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">a9f44733-ecfc-4963-a35f-ef3fccb7e3f6</guid>
      <link>https://share.transistor.fm/s/50c75fc0</link>
      <description>
        <![CDATA[<p>Michael is joined by Alicja Kucharczyk, Program Manager for Azure Database for PostgreSQL at Microsoft and organiser of the Warsaw PostgreSQL User Group, to discuss Alicja's favorite tool: pgBadger. They cover what it is, how and when it's useful, and some guidance for getting the most out of it (without causing an outage).<br> <br>Here are some links to things they mentioned:</p><ul><li>pgBadger website <a href="https://pgbadger.darold.net">https://pgbadger.darold.net</a> </li><li>pgBadger repo <a href="https://github.com/darold/pgbadger">https://github.com/darold/pgbadger</a></li><li>An example pgBadger report <a href="https://pgbadger.darold.net/examples/sample.html">https://pgbadger.darold.net/examples/sample.html</a> </li><li>pg_stat_statements <a href="https://www.postgresql.org/docs/current/pgstatstatements.html">https://www.postgresql.org/docs/current/pgstatstatements.html</a></li><li>Azure Guide <a href="https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/how-to-generate-pgbadger-report-from-azure-database-for/ba-p/3756328">https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/how-to-generate-pgbadger-report-from-azure-database-for/ba-p/3756328</a></li><li>Google Cloud SQL guide <a href="https://cloud.google.com/blog/products/databases/guide-to-the-database-observability-with-cloud-sql">https://cloud.google.com/blog/products/databases/guide-to-the-database-observability-with-cloud-sql</a></li><li>RDS guide <a href="https://aws.amazon.com/blogs/database/optimizing-and-tuning-queries-in-amazon-rds-postgresql-based-on-native-and-external-tools/">https://aws.amazon.com/blogs/database/optimizing-and-tuning-queries-in-amazon-rds-postgresql-based-on-native-and-external-tools/</a></li><li>Community Insights on pgBadger (PGSQL Phriday Recap) <a href="https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/community-insights-on-pgbadger-a-pgsql-phriday-010-recap/ba-p/3880911">https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/community-insights-on-pgbadger-a-pgsql-phriday-010-recap/ba-p/3880911</a> </li><li>PGSQL Phriday #010: Log analysis (blog post by Lætitia Avrot) <a href="https://mydbanotebook.org/post/log-analysis/">https://mydbanotebook.org/post/log-analysis/</a> </li><li>Nothing Compares To VACUUM/The Ballad of Bloat <a href="https://www.youtube.com/watch?v=2NxIngqq1y0">https://www.youtube.com/watch?v=2NxIngqq1y0</a> </li><li>Explain Analyze (Feliz Navidad cover) <a href="https://www.youtube.com/watch?v=qznnzYZPdkM">https://www.youtube.com/watch?v=qznnzYZPdkM</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Michael is joined by Alicja Kucharczyk, Program Manager for Azure Database for PostgreSQL at Microsoft and organiser of the Warsaw PostgreSQL User Group, to discuss Alicja's favorite tool: pgBadger. They cover what it is, how and when it's useful, and some guidance for getting the most out of it (without causing an outage).<br> <br>Here are some links to things they mentioned:</p><ul><li>pgBadger website <a href="https://pgbadger.darold.net">https://pgbadger.darold.net</a> </li><li>pgBadger repo <a href="https://github.com/darold/pgbadger">https://github.com/darold/pgbadger</a></li><li>An example pgBadger report <a href="https://pgbadger.darold.net/examples/sample.html">https://pgbadger.darold.net/examples/sample.html</a> </li><li>pg_stat_statements <a href="https://www.postgresql.org/docs/current/pgstatstatements.html">https://www.postgresql.org/docs/current/pgstatstatements.html</a></li><li>Azure Guide <a href="https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/how-to-generate-pgbadger-report-from-azure-database-for/ba-p/3756328">https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/how-to-generate-pgbadger-report-from-azure-database-for/ba-p/3756328</a></li><li>Google Cloud SQL guide <a href="https://cloud.google.com/blog/products/databases/guide-to-the-database-observability-with-cloud-sql">https://cloud.google.com/blog/products/databases/guide-to-the-database-observability-with-cloud-sql</a></li><li>RDS guide <a href="https://aws.amazon.com/blogs/database/optimizing-and-tuning-queries-in-amazon-rds-postgresql-based-on-native-and-external-tools/">https://aws.amazon.com/blogs/database/optimizing-and-tuning-queries-in-amazon-rds-postgresql-based-on-native-and-external-tools/</a></li><li>Community Insights on pgBadger (PGSQL Phriday Recap) <a href="https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/community-insights-on-pgbadger-a-pgsql-phriday-010-recap/ba-p/3880911">https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/community-insights-on-pgbadger-a-pgsql-phriday-010-recap/ba-p/3880911</a> </li><li>PGSQL Phriday #010: Log analysis (blog post by Lætitia Avrot) <a href="https://mydbanotebook.org/post/log-analysis/">https://mydbanotebook.org/post/log-analysis/</a> </li><li>Nothing Compares To VACUUM/The Ballad of Bloat <a href="https://www.youtube.com/watch?v=2NxIngqq1y0">https://www.youtube.com/watch?v=2NxIngqq1y0</a> </li><li>Explain Analyze (Feliz Navidad cover) <a href="https://www.youtube.com/watch?v=qznnzYZPdkM">https://www.youtube.com/watch?v=qznnzYZPdkM</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 12 Jan 2024 14:00:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/50c75fc0/b7fc596e.mp3" length="30274770" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>1891</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Michael is joined by Alicja Kucharczyk, Program Manager for Azure Database for PostgreSQL at Microsoft and organiser of the Warsaw PostgreSQL User Group, to discuss Alicja's favorite tool: pgBadger. They cover what it is, how and when it's useful, and some guidance for getting the most out of it (without causing an outage).<br> <br>Here are some links to things they mentioned:</p><ul><li>pgBadger website <a href="https://pgbadger.darold.net">https://pgbadger.darold.net</a> </li><li>pgBadger repo <a href="https://github.com/darold/pgbadger">https://github.com/darold/pgbadger</a></li><li>An example pgBadger report <a href="https://pgbadger.darold.net/examples/sample.html">https://pgbadger.darold.net/examples/sample.html</a> </li><li>pg_stat_statements <a href="https://www.postgresql.org/docs/current/pgstatstatements.html">https://www.postgresql.org/docs/current/pgstatstatements.html</a></li><li>Azure Guide <a href="https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/how-to-generate-pgbadger-report-from-azure-database-for/ba-p/3756328">https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/how-to-generate-pgbadger-report-from-azure-database-for/ba-p/3756328</a></li><li>Google Cloud SQL guide <a href="https://cloud.google.com/blog/products/databases/guide-to-the-database-observability-with-cloud-sql">https://cloud.google.com/blog/products/databases/guide-to-the-database-observability-with-cloud-sql</a></li><li>RDS guide <a href="https://aws.amazon.com/blogs/database/optimizing-and-tuning-queries-in-amazon-rds-postgresql-based-on-native-and-external-tools/">https://aws.amazon.com/blogs/database/optimizing-and-tuning-queries-in-amazon-rds-postgresql-based-on-native-and-external-tools/</a></li><li>Community Insights on pgBadger (PGSQL Phriday Recap) <a href="https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/community-insights-on-pgbadger-a-pgsql-phriday-010-recap/ba-p/3880911">https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/community-insights-on-pgbadger-a-pgsql-phriday-010-recap/ba-p/3880911</a> </li><li>PGSQL Phriday #010: Log analysis (blog post by Lætitia Avrot) <a href="https://mydbanotebook.org/post/log-analysis/">https://mydbanotebook.org/post/log-analysis/</a> </li><li>Nothing Compares To VACUUM/The Ballad of Bloat <a href="https://www.youtube.com/watch?v=2NxIngqq1y0">https://www.youtube.com/watch?v=2NxIngqq1y0</a> </li><li>Explain Analyze (Feliz Navidad cover) <a href="https://www.youtube.com/watch?v=qznnzYZPdkM">https://www.youtube.com/watch?v=qznnzYZPdkM</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is produced by:</p><ul><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Guest" href="https://www.meetup.com/pl-PL/Warsaw-PostgreSQL-Users-Group/" img="https://img.transistorcdn.com/ad522_-EaBafkRBbi8OwDRaTS-O1gqqNaH8ZIj9g6po/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vZmY4MGIzODkt/ZTRkNC00NzM1LTk5/NGQtMWUyNTIwZTFi/ZGY1LzE3MDQ5OTM5/MjktaW1hZ2UuanBn.jpg">Alicja Kucharczyk</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/50c75fc0/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>EXPLAIN</title>
      <itunes:episode>79</itunes:episode>
      <podcast:episode>79</podcast:episode>
      <itunes:title>EXPLAIN</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">53b018d5-1418-43b3-a935-8f6e42f184cc</guid>
      <link>https://share.transistor.fm/s/5cc697b9</link>
      <description>
        <![CDATA[<p>With Nikolay taking a well-earned break, Michael covers the basics of EXPLAIN — what it is, the parameters available, and a process he recommends for using it.<br> <br>Here are some links to the things mentioned:</p><ul><li>EXPLAIN (docs) <a href="https://www.postgresql.org/docs/current/sql-explain.html">https://www.postgresql.org/docs/current/sql-explain.html</a></li><li>Using EXPLAIN (docs) <a href="https://www.postgresql.org/docs/current/using-explain.html">https://www.postgresql.org/docs/current/using-explain.html</a></li><li>EXPLAIN Explained (talk by Josh Berkus <a href="https://www.youtube.com/watch?app=desktop&amp;v=mCwwFAl1pBU">https://www.youtube.com/watch?app=desktop&amp;v=mCwwFAl1pBU</a></li><li>Beyond joins and indexes (slides from talk by Bruce Momjian) <a href="https://momjian.us/main/writings/pgsql/beyond.pdf">https://momjian.us/main/writings/pgsql/beyond.pdf</a></li><li>Depesz <a href="https://explain.depesz.com">https://explain.depesz.com</a></li><li>Dalibo <a href="https://explain.dalibo.com">https://explain.dalibo.com</a></li><li>pgMustard <a href="https://www.pgmustard.com/">https://www.pgmustard.com/</a></li><li>A beginners guide to explain (talk by Michael) <a href="https://www.youtube.com/watch?v=31EmOKBP1PY&amp;t=24s">https://www.youtube.com/watch?v=31EmOKBP1PY&amp;t=24s</a></li><li>Explain beyond the basics (talk by Michael) <a href="https://www.youtube.com/watch?v=sGkSOvuaPs4">https://www.youtube.com/watch?v=sGkSOvuaPs4</a></li><li>auto_explain episode <a href="https://postgres.fm/episodes/auto_explain">https://postgres.fm/episodes/auto_explain</a></li><li>Row estimates episode <a href="https://postgres.fm/episodes/row-estimates">https://postgres.fm/episodes/row-estimates</a></li><li>Slow queries and slow transactions episode <a href="https://postgres.fm/episodes/slow-queries-and-slow-transactions">https://postgres.fm/episodes/slow-queries-and-slow-transactions</a></li><li>Benchmarking episode <a href="https://postgres.fm/episodes/benchmarking">https://postgres.fm/episodes/benchmarking</a></li><li>EXPLAIN glossary by Michael (forgot to mention, oops!) <a href="https://www.pgmustard.com/docs/explain">https://www.pgmustard.com/docs/explain</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>With Nikolay taking a well-earned break, Michael covers the basics of EXPLAIN — what it is, the parameters available, and a process he recommends for using it.<br> <br>Here are some links to the things mentioned:</p><ul><li>EXPLAIN (docs) <a href="https://www.postgresql.org/docs/current/sql-explain.html">https://www.postgresql.org/docs/current/sql-explain.html</a></li><li>Using EXPLAIN (docs) <a href="https://www.postgresql.org/docs/current/using-explain.html">https://www.postgresql.org/docs/current/using-explain.html</a></li><li>EXPLAIN Explained (talk by Josh Berkus <a href="https://www.youtube.com/watch?app=desktop&amp;v=mCwwFAl1pBU">https://www.youtube.com/watch?app=desktop&amp;v=mCwwFAl1pBU</a></li><li>Beyond joins and indexes (slides from talk by Bruce Momjian) <a href="https://momjian.us/main/writings/pgsql/beyond.pdf">https://momjian.us/main/writings/pgsql/beyond.pdf</a></li><li>Depesz <a href="https://explain.depesz.com">https://explain.depesz.com</a></li><li>Dalibo <a href="https://explain.dalibo.com">https://explain.dalibo.com</a></li><li>pgMustard <a href="https://www.pgmustard.com/">https://www.pgmustard.com/</a></li><li>A beginners guide to explain (talk by Michael) <a href="https://www.youtube.com/watch?v=31EmOKBP1PY&amp;t=24s">https://www.youtube.com/watch?v=31EmOKBP1PY&amp;t=24s</a></li><li>Explain beyond the basics (talk by Michael) <a href="https://www.youtube.com/watch?v=sGkSOvuaPs4">https://www.youtube.com/watch?v=sGkSOvuaPs4</a></li><li>auto_explain episode <a href="https://postgres.fm/episodes/auto_explain">https://postgres.fm/episodes/auto_explain</a></li><li>Row estimates episode <a href="https://postgres.fm/episodes/row-estimates">https://postgres.fm/episodes/row-estimates</a></li><li>Slow queries and slow transactions episode <a href="https://postgres.fm/episodes/slow-queries-and-slow-transactions">https://postgres.fm/episodes/slow-queries-and-slow-transactions</a></li><li>Benchmarking episode <a href="https://postgres.fm/episodes/benchmarking">https://postgres.fm/episodes/benchmarking</a></li><li>EXPLAIN glossary by Michael (forgot to mention, oops!) <a href="https://www.pgmustard.com/docs/explain">https://www.pgmustard.com/docs/explain</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 05 Jan 2024 14:00:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/5cc697b9/bea4816a.mp3" length="18797604" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>1173</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>With Nikolay taking a well-earned break, Michael covers the basics of EXPLAIN — what it is, the parameters available, and a process he recommends for using it.<br> <br>Here are some links to the things mentioned:</p><ul><li>EXPLAIN (docs) <a href="https://www.postgresql.org/docs/current/sql-explain.html">https://www.postgresql.org/docs/current/sql-explain.html</a></li><li>Using EXPLAIN (docs) <a href="https://www.postgresql.org/docs/current/using-explain.html">https://www.postgresql.org/docs/current/using-explain.html</a></li><li>EXPLAIN Explained (talk by Josh Berkus <a href="https://www.youtube.com/watch?app=desktop&amp;v=mCwwFAl1pBU">https://www.youtube.com/watch?app=desktop&amp;v=mCwwFAl1pBU</a></li><li>Beyond joins and indexes (slides from talk by Bruce Momjian) <a href="https://momjian.us/main/writings/pgsql/beyond.pdf">https://momjian.us/main/writings/pgsql/beyond.pdf</a></li><li>Depesz <a href="https://explain.depesz.com">https://explain.depesz.com</a></li><li>Dalibo <a href="https://explain.dalibo.com">https://explain.dalibo.com</a></li><li>pgMustard <a href="https://www.pgmustard.com/">https://www.pgmustard.com/</a></li><li>A beginners guide to explain (talk by Michael) <a href="https://www.youtube.com/watch?v=31EmOKBP1PY&amp;t=24s">https://www.youtube.com/watch?v=31EmOKBP1PY&amp;t=24s</a></li><li>Explain beyond the basics (talk by Michael) <a href="https://www.youtube.com/watch?v=sGkSOvuaPs4">https://www.youtube.com/watch?v=sGkSOvuaPs4</a></li><li>auto_explain episode <a href="https://postgres.fm/episodes/auto_explain">https://postgres.fm/episodes/auto_explain</a></li><li>Row estimates episode <a href="https://postgres.fm/episodes/row-estimates">https://postgres.fm/episodes/row-estimates</a></li><li>Slow queries and slow transactions episode <a href="https://postgres.fm/episodes/slow-queries-and-slow-transactions">https://postgres.fm/episodes/slow-queries-and-slow-transactions</a></li><li>Benchmarking episode <a href="https://postgres.fm/episodes/benchmarking">https://postgres.fm/episodes/benchmarking</a></li><li>EXPLAIN glossary by Michael (forgot to mention, oops!) <a href="https://www.pgmustard.com/docs/explain">https://www.pgmustard.com/docs/explain</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/5cc697b9/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>work_mem</title>
      <itunes:episode>78</itunes:episode>
      <podcast:episode>78</podcast:episode>
      <itunes:title>work_mem</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">d937203a-abbe-40d1-9678-7badd85ee209</guid>
      <link>https://share.transistor.fm/s/70bedc5a</link>
      <description>
        <![CDATA[<p>Happy holidays! Today's topic is work_mem — how it's used and how to tune it.<br> <br>Related post: <a href="https://x.com/samokhvalov/status/1740813478150189172?s=46&amp;t=HSxrW86NZqzPQP9vXVJEWg">https://x.com/samokhvalov/status/1740813478150189172?s=46&amp;t=HSxrW86NZqzPQP9vXVJEWg</a>.</p>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Happy holidays! Today's topic is work_mem — how it's used and how to tune it.<br> <br>Related post: <a href="https://x.com/samokhvalov/status/1740813478150189172?s=46&amp;t=HSxrW86NZqzPQP9vXVJEWg">https://x.com/samokhvalov/status/1740813478150189172?s=46&amp;t=HSxrW86NZqzPQP9vXVJEWg</a>.</p>]]>
      </content:encoded>
      <pubDate>Sun, 31 Dec 2023 22:43:21 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/70bedc5a/3f31f5fe.mp3" length="18373769" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>1147</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Happy holidays! Today's topic is work_mem — how it's used and how to tune it.<br> <br>Related post: <a href="https://x.com/samokhvalov/status/1740813478150189172?s=46&amp;t=HSxrW86NZqzPQP9vXVJEWg">https://x.com/samokhvalov/status/1740813478150189172?s=46&amp;t=HSxrW86NZqzPQP9vXVJEWg</a>.</p>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/70bedc5a/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Partitioning by ULID</title>
      <itunes:episode>77</itunes:episode>
      <podcast:episode>77</podcast:episode>
      <itunes:title>Partitioning by ULID</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">1d3dc261-26bc-45da-bc43-8405a5972785</guid>
      <link>https://share.transistor.fm/s/e007b4a2</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss partitioning by ULID — revisiting some of the old UUID vs bigint key debate in light of some new UUID specs, and how these can be used for partitioning (by time). <br> <br>Here are some links to things they mentioned:</p><ul><li>Nikolay’s episode on UUID (for primary keys) <a href="https://postgres.fm/episodes/uuid">https://postgres.fm/episodes/uuid</a> </li><li>Postgres TV hacking session with Andrey and Kirk: <a href="https://www.youtube.com/watch?v=YPq_hiOE-N8">https://www.youtube.com/watch?v=YPq_hiOE-N8</a></li><li>UUIDv7 patch <a href="https://commitfest.postgresql.org/43/4388/">https://commitfest.postgresql.org/43/4388/</a> </li><li>Use ULID Idempotency Keys (tip 6 in this blog post from Shopify) <a href="https://shopify.engineering/building-resilient-payment-systems">https://shopify.engineering/building-resilient-payment-systems</a> </li><li>Nikolay’s howto post on UUID v7 and partitioning with TimescaleDB <a href="https://gitlab.com/postgres-ai/postgresql-consulting/postgres-howtos/-/blob/main/0065_uuid_v7_and_partitioning_timescaledb.md">https://gitlab.com/postgres-ai/postgresql-consulting/postgres-howtos/-/blob/main/0065_uuid_v7_and_partitioning_timescaledb.md</a> </li><li>Hussein Nasser’s YouTube video about the above <a href="https://www.youtube.com/watch?v=f53-Iw_5ucA">https://www.youtube.com/watch?v=f53-Iw_5ucA</a> </li><li>UUID proposal that includes UUIDv7 and UUIDv8 (work in progress): <a href="https://datatracker.ietf.org/doc/draft-ietf-uuidrev-rfc4122bis/history/">https://datatracker.ietf.org/doc/draft-ietf-uuidrev-rfc4122bis/history/</a>  </li><li>James Blackwood-Sewell advice on more elegant solution using TimescaleDB <a href="https://twitter.com/jamessewell/status/1730125437903450129">https://twitter.com/jamessewell/status/1730125437903450129</a> </li><li>ULIDs and Stripe IDs (section of Identity Crisis blog post by Brandur) <a href="https://brandur.org/nanoglyphs/026-ids#ulids">https://brandur.org/nanoglyphs/026-ids#ulids</a> </li><li>Crunchy Bridge changed their default random_page_cost to 1.1 🙌 <a href="https://twitter.com/brandur/status/1720477470116422028">https://twitter.com/brandur/status/1720477470116422028</a> </li><li>UUIDs vs serials for keys (newer post from Christophe Pettus) <a href="https://thebuild.com/blog/2023/02/16/uuids-vs-serials-for-keys/">https://thebuild.com/blog/2023/02/16/uuids-vs-serials-for-keys/</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss partitioning by ULID — revisiting some of the old UUID vs bigint key debate in light of some new UUID specs, and how these can be used for partitioning (by time). <br> <br>Here are some links to things they mentioned:</p><ul><li>Nikolay’s episode on UUID (for primary keys) <a href="https://postgres.fm/episodes/uuid">https://postgres.fm/episodes/uuid</a> </li><li>Postgres TV hacking session with Andrey and Kirk: <a href="https://www.youtube.com/watch?v=YPq_hiOE-N8">https://www.youtube.com/watch?v=YPq_hiOE-N8</a></li><li>UUIDv7 patch <a href="https://commitfest.postgresql.org/43/4388/">https://commitfest.postgresql.org/43/4388/</a> </li><li>Use ULID Idempotency Keys (tip 6 in this blog post from Shopify) <a href="https://shopify.engineering/building-resilient-payment-systems">https://shopify.engineering/building-resilient-payment-systems</a> </li><li>Nikolay’s howto post on UUID v7 and partitioning with TimescaleDB <a href="https://gitlab.com/postgres-ai/postgresql-consulting/postgres-howtos/-/blob/main/0065_uuid_v7_and_partitioning_timescaledb.md">https://gitlab.com/postgres-ai/postgresql-consulting/postgres-howtos/-/blob/main/0065_uuid_v7_and_partitioning_timescaledb.md</a> </li><li>Hussein Nasser’s YouTube video about the above <a href="https://www.youtube.com/watch?v=f53-Iw_5ucA">https://www.youtube.com/watch?v=f53-Iw_5ucA</a> </li><li>UUID proposal that includes UUIDv7 and UUIDv8 (work in progress): <a href="https://datatracker.ietf.org/doc/draft-ietf-uuidrev-rfc4122bis/history/">https://datatracker.ietf.org/doc/draft-ietf-uuidrev-rfc4122bis/history/</a>  </li><li>James Blackwood-Sewell advice on more elegant solution using TimescaleDB <a href="https://twitter.com/jamessewell/status/1730125437903450129">https://twitter.com/jamessewell/status/1730125437903450129</a> </li><li>ULIDs and Stripe IDs (section of Identity Crisis blog post by Brandur) <a href="https://brandur.org/nanoglyphs/026-ids#ulids">https://brandur.org/nanoglyphs/026-ids#ulids</a> </li><li>Crunchy Bridge changed their default random_page_cost to 1.1 🙌 <a href="https://twitter.com/brandur/status/1720477470116422028">https://twitter.com/brandur/status/1720477470116422028</a> </li><li>UUIDs vs serials for keys (newer post from Christophe Pettus) <a href="https://thebuild.com/blog/2023/02/16/uuids-vs-serials-for-keys/">https://thebuild.com/blog/2023/02/16/uuids-vs-serials-for-keys/</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 22 Dec 2023 14:00:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/e007b4a2/2dc7684a.mp3" length="37355854" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2333</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss partitioning by ULID — revisiting some of the old UUID vs bigint key debate in light of some new UUID specs, and how these can be used for partitioning (by time). <br> <br>Here are some links to things they mentioned:</p><ul><li>Nikolay’s episode on UUID (for primary keys) <a href="https://postgres.fm/episodes/uuid">https://postgres.fm/episodes/uuid</a> </li><li>Postgres TV hacking session with Andrey and Kirk: <a href="https://www.youtube.com/watch?v=YPq_hiOE-N8">https://www.youtube.com/watch?v=YPq_hiOE-N8</a></li><li>UUIDv7 patch <a href="https://commitfest.postgresql.org/43/4388/">https://commitfest.postgresql.org/43/4388/</a> </li><li>Use ULID Idempotency Keys (tip 6 in this blog post from Shopify) <a href="https://shopify.engineering/building-resilient-payment-systems">https://shopify.engineering/building-resilient-payment-systems</a> </li><li>Nikolay’s howto post on UUID v7 and partitioning with TimescaleDB <a href="https://gitlab.com/postgres-ai/postgresql-consulting/postgres-howtos/-/blob/main/0065_uuid_v7_and_partitioning_timescaledb.md">https://gitlab.com/postgres-ai/postgresql-consulting/postgres-howtos/-/blob/main/0065_uuid_v7_and_partitioning_timescaledb.md</a> </li><li>Hussein Nasser’s YouTube video about the above <a href="https://www.youtube.com/watch?v=f53-Iw_5ucA">https://www.youtube.com/watch?v=f53-Iw_5ucA</a> </li><li>UUID proposal that includes UUIDv7 and UUIDv8 (work in progress): <a href="https://datatracker.ietf.org/doc/draft-ietf-uuidrev-rfc4122bis/history/">https://datatracker.ietf.org/doc/draft-ietf-uuidrev-rfc4122bis/history/</a>  </li><li>James Blackwood-Sewell advice on more elegant solution using TimescaleDB <a href="https://twitter.com/jamessewell/status/1730125437903450129">https://twitter.com/jamessewell/status/1730125437903450129</a> </li><li>ULIDs and Stripe IDs (section of Identity Crisis blog post by Brandur) <a href="https://brandur.org/nanoglyphs/026-ids#ulids">https://brandur.org/nanoglyphs/026-ids#ulids</a> </li><li>Crunchy Bridge changed their default random_page_cost to 1.1 🙌 <a href="https://twitter.com/brandur/status/1720477470116422028">https://twitter.com/brandur/status/1720477470116422028</a> </li><li>UUIDs vs serials for keys (newer post from Christophe Pettus) <a href="https://thebuild.com/blog/2023/02/16/uuids-vs-serials-for-keys/">https://thebuild.com/blog/2023/02/16/uuids-vs-serials-for-keys/</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/e007b4a2/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Hash indexes</title>
      <itunes:episode>76</itunes:episode>
      <podcast:episode>76</podcast:episode>
      <itunes:title>Hash indexes</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">1b07b265-bd0c-4ce8-9312-99d1e63ad2d1</guid>
      <link>https://share.transistor.fm/s/9c7c4d92</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss hash indexes in Postgres — what they are, some brief history, their pros and cons vs btrees, and whether or when they recommend using them.</p><p>Update: the idea Nikolay mentioned at the end of this episode turns out to be <a href="https://www.postgresql.org/message-id/flat/18244-8a7897de2acd5a08%40postgresql.org">a little fraught</a> (and as such, inadvisable). <br> <br>Here are some links to things they mentioned:</p><ul><li>Index types (docs) <a href="https://www.postgresql.org/docs/current/indexes-types.html">https://www.postgresql.org/docs/current/indexes-types.html</a>  </li><li>Re-introducing hash indexes in PostgreSQL (blog post by Haki Benita and Michael) <a href="https://hakibenita.com/postgresql-hash-index">https://hakibenita.com/postgresql-hash-index</a> </li><li>Hash indexes intro (docs) <a href="https://www.postgresql.org/docs/current/hash-intro.html">https://www.postgresql.org/docs/current/hash-intro.html</a> </li><li>Hash indexes implementation (docs) <a href="https://www.postgresql.org/docs/current/hash-implementation.html">https://www.postgresql.org/docs/current/hash-implementation.html</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss hash indexes in Postgres — what they are, some brief history, their pros and cons vs btrees, and whether or when they recommend using them.</p><p>Update: the idea Nikolay mentioned at the end of this episode turns out to be <a href="https://www.postgresql.org/message-id/flat/18244-8a7897de2acd5a08%40postgresql.org">a little fraught</a> (and as such, inadvisable). <br> <br>Here are some links to things they mentioned:</p><ul><li>Index types (docs) <a href="https://www.postgresql.org/docs/current/indexes-types.html">https://www.postgresql.org/docs/current/indexes-types.html</a>  </li><li>Re-introducing hash indexes in PostgreSQL (blog post by Haki Benita and Michael) <a href="https://hakibenita.com/postgresql-hash-index">https://hakibenita.com/postgresql-hash-index</a> </li><li>Hash indexes intro (docs) <a href="https://www.postgresql.org/docs/current/hash-intro.html">https://www.postgresql.org/docs/current/hash-intro.html</a> </li><li>Hash indexes implementation (docs) <a href="https://www.postgresql.org/docs/current/hash-implementation.html">https://www.postgresql.org/docs/current/hash-implementation.html</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 15 Dec 2023 14:00:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/9c7c4d92/9595903e.mp3" length="29330603" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>1832</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss hash indexes in Postgres — what they are, some brief history, their pros and cons vs btrees, and whether or when they recommend using them.</p><p>Update: the idea Nikolay mentioned at the end of this episode turns out to be <a href="https://www.postgresql.org/message-id/flat/18244-8a7897de2acd5a08%40postgresql.org">a little fraught</a> (and as such, inadvisable). <br> <br>Here are some links to things they mentioned:</p><ul><li>Index types (docs) <a href="https://www.postgresql.org/docs/current/indexes-types.html">https://www.postgresql.org/docs/current/indexes-types.html</a>  </li><li>Re-introducing hash indexes in PostgreSQL (blog post by Haki Benita and Michael) <a href="https://hakibenita.com/postgresql-hash-index">https://hakibenita.com/postgresql-hash-index</a> </li><li>Hash indexes intro (docs) <a href="https://www.postgresql.org/docs/current/hash-intro.html">https://www.postgresql.org/docs/current/hash-intro.html</a> </li><li>Hash indexes implementation (docs) <a href="https://www.postgresql.org/docs/current/hash-implementation.html">https://www.postgresql.org/docs/current/hash-implementation.html</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/9c7c4d92/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Constraints</title>
      <itunes:episode>75</itunes:episode>
      <podcast:episode>75</podcast:episode>
      <itunes:title>Constraints</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">f9520fd7-dfc5-4f91-b671-d71d223a989f</guid>
      <link>https://share.transistor.fm/s/bf73b79f</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss PostgreSQL constraints — the six different types we have, how to add and modify them, including on large tables with high TPS. <br> <br>Here are some links to things they mentioned:</p><ul><li>Constraints (docs) <a href="https://www.postgresql.org/docs/current/ddl-constraints.html">https://www.postgresql.org/docs/current/ddl-constraints.html</a></li><li>Unique index vs unique constraint issue (2017) <a href="https://www.postgresql.org/message-id/flat/CANNMO%2B%2B7%2BuVMj%2BZPGKB_zuRpKE0sNthy2Z-_oKSS%3DoE3_rN7QA%40mail.gmail.com">https://www.postgresql.org/message-id/flat/CANNMO%2B%2B7%2BuVMj%2BZPGKB_zuRpKE0sNthy2Z-_oKSS%3DoE3_rN7QA%40mail.gmail.com</a> </li><li>Our episode on NULLs <a href="https://postgres.fm/episodes/nulls-the-good-the-bad-the-ugly-and-the-unknown">https://postgres.fm/episodes/nulls-the-good-the-bad-the-ugly-and-the-unknown</a></li><li>Advanced Int to Bigint Conversions (talk by Robert Treat) <a href="https://www.youtube.com/watch?v=_IieyXzdmcM">https://www.youtube.com/watch?v=_IieyXzdmcM</a> </li><li>Use BIGINT in Postgres (blog post by Ryan Lambert) <a href="https://blog.rustprooflabs.com/2021/06/postgres-bigint-by-default">https://blog.rustprooflabs.com/2021/06/postgres-bigint-by-default</a> </li><li>How to add a foreign key (Tweet by Nikolay) <a href="https://twitter.com/samokhvalov/status/1732056107483636188">https://twitter.com/samokhvalov/status/1732056107483636188</a> </li><li>Bloat, pg_repack, and deferred constraints (blog post by Nikolai Averin from Miro) <a href="https://medium.com/miro-engineering/postgresql-bloat-pg-repack-and-deferred-constraints-d0ecf33337ec">https://medium.com/miro-engineering/postgresql-bloat-pg-repack-and-deferred-constraints-d0ecf33337ec</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss PostgreSQL constraints — the six different types we have, how to add and modify them, including on large tables with high TPS. <br> <br>Here are some links to things they mentioned:</p><ul><li>Constraints (docs) <a href="https://www.postgresql.org/docs/current/ddl-constraints.html">https://www.postgresql.org/docs/current/ddl-constraints.html</a></li><li>Unique index vs unique constraint issue (2017) <a href="https://www.postgresql.org/message-id/flat/CANNMO%2B%2B7%2BuVMj%2BZPGKB_zuRpKE0sNthy2Z-_oKSS%3DoE3_rN7QA%40mail.gmail.com">https://www.postgresql.org/message-id/flat/CANNMO%2B%2B7%2BuVMj%2BZPGKB_zuRpKE0sNthy2Z-_oKSS%3DoE3_rN7QA%40mail.gmail.com</a> </li><li>Our episode on NULLs <a href="https://postgres.fm/episodes/nulls-the-good-the-bad-the-ugly-and-the-unknown">https://postgres.fm/episodes/nulls-the-good-the-bad-the-ugly-and-the-unknown</a></li><li>Advanced Int to Bigint Conversions (talk by Robert Treat) <a href="https://www.youtube.com/watch?v=_IieyXzdmcM">https://www.youtube.com/watch?v=_IieyXzdmcM</a> </li><li>Use BIGINT in Postgres (blog post by Ryan Lambert) <a href="https://blog.rustprooflabs.com/2021/06/postgres-bigint-by-default">https://blog.rustprooflabs.com/2021/06/postgres-bigint-by-default</a> </li><li>How to add a foreign key (Tweet by Nikolay) <a href="https://twitter.com/samokhvalov/status/1732056107483636188">https://twitter.com/samokhvalov/status/1732056107483636188</a> </li><li>Bloat, pg_repack, and deferred constraints (blog post by Nikolai Averin from Miro) <a href="https://medium.com/miro-engineering/postgresql-bloat-pg-repack-and-deferred-constraints-d0ecf33337ec">https://medium.com/miro-engineering/postgresql-bloat-pg-repack-and-deferred-constraints-d0ecf33337ec</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 08 Dec 2023 14:00:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/bf73b79f/57c521e2.mp3" length="37525527" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2344</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss PostgreSQL constraints — the six different types we have, how to add and modify them, including on large tables with high TPS. <br> <br>Here are some links to things they mentioned:</p><ul><li>Constraints (docs) <a href="https://www.postgresql.org/docs/current/ddl-constraints.html">https://www.postgresql.org/docs/current/ddl-constraints.html</a></li><li>Unique index vs unique constraint issue (2017) <a href="https://www.postgresql.org/message-id/flat/CANNMO%2B%2B7%2BuVMj%2BZPGKB_zuRpKE0sNthy2Z-_oKSS%3DoE3_rN7QA%40mail.gmail.com">https://www.postgresql.org/message-id/flat/CANNMO%2B%2B7%2BuVMj%2BZPGKB_zuRpKE0sNthy2Z-_oKSS%3DoE3_rN7QA%40mail.gmail.com</a> </li><li>Our episode on NULLs <a href="https://postgres.fm/episodes/nulls-the-good-the-bad-the-ugly-and-the-unknown">https://postgres.fm/episodes/nulls-the-good-the-bad-the-ugly-and-the-unknown</a></li><li>Advanced Int to Bigint Conversions (talk by Robert Treat) <a href="https://www.youtube.com/watch?v=_IieyXzdmcM">https://www.youtube.com/watch?v=_IieyXzdmcM</a> </li><li>Use BIGINT in Postgres (blog post by Ryan Lambert) <a href="https://blog.rustprooflabs.com/2021/06/postgres-bigint-by-default">https://blog.rustprooflabs.com/2021/06/postgres-bigint-by-default</a> </li><li>How to add a foreign key (Tweet by Nikolay) <a href="https://twitter.com/samokhvalov/status/1732056107483636188">https://twitter.com/samokhvalov/status/1732056107483636188</a> </li><li>Bloat, pg_repack, and deferred constraints (blog post by Nikolai Averin from Miro) <a href="https://medium.com/miro-engineering/postgresql-bloat-pg-repack-and-deferred-constraints-d0ecf33337ec">https://medium.com/miro-engineering/postgresql-bloat-pg-repack-and-deferred-constraints-d0ecf33337ec</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/bf73b79f/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Events</title>
      <itunes:episode>74</itunes:episode>
      <podcast:episode>74</podcast:episode>
      <itunes:title>Events</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">3913edbe-a2ed-4d60-90c1-aacd350817fe</guid>
      <link>https://share.transistor.fm/s/99bbcb1f</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss PostgreSQL events — whether in-person or online, large conferences or small meet-ups, as well as some strong opinions based on their experiences attending, speaking, and organising them. <br> <br>Here are some links to things they mentioned:</p><ul><li>PGSQL Phriday #014: PostgreSQL Events <a href="https://www.cybertec-postgresql.com/en/pgsql-phriday-014-postgresql-events/">https://www.cybertec-postgresql.com/en/pgsql-phriday-014-postgresql-events/</a> </li><li>PGCon <a href="https://www.pgcon.org/">https://www.pgcon.org/</a> </li><li>Highload <a href="https://highload.rs/">https://highload.rs/</a> </li><li>The San Francisco Bay Area PostgreSQL Meetup Group <a href="https://www.meetup.com/postgresql-1/">https://www.meetup.com/postgresql-1/</a> </li><li>Our episode on “Why is Postgres popular?” <a href="https://postgres.fm/episodes/why-is-postgres-popular">https://postgres.fm/episodes/why-is-postgres-popular</a> </li><li>PGConf EU <a href="https://pgconf.eu/">https://pgconf.eu/</a> </li><li>Open talks series on Postgres TV <a href="https://www.youtube.com/playlist?list=PLH8y1BNPAKjJCuZiDRl0qUEDaKLBpFvZ9">https://www.youtube.com/playlist?list=PLH8y1BNPAKjJCuZiDRl0qUEDaKLBpFvZ9</a> </li><li>Rails World (including videos!) <a href="https://rubyonrails.org/world">https://rubyonrails.org/world</a> </li><li>Upcoming events <a href="https://www.postgresql.org/about/events/">https://www.postgresql.org/about/events/</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss PostgreSQL events — whether in-person or online, large conferences or small meet-ups, as well as some strong opinions based on their experiences attending, speaking, and organising them. <br> <br>Here are some links to things they mentioned:</p><ul><li>PGSQL Phriday #014: PostgreSQL Events <a href="https://www.cybertec-postgresql.com/en/pgsql-phriday-014-postgresql-events/">https://www.cybertec-postgresql.com/en/pgsql-phriday-014-postgresql-events/</a> </li><li>PGCon <a href="https://www.pgcon.org/">https://www.pgcon.org/</a> </li><li>Highload <a href="https://highload.rs/">https://highload.rs/</a> </li><li>The San Francisco Bay Area PostgreSQL Meetup Group <a href="https://www.meetup.com/postgresql-1/">https://www.meetup.com/postgresql-1/</a> </li><li>Our episode on “Why is Postgres popular?” <a href="https://postgres.fm/episodes/why-is-postgres-popular">https://postgres.fm/episodes/why-is-postgres-popular</a> </li><li>PGConf EU <a href="https://pgconf.eu/">https://pgconf.eu/</a> </li><li>Open talks series on Postgres TV <a href="https://www.youtube.com/playlist?list=PLH8y1BNPAKjJCuZiDRl0qUEDaKLBpFvZ9">https://www.youtube.com/playlist?list=PLH8y1BNPAKjJCuZiDRl0qUEDaKLBpFvZ9</a> </li><li>Rails World (including videos!) <a href="https://rubyonrails.org/world">https://rubyonrails.org/world</a> </li><li>Upcoming events <a href="https://www.postgresql.org/about/events/">https://www.postgresql.org/about/events/</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 01 Dec 2023 14:00:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/99bbcb1f/bd6a5d12.mp3" length="50080175" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>3129</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss PostgreSQL events — whether in-person or online, large conferences or small meet-ups, as well as some strong opinions based on their experiences attending, speaking, and organising them. <br> <br>Here are some links to things they mentioned:</p><ul><li>PGSQL Phriday #014: PostgreSQL Events <a href="https://www.cybertec-postgresql.com/en/pgsql-phriday-014-postgresql-events/">https://www.cybertec-postgresql.com/en/pgsql-phriday-014-postgresql-events/</a> </li><li>PGCon <a href="https://www.pgcon.org/">https://www.pgcon.org/</a> </li><li>Highload <a href="https://highload.rs/">https://highload.rs/</a> </li><li>The San Francisco Bay Area PostgreSQL Meetup Group <a href="https://www.meetup.com/postgresql-1/">https://www.meetup.com/postgresql-1/</a> </li><li>Our episode on “Why is Postgres popular?” <a href="https://postgres.fm/episodes/why-is-postgres-popular">https://postgres.fm/episodes/why-is-postgres-popular</a> </li><li>PGConf EU <a href="https://pgconf.eu/">https://pgconf.eu/</a> </li><li>Open talks series on Postgres TV <a href="https://www.youtube.com/playlist?list=PLH8y1BNPAKjJCuZiDRl0qUEDaKLBpFvZ9">https://www.youtube.com/playlist?list=PLH8y1BNPAKjJCuZiDRl0qUEDaKLBpFvZ9</a> </li><li>Rails World (including videos!) <a href="https://rubyonrails.org/world">https://rubyonrails.org/world</a> </li><li>Upcoming events <a href="https://www.postgresql.org/about/events/">https://www.postgresql.org/about/events/</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/99bbcb1f/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Subtransactions</title>
      <itunes:episode>73</itunes:episode>
      <podcast:episode>73</podcast:episode>
      <itunes:title>Subtransactions</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">5a4b1c1e-7b99-452f-848b-4a732478b2b8</guid>
      <link>https://share.transistor.fm/s/3cad743d</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss PostgreSQL subtransactions — what they are, and four issues they can cause at scale. <br> <br>Here are some links to things they mentioned:</p><ul><li>Subtransactions (docs) <a href="https://www.postgresql.org/docs/current/subxacts.html">https://www.postgresql.org/docs/current/subxacts.html</a>  </li><li>SAVEPOINT (docs) <a href="https://www.postgresql.org/docs/current/sql-savepoint.html">https://www.postgresql.org/docs/current/sql-savepoint.html</a>  </li><li>PostgreSQL Subtransactions Considered Harmful (blog post by Nikolay) <a href="https://postgres.ai/blog/20210831-postgresql-subtransactions-considered-harmful">https://postgres.ai/blog/20210831-postgresql-subtransactions-considered-harmful</a>  </li><li>Subtransactions and performance in PostgreSQL (blog post by Laurenz at Cybertec) <a href="https://www.cybertec-postgresql.com/en/subtransactions-and-performance-in-postgresql/">https://www.cybertec-postgresql.com/en/subtransactions-and-performance-in-postgresql/</a>  </li><li>Notes on some PostgreSQL implementation details (blog post by Nelson Elhage) <a href="https://buttondown.email/nelhage/archive/notes-on-some-postgresql-implementation-details/">https://buttondown.email/nelhage/archive/notes-on-some-postgresql-implementation-details/</a> </li><li>Why we spent the last month eliminating PostgreSQL subtransactions (GitLab blog post) <a href="https://about.gitlab.com/blog/2021/09/29/why-we-spent-the-last-month-eliminating-postgresql-subtransactions/">https://about.gitlab.com/blog/2021/09/29/why-we-spent-the-last-month-eliminating-postgresql-subtransactions/</a>  </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss PostgreSQL subtransactions — what they are, and four issues they can cause at scale. <br> <br>Here are some links to things they mentioned:</p><ul><li>Subtransactions (docs) <a href="https://www.postgresql.org/docs/current/subxacts.html">https://www.postgresql.org/docs/current/subxacts.html</a>  </li><li>SAVEPOINT (docs) <a href="https://www.postgresql.org/docs/current/sql-savepoint.html">https://www.postgresql.org/docs/current/sql-savepoint.html</a>  </li><li>PostgreSQL Subtransactions Considered Harmful (blog post by Nikolay) <a href="https://postgres.ai/blog/20210831-postgresql-subtransactions-considered-harmful">https://postgres.ai/blog/20210831-postgresql-subtransactions-considered-harmful</a>  </li><li>Subtransactions and performance in PostgreSQL (blog post by Laurenz at Cybertec) <a href="https://www.cybertec-postgresql.com/en/subtransactions-and-performance-in-postgresql/">https://www.cybertec-postgresql.com/en/subtransactions-and-performance-in-postgresql/</a>  </li><li>Notes on some PostgreSQL implementation details (blog post by Nelson Elhage) <a href="https://buttondown.email/nelhage/archive/notes-on-some-postgresql-implementation-details/">https://buttondown.email/nelhage/archive/notes-on-some-postgresql-implementation-details/</a> </li><li>Why we spent the last month eliminating PostgreSQL subtransactions (GitLab blog post) <a href="https://about.gitlab.com/blog/2021/09/29/why-we-spent-the-last-month-eliminating-postgresql-subtransactions/">https://about.gitlab.com/blog/2021/09/29/why-we-spent-the-last-month-eliminating-postgresql-subtransactions/</a>  </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 24 Nov 2023 14:00:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/3cad743d/a43f35a2.mp3" length="23262260" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>1452</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss PostgreSQL subtransactions — what they are, and four issues they can cause at scale. <br> <br>Here are some links to things they mentioned:</p><ul><li>Subtransactions (docs) <a href="https://www.postgresql.org/docs/current/subxacts.html">https://www.postgresql.org/docs/current/subxacts.html</a>  </li><li>SAVEPOINT (docs) <a href="https://www.postgresql.org/docs/current/sql-savepoint.html">https://www.postgresql.org/docs/current/sql-savepoint.html</a>  </li><li>PostgreSQL Subtransactions Considered Harmful (blog post by Nikolay) <a href="https://postgres.ai/blog/20210831-postgresql-subtransactions-considered-harmful">https://postgres.ai/blog/20210831-postgresql-subtransactions-considered-harmful</a>  </li><li>Subtransactions and performance in PostgreSQL (blog post by Laurenz at Cybertec) <a href="https://www.cybertec-postgresql.com/en/subtransactions-and-performance-in-postgresql/">https://www.cybertec-postgresql.com/en/subtransactions-and-performance-in-postgresql/</a>  </li><li>Notes on some PostgreSQL implementation details (blog post by Nelson Elhage) <a href="https://buttondown.email/nelhage/archive/notes-on-some-postgresql-implementation-details/">https://buttondown.email/nelhage/archive/notes-on-some-postgresql-implementation-details/</a> </li><li>Why we spent the last month eliminating PostgreSQL subtransactions (GitLab blog post) <a href="https://about.gitlab.com/blog/2021/09/29/why-we-spent-the-last-month-eliminating-postgresql-subtransactions/">https://about.gitlab.com/blog/2021/09/29/why-we-spent-the-last-month-eliminating-postgresql-subtransactions/</a>  </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/3cad743d/transcript.txt" type="text/plain"/>
    </item>
    <item>
      <title>Companion databases</title>
      <itunes:episode>72</itunes:episode>
      <podcast:episode>72</podcast:episode>
      <itunes:title>Companion databases</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">c496cf2f-d39b-431c-b446-aa87ede3627c</guid>
      <link>https://share.transistor.fm/s/72c91d81</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss companion databases — when and why you might want to add another database management system to your stack (or not), and some specifics for analytics, timeseries, search, and vectors. <br> <br>Here are some links to things they mentioned:</p><ul><li>Heap were using Postgres + Citus for analytics as of 2022 <a href="https://www.heap.io/blog/juggling-state-machines-incident-response-and-data-soup-a-glimpse-into-heaps-engineering-culture">https://www.heap.io/blog/juggling-state-machines-incident-response-and-data-soup-a-glimpse-into-heaps-engineering-culture</a> </li><li>Heap recently moved their core analytics to SingleStore (we only spotted this after recording 🤦‍♂️) <a href="https://www.heap.io/blog/heaps-next-generation-data-platform">https://www.heap.io/blog/heaps-next-generation-data-platform</a> </li><li>Posthog moved their analytics from Postgres to Clickhouse <a href="https://posthog.com/blog/clickhouse-vs-postgres">https://posthog.com/blog/clickhouse-vs-postgres</a> </li><li>Timescale <a href="https://www.timescale.com/">https://www.timescale.com/</a> </li><li>Citus <a href="https://www.citusdata.com/">https://www.citusdata.com/</a> </li><li>Hydra <a href="https://www.hydra.so/">https://www.hydra.so/</a> </li><li>Our episode on real-time analytics <a href="https://postgres.fm/episodes/real-time-analytics">https://postgres.fm/episodes/real-time-analytics</a> </li><li>Our episode on queues <a href="https://postgres.fm/episodes/queues-in-postgres">https://postgres.fm/episodes/queues-in-postgres</a> </li><li>Our episode on logical replication <a href="https://postgres.fm/episodes/logical-replication">https://postgres.fm/episodes/logical-replication</a> </li><li>Full Text Search in PostgreSQL (docs) <a href="https://www.postgresql.org/docs/current/textsearch.html">https://www.postgresql.org/docs/current/textsearch.html</a> </li><li>ZomboDB <a href="https://www.zombodb.com/">https://www.zombodb.com/</a> </li><li>ParadeDB <a href="https://www.paradedb.com/">https://www.paradedb.com/</a> </li><li>PeerDB <a href="https://www.peerdb.io/">https://www.peerdb.io/</a> </li><li>RUM indexes <a href="https://github.com/postgrespro/rum">https://github.com/postgrespro/rum</a> </li><li>Debezium <a href="https://debezium.io/">https://debezium.io/</a> </li><li>pgmq <a href="https://github.com/tembo-io/pgmq">https://github.com/tembo-io/pgmq</a> </li><li>Tembo <a href="https://tembo.io/">https://tembo.io/</a> </li><li>pgvector vs Pinecone (Supabase blog post) <a href="https://supabase.com/blog/pgvector-vs-pinecone">https://supabase.com/blog/pgvector-vs-pinecone</a> </li><li>Jepsen analyses <a href="https://jepsen.io/analyses">https://jepsen.io/analyses</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss companion databases — when and why you might want to add another database management system to your stack (or not), and some specifics for analytics, timeseries, search, and vectors. <br> <br>Here are some links to things they mentioned:</p><ul><li>Heap were using Postgres + Citus for analytics as of 2022 <a href="https://www.heap.io/blog/juggling-state-machines-incident-response-and-data-soup-a-glimpse-into-heaps-engineering-culture">https://www.heap.io/blog/juggling-state-machines-incident-response-and-data-soup-a-glimpse-into-heaps-engineering-culture</a> </li><li>Heap recently moved their core analytics to SingleStore (we only spotted this after recording 🤦‍♂️) <a href="https://www.heap.io/blog/heaps-next-generation-data-platform">https://www.heap.io/blog/heaps-next-generation-data-platform</a> </li><li>Posthog moved their analytics from Postgres to Clickhouse <a href="https://posthog.com/blog/clickhouse-vs-postgres">https://posthog.com/blog/clickhouse-vs-postgres</a> </li><li>Timescale <a href="https://www.timescale.com/">https://www.timescale.com/</a> </li><li>Citus <a href="https://www.citusdata.com/">https://www.citusdata.com/</a> </li><li>Hydra <a href="https://www.hydra.so/">https://www.hydra.so/</a> </li><li>Our episode on real-time analytics <a href="https://postgres.fm/episodes/real-time-analytics">https://postgres.fm/episodes/real-time-analytics</a> </li><li>Our episode on queues <a href="https://postgres.fm/episodes/queues-in-postgres">https://postgres.fm/episodes/queues-in-postgres</a> </li><li>Our episode on logical replication <a href="https://postgres.fm/episodes/logical-replication">https://postgres.fm/episodes/logical-replication</a> </li><li>Full Text Search in PostgreSQL (docs) <a href="https://www.postgresql.org/docs/current/textsearch.html">https://www.postgresql.org/docs/current/textsearch.html</a> </li><li>ZomboDB <a href="https://www.zombodb.com/">https://www.zombodb.com/</a> </li><li>ParadeDB <a href="https://www.paradedb.com/">https://www.paradedb.com/</a> </li><li>PeerDB <a href="https://www.peerdb.io/">https://www.peerdb.io/</a> </li><li>RUM indexes <a href="https://github.com/postgrespro/rum">https://github.com/postgrespro/rum</a> </li><li>Debezium <a href="https://debezium.io/">https://debezium.io/</a> </li><li>pgmq <a href="https://github.com/tembo-io/pgmq">https://github.com/tembo-io/pgmq</a> </li><li>Tembo <a href="https://tembo.io/">https://tembo.io/</a> </li><li>pgvector vs Pinecone (Supabase blog post) <a href="https://supabase.com/blog/pgvector-vs-pinecone">https://supabase.com/blog/pgvector-vs-pinecone</a> </li><li>Jepsen analyses <a href="https://jepsen.io/analyses">https://jepsen.io/analyses</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 17 Nov 2023 14:00:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/72c91d81/b406a7ec.mp3" length="44144345" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2758</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss companion databases — when and why you might want to add another database management system to your stack (or not), and some specifics for analytics, timeseries, search, and vectors. <br> <br>Here are some links to things they mentioned:</p><ul><li>Heap were using Postgres + Citus for analytics as of 2022 <a href="https://www.heap.io/blog/juggling-state-machines-incident-response-and-data-soup-a-glimpse-into-heaps-engineering-culture">https://www.heap.io/blog/juggling-state-machines-incident-response-and-data-soup-a-glimpse-into-heaps-engineering-culture</a> </li><li>Heap recently moved their core analytics to SingleStore (we only spotted this after recording 🤦‍♂️) <a href="https://www.heap.io/blog/heaps-next-generation-data-platform">https://www.heap.io/blog/heaps-next-generation-data-platform</a> </li><li>Posthog moved their analytics from Postgres to Clickhouse <a href="https://posthog.com/blog/clickhouse-vs-postgres">https://posthog.com/blog/clickhouse-vs-postgres</a> </li><li>Timescale <a href="https://www.timescale.com/">https://www.timescale.com/</a> </li><li>Citus <a href="https://www.citusdata.com/">https://www.citusdata.com/</a> </li><li>Hydra <a href="https://www.hydra.so/">https://www.hydra.so/</a> </li><li>Our episode on real-time analytics <a href="https://postgres.fm/episodes/real-time-analytics">https://postgres.fm/episodes/real-time-analytics</a> </li><li>Our episode on queues <a href="https://postgres.fm/episodes/queues-in-postgres">https://postgres.fm/episodes/queues-in-postgres</a> </li><li>Our episode on logical replication <a href="https://postgres.fm/episodes/logical-replication">https://postgres.fm/episodes/logical-replication</a> </li><li>Full Text Search in PostgreSQL (docs) <a href="https://www.postgresql.org/docs/current/textsearch.html">https://www.postgresql.org/docs/current/textsearch.html</a> </li><li>ZomboDB <a href="https://www.zombodb.com/">https://www.zombodb.com/</a> </li><li>ParadeDB <a href="https://www.paradedb.com/">https://www.paradedb.com/</a> </li><li>PeerDB <a href="https://www.peerdb.io/">https://www.peerdb.io/</a> </li><li>RUM indexes <a href="https://github.com/postgrespro/rum">https://github.com/postgrespro/rum</a> </li><li>Debezium <a href="https://debezium.io/">https://debezium.io/</a> </li><li>pgmq <a href="https://github.com/tembo-io/pgmq">https://github.com/tembo-io/pgmq</a> </li><li>Tembo <a href="https://tembo.io/">https://tembo.io/</a> </li><li>pgvector vs Pinecone (Supabase blog post) <a href="https://supabase.com/blog/pgvector-vs-pinecone">https://supabase.com/blog/pgvector-vs-pinecone</a> </li><li>Jepsen analyses <a href="https://jepsen.io/analyses">https://jepsen.io/analyses</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/72c91d81/transcript.txt" type="text/plain"/>
    </item>
    <item>
      <title>Blue-green deployments</title>
      <itunes:episode>71</itunes:episode>
      <podcast:episode>71</podcast:episode>
      <itunes:title>Blue-green deployments</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">3e995443-d151-41e4-ad68-96977a95a032</guid>
      <link>https://share.transistor.fm/s/2d4861ca</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss blue-green deployments — specifically an RDS blog post, how similar this is (or not) to what they understand to be blue-green deployments, and how applicable the methodology might be in the database world more generally. <br> <br>Here are some links to things they mentioned:</p><ul><li>Fully managed Blue/Green Deployment in Amazon Aurora PostgreSQL and Amazon RDS for PostgreSQL <a href="https://aws.amazon.com/blogs/database/new-fully-managed-blue-green-deployment-in-amazon-aurora-postgresql-and-amazon-rds-for-postgresql/">https://aws.amazon.com/blogs/database/new-fully-managed-blue-green-deployment-in-amazon-aurora-postgresql-and-amazon-rds-for-postgresql/</a>  </li><li>Blue-green deployment (blog post by Martin Fowler) <a href="https://martinfowler.com/bliki/BlueGreenDeployment.html">https://martinfowler.com/bliki/BlueGreenDeployment.html</a>  </li><li>Our episode on logical replication <a href="https://postgres.fm/episodes/logical-replication">https://postgres.fm/episodes/logical-replication</a> </li><li>pgroll <a href="https://github.com/xataio/pgroll">https://github.com/xataio/pgroll</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss blue-green deployments — specifically an RDS blog post, how similar this is (or not) to what they understand to be blue-green deployments, and how applicable the methodology might be in the database world more generally. <br> <br>Here are some links to things they mentioned:</p><ul><li>Fully managed Blue/Green Deployment in Amazon Aurora PostgreSQL and Amazon RDS for PostgreSQL <a href="https://aws.amazon.com/blogs/database/new-fully-managed-blue-green-deployment-in-amazon-aurora-postgresql-and-amazon-rds-for-postgresql/">https://aws.amazon.com/blogs/database/new-fully-managed-blue-green-deployment-in-amazon-aurora-postgresql-and-amazon-rds-for-postgresql/</a>  </li><li>Blue-green deployment (blog post by Martin Fowler) <a href="https://martinfowler.com/bliki/BlueGreenDeployment.html">https://martinfowler.com/bliki/BlueGreenDeployment.html</a>  </li><li>Our episode on logical replication <a href="https://postgres.fm/episodes/logical-replication">https://postgres.fm/episodes/logical-replication</a> </li><li>pgroll <a href="https://github.com/xataio/pgroll">https://github.com/xataio/pgroll</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 10 Nov 2023 14:00:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/2d4861ca/58827ebb.mp3" length="42016520" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2625</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss blue-green deployments — specifically an RDS blog post, how similar this is (or not) to what they understand to be blue-green deployments, and how applicable the methodology might be in the database world more generally. <br> <br>Here are some links to things they mentioned:</p><ul><li>Fully managed Blue/Green Deployment in Amazon Aurora PostgreSQL and Amazon RDS for PostgreSQL <a href="https://aws.amazon.com/blogs/database/new-fully-managed-blue-green-deployment-in-amazon-aurora-postgresql-and-amazon-rds-for-postgresql/">https://aws.amazon.com/blogs/database/new-fully-managed-blue-green-deployment-in-amazon-aurora-postgresql-and-amazon-rds-for-postgresql/</a>  </li><li>Blue-green deployment (blog post by Martin Fowler) <a href="https://martinfowler.com/bliki/BlueGreenDeployment.html">https://martinfowler.com/bliki/BlueGreenDeployment.html</a>  </li><li>Our episode on logical replication <a href="https://postgres.fm/episodes/logical-replication">https://postgres.fm/episodes/logical-replication</a> </li><li>pgroll <a href="https://github.com/xataio/pgroll">https://github.com/xataio/pgroll</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/2d4861ca/transcript.txt" type="text/plain"/>
    </item>
    <item>
      <title>Data model trade-offs</title>
      <itunes:episode>70</itunes:episode>
      <podcast:episode>70</podcast:episode>
      <itunes:title>Data model trade-offs</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">512a677f-aeca-47d5-87da-7a707903d07f</guid>
      <link>https://share.transistor.fm/s/758958ca</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss data model trade-offs — some cases where you might want to (gasp) de-normalize, and which PostgreSQL internals are at play. <br> <br>Here are some links to things they mentioned:</p><ul><li>Our episode on JSON <a href="https://postgres.fm/episodes/json">https://postgres.fm/episodes/json</a> </li><li>PostgreSQL limits <a href="https://www.postgresql.org/docs/current/limits.html">https://www.postgresql.org/docs/current/limits.html</a></li><li>Boyce–Codd normal form <a href="https://en.wikipedia.org/wiki/Boyce%E2%80%93Codd_normal_form%20">https://en.wikipedia.org/wiki/Boyce–Codd_normal_form</a> </li><li>Our episode on over-indexing <a href="https://postgres.fm/episodes/over-indexing">https://postgres.fm/episodes/over-indexing</a> </li><li>Heap-Only Tuples (HOT) optimisation <a href="https://www.postgresql.org/docs/current/storage-hot.html">https://www.postgresql.org/docs/current/storage-hot.html</a> </li><li>The Surprising Impact of Medium-Size Texts on PostgreSQL Performance <a href="https://hakibenita.com/sql-medium-text-performance">https://hakibenita.com/sql-medium-text-performance</a> </li><li>Query planner settings (collapse limits and Genetic Query Optimizer) <a href="https://www.postgresql.org/docs/current/runtime-config-query.html">https://www.postgresql.org/docs/current/runtime-config-query.html</a></li><li> WITH Queries (Common Table Expressions) <a href="https://www.postgresql.org/docs/current/queries-with.html">https://www.postgresql.org/docs/current/queries-with.html</a> </li><li>Our episode on benchmarking <a href="https://postgres.fm/episodes/benchmarking">https://postgres.fm/episodes/benchmarking</a> </li><li>The tests and benchmarks Nikolay mentioned <a href="https://gitlab.com/postgres-ai/postgresql-consulting/tests-and-benchmarks/-/issues">https://gitlab.com/postgres-ai/postgresql-consulting/tests-and-benchmarks/-/issues</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss data model trade-offs — some cases where you might want to (gasp) de-normalize, and which PostgreSQL internals are at play. <br> <br>Here are some links to things they mentioned:</p><ul><li>Our episode on JSON <a href="https://postgres.fm/episodes/json">https://postgres.fm/episodes/json</a> </li><li>PostgreSQL limits <a href="https://www.postgresql.org/docs/current/limits.html">https://www.postgresql.org/docs/current/limits.html</a></li><li>Boyce–Codd normal form <a href="https://en.wikipedia.org/wiki/Boyce%E2%80%93Codd_normal_form%20">https://en.wikipedia.org/wiki/Boyce–Codd_normal_form</a> </li><li>Our episode on over-indexing <a href="https://postgres.fm/episodes/over-indexing">https://postgres.fm/episodes/over-indexing</a> </li><li>Heap-Only Tuples (HOT) optimisation <a href="https://www.postgresql.org/docs/current/storage-hot.html">https://www.postgresql.org/docs/current/storage-hot.html</a> </li><li>The Surprising Impact of Medium-Size Texts on PostgreSQL Performance <a href="https://hakibenita.com/sql-medium-text-performance">https://hakibenita.com/sql-medium-text-performance</a> </li><li>Query planner settings (collapse limits and Genetic Query Optimizer) <a href="https://www.postgresql.org/docs/current/runtime-config-query.html">https://www.postgresql.org/docs/current/runtime-config-query.html</a></li><li> WITH Queries (Common Table Expressions) <a href="https://www.postgresql.org/docs/current/queries-with.html">https://www.postgresql.org/docs/current/queries-with.html</a> </li><li>Our episode on benchmarking <a href="https://postgres.fm/episodes/benchmarking">https://postgres.fm/episodes/benchmarking</a> </li><li>The tests and benchmarks Nikolay mentioned <a href="https://gitlab.com/postgres-ai/postgresql-consulting/tests-and-benchmarks/-/issues">https://gitlab.com/postgres-ai/postgresql-consulting/tests-and-benchmarks/-/issues</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 03 Nov 2023 14:00:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/758958ca/0b4dd41f.mp3" length="36570092" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2284</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss data model trade-offs — some cases where you might want to (gasp) de-normalize, and which PostgreSQL internals are at play. <br> <br>Here are some links to things they mentioned:</p><ul><li>Our episode on JSON <a href="https://postgres.fm/episodes/json">https://postgres.fm/episodes/json</a> </li><li>PostgreSQL limits <a href="https://www.postgresql.org/docs/current/limits.html">https://www.postgresql.org/docs/current/limits.html</a></li><li>Boyce–Codd normal form <a href="https://en.wikipedia.org/wiki/Boyce%E2%80%93Codd_normal_form%20">https://en.wikipedia.org/wiki/Boyce–Codd_normal_form</a> </li><li>Our episode on over-indexing <a href="https://postgres.fm/episodes/over-indexing">https://postgres.fm/episodes/over-indexing</a> </li><li>Heap-Only Tuples (HOT) optimisation <a href="https://www.postgresql.org/docs/current/storage-hot.html">https://www.postgresql.org/docs/current/storage-hot.html</a> </li><li>The Surprising Impact of Medium-Size Texts on PostgreSQL Performance <a href="https://hakibenita.com/sql-medium-text-performance">https://hakibenita.com/sql-medium-text-performance</a> </li><li>Query planner settings (collapse limits and Genetic Query Optimizer) <a href="https://www.postgresql.org/docs/current/runtime-config-query.html">https://www.postgresql.org/docs/current/runtime-config-query.html</a></li><li> WITH Queries (Common Table Expressions) <a href="https://www.postgresql.org/docs/current/queries-with.html">https://www.postgresql.org/docs/current/queries-with.html</a> </li><li>Our episode on benchmarking <a href="https://postgres.fm/episodes/benchmarking">https://postgres.fm/episodes/benchmarking</a> </li><li>The tests and benchmarks Nikolay mentioned <a href="https://gitlab.com/postgres-ai/postgresql-consulting/tests-and-benchmarks/-/issues">https://gitlab.com/postgres-ai/postgresql-consulting/tests-and-benchmarks/-/issues</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/758958ca/transcript.txt" type="text/plain"/>
    </item>
    <item>
      <title>Under-indexing</title>
      <itunes:episode>69</itunes:episode>
      <podcast:episode>69</podcast:episode>
      <itunes:title>Under-indexing</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">5c8d85b8-f260-4172-a5f2-54f95ad88e7e</guid>
      <link>https://share.transistor.fm/s/b04e8d10</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss under-indexing — how to tell if this applies to you, some general and specific cases, as well as some tricky ones. <br> <br>Here are some links to things they mentioned:</p><ul><li>Indexes (docs) <a href="https://www.postgresql.org/docs/current/indexes.html">https://www.postgresql.org/docs/current/indexes.html</a> </li><li>random_page_cost <a href="https://postgresqlco.nf/doc/en/param/random_page_cost/">https://postgresqlco.nf/doc/en/param/random_page_cost/</a></li><li>Sequential scans <a href="https://www.pgmustard.com/docs/explain/sequential-scan">https://www.pgmustard.com/docs/explain/sequential-scan</a>  </li><li>pg_stat_user_tables <a href="https://pgpedia.info/p/pg_stat_user_tables.html">https://pgpedia.info/p/pg_stat_user_tables.html</a> </li><li>pg_stat_statements <a href="https://www.postgresql.org/docs/current/pgstatstatements.html">https://www.postgresql.org/docs/current/pgstatstatements.html</a></li><li>auto_explain <a href="https://www.postgresql.org/docs/current/auto-explain.html">https://www.postgresql.org/docs/current/auto-explain.html</a> </li><li>Our episode on slow queries <a href="https://postgres.fm/episodes/slow-queries-and-slow-transactions">https://postgres.fm/episodes/slow-queries-and-slow-transactions</a> </li><li>Our episode on query macro analysis <a href="https://postgres.fm/episodes/macro-query-analysis-intro">https://postgres.fm/episodes/macro-query-analysis-intro</a></li><li>Running 10 Million PostgreSQL Indexes In Production (And Counting) <a href="https://www.heap.io/blog/running-10-million-postgresql-indexes-in-production">https://www.heap.io/blog/running-10-million-postgresql-indexes-in-production</a> </li><li>Faceting large result sets in PostgreSQL <a href="https://www.cybertec-postgresql.com/en/faceting-large-result-sets/">https://www.cybertec-postgresql.com/en/faceting-large-result-sets/</a> </li><li>Our episode on over-indexing <a href="https://postgres.fm/episodes/over-indexing">https://postgres.fm/episodes/over-indexing</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss under-indexing — how to tell if this applies to you, some general and specific cases, as well as some tricky ones. <br> <br>Here are some links to things they mentioned:</p><ul><li>Indexes (docs) <a href="https://www.postgresql.org/docs/current/indexes.html">https://www.postgresql.org/docs/current/indexes.html</a> </li><li>random_page_cost <a href="https://postgresqlco.nf/doc/en/param/random_page_cost/">https://postgresqlco.nf/doc/en/param/random_page_cost/</a></li><li>Sequential scans <a href="https://www.pgmustard.com/docs/explain/sequential-scan">https://www.pgmustard.com/docs/explain/sequential-scan</a>  </li><li>pg_stat_user_tables <a href="https://pgpedia.info/p/pg_stat_user_tables.html">https://pgpedia.info/p/pg_stat_user_tables.html</a> </li><li>pg_stat_statements <a href="https://www.postgresql.org/docs/current/pgstatstatements.html">https://www.postgresql.org/docs/current/pgstatstatements.html</a></li><li>auto_explain <a href="https://www.postgresql.org/docs/current/auto-explain.html">https://www.postgresql.org/docs/current/auto-explain.html</a> </li><li>Our episode on slow queries <a href="https://postgres.fm/episodes/slow-queries-and-slow-transactions">https://postgres.fm/episodes/slow-queries-and-slow-transactions</a> </li><li>Our episode on query macro analysis <a href="https://postgres.fm/episodes/macro-query-analysis-intro">https://postgres.fm/episodes/macro-query-analysis-intro</a></li><li>Running 10 Million PostgreSQL Indexes In Production (And Counting) <a href="https://www.heap.io/blog/running-10-million-postgresql-indexes-in-production">https://www.heap.io/blog/running-10-million-postgresql-indexes-in-production</a> </li><li>Faceting large result sets in PostgreSQL <a href="https://www.cybertec-postgresql.com/en/faceting-large-result-sets/">https://www.cybertec-postgresql.com/en/faceting-large-result-sets/</a> </li><li>Our episode on over-indexing <a href="https://postgres.fm/episodes/over-indexing">https://postgres.fm/episodes/over-indexing</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 27 Oct 2023 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/b04e8d10/82fe27a4.mp3" length="33242287" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2076</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss under-indexing — how to tell if this applies to you, some general and specific cases, as well as some tricky ones. <br> <br>Here are some links to things they mentioned:</p><ul><li>Indexes (docs) <a href="https://www.postgresql.org/docs/current/indexes.html">https://www.postgresql.org/docs/current/indexes.html</a> </li><li>random_page_cost <a href="https://postgresqlco.nf/doc/en/param/random_page_cost/">https://postgresqlco.nf/doc/en/param/random_page_cost/</a></li><li>Sequential scans <a href="https://www.pgmustard.com/docs/explain/sequential-scan">https://www.pgmustard.com/docs/explain/sequential-scan</a>  </li><li>pg_stat_user_tables <a href="https://pgpedia.info/p/pg_stat_user_tables.html">https://pgpedia.info/p/pg_stat_user_tables.html</a> </li><li>pg_stat_statements <a href="https://www.postgresql.org/docs/current/pgstatstatements.html">https://www.postgresql.org/docs/current/pgstatstatements.html</a></li><li>auto_explain <a href="https://www.postgresql.org/docs/current/auto-explain.html">https://www.postgresql.org/docs/current/auto-explain.html</a> </li><li>Our episode on slow queries <a href="https://postgres.fm/episodes/slow-queries-and-slow-transactions">https://postgres.fm/episodes/slow-queries-and-slow-transactions</a> </li><li>Our episode on query macro analysis <a href="https://postgres.fm/episodes/macro-query-analysis-intro">https://postgres.fm/episodes/macro-query-analysis-intro</a></li><li>Running 10 Million PostgreSQL Indexes In Production (And Counting) <a href="https://www.heap.io/blog/running-10-million-postgresql-indexes-in-production">https://www.heap.io/blog/running-10-million-postgresql-indexes-in-production</a> </li><li>Faceting large result sets in PostgreSQL <a href="https://www.cybertec-postgresql.com/en/faceting-large-result-sets/">https://www.cybertec-postgresql.com/en/faceting-large-result-sets/</a> </li><li>Our episode on over-indexing <a href="https://postgres.fm/episodes/over-indexing">https://postgres.fm/episodes/over-indexing</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/b04e8d10/transcript.txt" type="text/plain"/>
    </item>
    <item>
      <title>Over-indexing</title>
      <itunes:episode>68</itunes:episode>
      <podcast:episode>68</podcast:episode>
      <itunes:title>Over-indexing</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">c309c9b9-94aa-4177-b082-b22105365a90</guid>
      <link>https://share.transistor.fm/s/dd45e301</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss over-indexing — what we mean by it, the regular issues people discuss about it, as well as a novel one Nikolay has come across and benchmarked recently. <br> <br>Here are some links to things they mentioned:</p><ul><li>Nikolay’s tweet on over-indexing <a href="https://twitter.com/samokhvalov/status/1713101666629927112">https://twitter.com/samokhvalov/status/1713101666629927112</a> </li><li>Heap-Only Tuples (HOT) optimization <a href="https://www.postgresql.org/docs/current/storage-hot.html">https://www.postgresql.org/docs/current/storage-hot.html</a> </li><li>Our episode on index maintenance <a href="https://postgres.fm/episodes/index-maintenance">https://postgres.fm/episodes/index-maintenance</a> </li><li>PgBouncer now supports prepared statements <a href="https://github.com/pgbouncer/pgbouncer/releases/tag/pgbouncer_1_21_0">https://github.com/pgbouncer/pgbouncer/releases/tag/pgbouncer_1_21_0</a> </li><li>Our episode on connection poolers <a href="https://postgres.fm/episodes/connection-poolers">https://postgres.fm/episodes/connection-poolers</a> </li><li>Configurable FP_LOCK_SLOTS_PER_BACKEND (Hackers mailing list discussion) <a href="https://www.postgresql.org/message-id/flat/CAM527d-uDn5osa6QPKxHAC6srOfBH3M8iXUM%3DewqHV6n%3Dw1u8Q%40mail.gmail.com">https://www.postgresql.org/message-id/flat/CAM527d-uDn5osa6QPKxHAC6srOfBH3M8iXUM%3DewqHV6n%3Dw1u8Q%40mail.gmail.com</a> </li><li>LWLock:lock_manager (Amazon RDS docs) <a href="https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/wait-event.lw-lock-manager.html">https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/wait-event.lw-lock-manager.html</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss over-indexing — what we mean by it, the regular issues people discuss about it, as well as a novel one Nikolay has come across and benchmarked recently. <br> <br>Here are some links to things they mentioned:</p><ul><li>Nikolay’s tweet on over-indexing <a href="https://twitter.com/samokhvalov/status/1713101666629927112">https://twitter.com/samokhvalov/status/1713101666629927112</a> </li><li>Heap-Only Tuples (HOT) optimization <a href="https://www.postgresql.org/docs/current/storage-hot.html">https://www.postgresql.org/docs/current/storage-hot.html</a> </li><li>Our episode on index maintenance <a href="https://postgres.fm/episodes/index-maintenance">https://postgres.fm/episodes/index-maintenance</a> </li><li>PgBouncer now supports prepared statements <a href="https://github.com/pgbouncer/pgbouncer/releases/tag/pgbouncer_1_21_0">https://github.com/pgbouncer/pgbouncer/releases/tag/pgbouncer_1_21_0</a> </li><li>Our episode on connection poolers <a href="https://postgres.fm/episodes/connection-poolers">https://postgres.fm/episodes/connection-poolers</a> </li><li>Configurable FP_LOCK_SLOTS_PER_BACKEND (Hackers mailing list discussion) <a href="https://www.postgresql.org/message-id/flat/CAM527d-uDn5osa6QPKxHAC6srOfBH3M8iXUM%3DewqHV6n%3Dw1u8Q%40mail.gmail.com">https://www.postgresql.org/message-id/flat/CAM527d-uDn5osa6QPKxHAC6srOfBH3M8iXUM%3DewqHV6n%3Dw1u8Q%40mail.gmail.com</a> </li><li>LWLock:lock_manager (Amazon RDS docs) <a href="https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/wait-event.lw-lock-manager.html">https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/wait-event.lw-lock-manager.html</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 20 Oct 2023 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/dd45e301/38ee4db7.mp3" length="41071079" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2565</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss over-indexing — what we mean by it, the regular issues people discuss about it, as well as a novel one Nikolay has come across and benchmarked recently. <br> <br>Here are some links to things they mentioned:</p><ul><li>Nikolay’s tweet on over-indexing <a href="https://twitter.com/samokhvalov/status/1713101666629927112">https://twitter.com/samokhvalov/status/1713101666629927112</a> </li><li>Heap-Only Tuples (HOT) optimization <a href="https://www.postgresql.org/docs/current/storage-hot.html">https://www.postgresql.org/docs/current/storage-hot.html</a> </li><li>Our episode on index maintenance <a href="https://postgres.fm/episodes/index-maintenance">https://postgres.fm/episodes/index-maintenance</a> </li><li>PgBouncer now supports prepared statements <a href="https://github.com/pgbouncer/pgbouncer/releases/tag/pgbouncer_1_21_0">https://github.com/pgbouncer/pgbouncer/releases/tag/pgbouncer_1_21_0</a> </li><li>Our episode on connection poolers <a href="https://postgres.fm/episodes/connection-poolers">https://postgres.fm/episodes/connection-poolers</a> </li><li>Configurable FP_LOCK_SLOTS_PER_BACKEND (Hackers mailing list discussion) <a href="https://www.postgresql.org/message-id/flat/CAM527d-uDn5osa6QPKxHAC6srOfBH3M8iXUM%3DewqHV6n%3Dw1u8Q%40mail.gmail.com">https://www.postgresql.org/message-id/flat/CAM527d-uDn5osa6QPKxHAC6srOfBH3M8iXUM%3DewqHV6n%3Dw1u8Q%40mail.gmail.com</a> </li><li>LWLock:lock_manager (Amazon RDS docs) <a href="https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/wait-event.lw-lock-manager.html">https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/wait-event.lw-lock-manager.html</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/dd45e301/transcript.txt" type="text/plain"/>
    </item>
    <item>
      <title>Query hints</title>
      <itunes:episode>67</itunes:episode>
      <podcast:episode>67</podcast:episode>
      <itunes:title>Query hints</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">a31ef57c-04f6-4c9f-b2bb-b60fa3fef6c4</guid>
      <link>https://share.transistor.fm/s/792af68e</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss query hints — what they are, what we do and don't have in PostgreSQL, and some other things in and around the ecosystem to be aware of. <br> <br>Here are some links to some extra things they mentioned:</p><ul><li>Query planning (docs) <a href="https://www.postgresql.org/docs/current/runtime-config-query.html">https://www.postgresql.org/docs/current/runtime-config-query.html</a> </li><li>Statistics used by the planner (docs) <a href="https://www.postgresql.org/docs/current/planner-stats.html">https://www.postgresql.org/docs/current/planner-stats.html</a> </li><li>default_statistics_target  <a href="https://www.postgresql.org/docs/current/runtime-config-query.html#GUC-DEFAULT-STATISTICS-TARGET">https://www.postgresql.org/docs/current/runtime-config-query.html#GUC-DEFAULT-STATISTICS-TARGET</a> </li><li>Optimiser hints discussion (wiki) <a href="https://wiki.postgresql.org/wiki/OptimizerHintsDiscussion">https://wiki.postgresql.org/wiki/OptimizerHintsDiscussion</a>  </li><li>An example mailing list thread from 2006 <a href="https://www.postgresql.org/message-id/flat/20061012151439.GT28647%40nasby.net">https://www.postgresql.org/message-id/flat/20061012151439.GT28647%40nasby.net</a>  </li><li>Peter Geoghegan tweet regarding invalid index <a href="https://twitter.com/petervgeoghegan/status/1599191964045672449">https://twitter.com/petervgeoghegan/status/1599191964045672449</a> </li><li>plantuner <a href="http://sigaev.ru/git/gitweb.cgi?p=plantuner.git;a=blob;hb=HEAD;f=README.plantuner">http://sigaev.ru/git/gitweb.cgi?p=plantuner.git;a=blob;hb=HEAD;f=README.plantuner</a></li><li>pg_hint_plan <a href="https://github.com/ossc-db/pg_hint_plan">https://github.com/ossc-db/pg_hint_plan</a> </li><li>Aurora PostgreSQL query plan management <a href="https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Optimize.overview.html">https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Optimize.overview.html</a> </li><li>Building automatic adviser &amp; performance tuning tools - Julien Rouhaud &amp; Tatsuro Yamada: PGCon 2020 (the completely misremembered presentation Michael mentioned 🙈) <a href="https://www.youtube.com/watch?v=LQZK6p3SwwA">https://www.youtube.com/watch?v=LQZK6p3SwwA</a> </li><li>hypopg <a href="https://github.com/HypoPG/hypopg">https://github.com/HypoPG/hypopg</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss query hints — what they are, what we do and don't have in PostgreSQL, and some other things in and around the ecosystem to be aware of. <br> <br>Here are some links to some extra things they mentioned:</p><ul><li>Query planning (docs) <a href="https://www.postgresql.org/docs/current/runtime-config-query.html">https://www.postgresql.org/docs/current/runtime-config-query.html</a> </li><li>Statistics used by the planner (docs) <a href="https://www.postgresql.org/docs/current/planner-stats.html">https://www.postgresql.org/docs/current/planner-stats.html</a> </li><li>default_statistics_target  <a href="https://www.postgresql.org/docs/current/runtime-config-query.html#GUC-DEFAULT-STATISTICS-TARGET">https://www.postgresql.org/docs/current/runtime-config-query.html#GUC-DEFAULT-STATISTICS-TARGET</a> </li><li>Optimiser hints discussion (wiki) <a href="https://wiki.postgresql.org/wiki/OptimizerHintsDiscussion">https://wiki.postgresql.org/wiki/OptimizerHintsDiscussion</a>  </li><li>An example mailing list thread from 2006 <a href="https://www.postgresql.org/message-id/flat/20061012151439.GT28647%40nasby.net">https://www.postgresql.org/message-id/flat/20061012151439.GT28647%40nasby.net</a>  </li><li>Peter Geoghegan tweet regarding invalid index <a href="https://twitter.com/petervgeoghegan/status/1599191964045672449">https://twitter.com/petervgeoghegan/status/1599191964045672449</a> </li><li>plantuner <a href="http://sigaev.ru/git/gitweb.cgi?p=plantuner.git;a=blob;hb=HEAD;f=README.plantuner">http://sigaev.ru/git/gitweb.cgi?p=plantuner.git;a=blob;hb=HEAD;f=README.plantuner</a></li><li>pg_hint_plan <a href="https://github.com/ossc-db/pg_hint_plan">https://github.com/ossc-db/pg_hint_plan</a> </li><li>Aurora PostgreSQL query plan management <a href="https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Optimize.overview.html">https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Optimize.overview.html</a> </li><li>Building automatic adviser &amp; performance tuning tools - Julien Rouhaud &amp; Tatsuro Yamada: PGCon 2020 (the completely misremembered presentation Michael mentioned 🙈) <a href="https://www.youtube.com/watch?v=LQZK6p3SwwA">https://www.youtube.com/watch?v=LQZK6p3SwwA</a> </li><li>hypopg <a href="https://github.com/HypoPG/hypopg">https://github.com/HypoPG/hypopg</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 13 Oct 2023 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/792af68e/c859ecdd.mp3" length="34224485" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2138</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss query hints — what they are, what we do and don't have in PostgreSQL, and some other things in and around the ecosystem to be aware of. <br> <br>Here are some links to some extra things they mentioned:</p><ul><li>Query planning (docs) <a href="https://www.postgresql.org/docs/current/runtime-config-query.html">https://www.postgresql.org/docs/current/runtime-config-query.html</a> </li><li>Statistics used by the planner (docs) <a href="https://www.postgresql.org/docs/current/planner-stats.html">https://www.postgresql.org/docs/current/planner-stats.html</a> </li><li>default_statistics_target  <a href="https://www.postgresql.org/docs/current/runtime-config-query.html#GUC-DEFAULT-STATISTICS-TARGET">https://www.postgresql.org/docs/current/runtime-config-query.html#GUC-DEFAULT-STATISTICS-TARGET</a> </li><li>Optimiser hints discussion (wiki) <a href="https://wiki.postgresql.org/wiki/OptimizerHintsDiscussion">https://wiki.postgresql.org/wiki/OptimizerHintsDiscussion</a>  </li><li>An example mailing list thread from 2006 <a href="https://www.postgresql.org/message-id/flat/20061012151439.GT28647%40nasby.net">https://www.postgresql.org/message-id/flat/20061012151439.GT28647%40nasby.net</a>  </li><li>Peter Geoghegan tweet regarding invalid index <a href="https://twitter.com/petervgeoghegan/status/1599191964045672449">https://twitter.com/petervgeoghegan/status/1599191964045672449</a> </li><li>plantuner <a href="http://sigaev.ru/git/gitweb.cgi?p=plantuner.git;a=blob;hb=HEAD;f=README.plantuner">http://sigaev.ru/git/gitweb.cgi?p=plantuner.git;a=blob;hb=HEAD;f=README.plantuner</a></li><li>pg_hint_plan <a href="https://github.com/ossc-db/pg_hint_plan">https://github.com/ossc-db/pg_hint_plan</a> </li><li>Aurora PostgreSQL query plan management <a href="https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Optimize.overview.html">https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Optimize.overview.html</a> </li><li>Building automatic adviser &amp; performance tuning tools - Julien Rouhaud &amp; Tatsuro Yamada: PGCon 2020 (the completely misremembered presentation Michael mentioned 🙈) <a href="https://www.youtube.com/watch?v=LQZK6p3SwwA">https://www.youtube.com/watch?v=LQZK6p3SwwA</a> </li><li>hypopg <a href="https://github.com/HypoPG/hypopg">https://github.com/HypoPG/hypopg</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/792af68e/transcript.txt" type="text/plain"/>
    </item>
    <item>
      <title>Stop and start Postgres faster</title>
      <itunes:episode>66</itunes:episode>
      <podcast:episode>66</podcast:episode>
      <itunes:title>Stop and start Postgres faster</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">c2e251b9-2526-4260-a529-f87dacca0b20</guid>
      <link>https://share.transistor.fm/s/d0f61c12</link>
      <description>
        <![CDATA[<p>In this episode (recorded live on <a href="https://youtube.com/PostgresTV">YouTube</a>), Nikolay discusses Postgres shutdown and startup times – how to troubleshoot them and, when needed, optimize. <br> <br>Some extra things mentioned in this episode:</p><ul><li>#PostgresMarathon series – every day, Nikolay posts a new howto-style article <a href="https://twitter.com/hashtag/PostgresMarathon">https://twitter.com/hashtag/PostgresMarathon</a></li><li>Day 2: Postgres shutdown and restart attempts <a href="https://twitter.com/samokhvalov/status/1707147450044297673">https://twitter.com/samokhvalov/status/1707147450044297673</a></li><li>Day 3: How to troubleshoot long Postgres startup <a href="https://twitter.com/samokhvalov/status/1707466169245171773">https://twitter.com/samokhvalov/status/1707466169245171773</a></li><li>GitLab repo with #PostgresMarathon posts (markdown): <a href="https://gitlab.com/postgres-ai/postgresql-consulting/postgres-howtos">https://gitlab.com/postgres-ai/postgresql-consulting/postgres-howtos</a></li><li>Episode 010 "WAL and checkpoint tuning": <a href="https://postgres.fm/episodes/wal-and-checkpoint-tuning">https://postgres.fm/episodes/wal-and-checkpoint-tuning</a></li></ul><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>In this episode (recorded live on <a href="https://youtube.com/PostgresTV">YouTube</a>), Nikolay discusses Postgres shutdown and startup times – how to troubleshoot them and, when needed, optimize. <br> <br>Some extra things mentioned in this episode:</p><ul><li>#PostgresMarathon series – every day, Nikolay posts a new howto-style article <a href="https://twitter.com/hashtag/PostgresMarathon">https://twitter.com/hashtag/PostgresMarathon</a></li><li>Day 2: Postgres shutdown and restart attempts <a href="https://twitter.com/samokhvalov/status/1707147450044297673">https://twitter.com/samokhvalov/status/1707147450044297673</a></li><li>Day 3: How to troubleshoot long Postgres startup <a href="https://twitter.com/samokhvalov/status/1707466169245171773">https://twitter.com/samokhvalov/status/1707466169245171773</a></li><li>GitLab repo with #PostgresMarathon posts (markdown): <a href="https://gitlab.com/postgres-ai/postgresql-consulting/postgres-howtos">https://gitlab.com/postgres-ai/postgresql-consulting/postgres-howtos</a></li><li>Episode 010 "WAL and checkpoint tuning": <a href="https://postgres.fm/episodes/wal-and-checkpoint-tuning">https://postgres.fm/episodes/wal-and-checkpoint-tuning</a></li></ul><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Sat, 07 Oct 2023 15:10:04 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/d0f61c12/c5c1c0e8.mp3" length="28778890" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>1797</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>In this episode (recorded live on <a href="https://youtube.com/PostgresTV">YouTube</a>), Nikolay discusses Postgres shutdown and startup times – how to troubleshoot them and, when needed, optimize. <br> <br>Some extra things mentioned in this episode:</p><ul><li>#PostgresMarathon series – every day, Nikolay posts a new howto-style article <a href="https://twitter.com/hashtag/PostgresMarathon">https://twitter.com/hashtag/PostgresMarathon</a></li><li>Day 2: Postgres shutdown and restart attempts <a href="https://twitter.com/samokhvalov/status/1707147450044297673">https://twitter.com/samokhvalov/status/1707147450044297673</a></li><li>Day 3: How to troubleshoot long Postgres startup <a href="https://twitter.com/samokhvalov/status/1707466169245171773">https://twitter.com/samokhvalov/status/1707466169245171773</a></li><li>GitLab repo with #PostgresMarathon posts (markdown): <a href="https://gitlab.com/postgres-ai/postgresql-consulting/postgres-howtos">https://gitlab.com/postgres-ai/postgresql-consulting/postgres-howtos</a></li><li>Episode 010 "WAL and checkpoint tuning": <a href="https://postgres.fm/episodes/wal-and-checkpoint-tuning">https://postgres.fm/episodes/wal-and-checkpoint-tuning</a></li></ul><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
    </item>
    <item>
      <title>Backups</title>
      <itunes:episode>65</itunes:episode>
      <podcast:episode>65</podcast:episode>
      <itunes:title>Backups</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">dbd9ae42-0c66-489c-b2e9-2080bdc019cb</guid>
      <link>https://share.transistor.fm/s/c3804ab2</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss Postgres backups — why we need them, what the options are, whether a dump is a backup or not, and some considerations for lowering RPO and RTO at scale. <br> <br>Here are some links to some extra things they mentioned:</p><ul><li>pg_dump <a href="https://www.postgresql.org/docs/current/app-pgdump.html">https://www.postgresql.org/docs/current/app-pgdump.html</a> </li><li>pg_basebackup <a href="https://www.postgresql.org/docs/current/app-pgbasebackup.html">https://www.postgresql.org/docs/current/app-pgbasebackup.html</a></li><li>pgBackRest <a href="https://github.com/pgbackrest/pgbackrest">https://github.com/pgbackrest/pgbackrest</a> </li><li>WAL-G <a href="https://github.com/wal-g/wal-g">https://github.com/wal-g/wal-g</a> </li><li>Barman <a href="https://github.com/EnterpriseDB/barman">https://github.com/EnterpriseDB/barman</a> </li><li>Data loss at GitLab (2017) <a href="https://about.gitlab.com/blog/2017/02/01/gitlab-dot-com-database-incident/">https://about.gitlab.com/blog/2017/02/01/gitlab-dot-com-database-incident/</a> </li><li>Dev Deletes Entire Production Database, Chaos Ensues (YouTube video) <a href="https://www.youtube.com/watch?v=tLdRBsuvVKc">https://www.youtube.com/watch?v=tLdRBsuvVKc</a> </li><li>Our episode on corruption <a href="https://postgres.fm/episodes/corruption">https://postgres.fm/episodes/corruption</a> </li><li>DBLab Engine <a href="https://github.com/postgres-ai/database-lab-engine">https://github.com/postgres-ai/database-lab-engine</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss Postgres backups — why we need them, what the options are, whether a dump is a backup or not, and some considerations for lowering RPO and RTO at scale. <br> <br>Here are some links to some extra things they mentioned:</p><ul><li>pg_dump <a href="https://www.postgresql.org/docs/current/app-pgdump.html">https://www.postgresql.org/docs/current/app-pgdump.html</a> </li><li>pg_basebackup <a href="https://www.postgresql.org/docs/current/app-pgbasebackup.html">https://www.postgresql.org/docs/current/app-pgbasebackup.html</a></li><li>pgBackRest <a href="https://github.com/pgbackrest/pgbackrest">https://github.com/pgbackrest/pgbackrest</a> </li><li>WAL-G <a href="https://github.com/wal-g/wal-g">https://github.com/wal-g/wal-g</a> </li><li>Barman <a href="https://github.com/EnterpriseDB/barman">https://github.com/EnterpriseDB/barman</a> </li><li>Data loss at GitLab (2017) <a href="https://about.gitlab.com/blog/2017/02/01/gitlab-dot-com-database-incident/">https://about.gitlab.com/blog/2017/02/01/gitlab-dot-com-database-incident/</a> </li><li>Dev Deletes Entire Production Database, Chaos Ensues (YouTube video) <a href="https://www.youtube.com/watch?v=tLdRBsuvVKc">https://www.youtube.com/watch?v=tLdRBsuvVKc</a> </li><li>Our episode on corruption <a href="https://postgres.fm/episodes/corruption">https://postgres.fm/episodes/corruption</a> </li><li>DBLab Engine <a href="https://github.com/postgres-ai/database-lab-engine">https://github.com/postgres-ai/database-lab-engine</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 29 Sep 2023 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/c3804ab2/56b6b72f.mp3" length="41361548" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2584</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss Postgres backups — why we need them, what the options are, whether a dump is a backup or not, and some considerations for lowering RPO and RTO at scale. <br> <br>Here are some links to some extra things they mentioned:</p><ul><li>pg_dump <a href="https://www.postgresql.org/docs/current/app-pgdump.html">https://www.postgresql.org/docs/current/app-pgdump.html</a> </li><li>pg_basebackup <a href="https://www.postgresql.org/docs/current/app-pgbasebackup.html">https://www.postgresql.org/docs/current/app-pgbasebackup.html</a></li><li>pgBackRest <a href="https://github.com/pgbackrest/pgbackrest">https://github.com/pgbackrest/pgbackrest</a> </li><li>WAL-G <a href="https://github.com/wal-g/wal-g">https://github.com/wal-g/wal-g</a> </li><li>Barman <a href="https://github.com/EnterpriseDB/barman">https://github.com/EnterpriseDB/barman</a> </li><li>Data loss at GitLab (2017) <a href="https://about.gitlab.com/blog/2017/02/01/gitlab-dot-com-database-incident/">https://about.gitlab.com/blog/2017/02/01/gitlab-dot-com-database-incident/</a> </li><li>Dev Deletes Entire Production Database, Chaos Ensues (YouTube video) <a href="https://www.youtube.com/watch?v=tLdRBsuvVKc">https://www.youtube.com/watch?v=tLdRBsuvVKc</a> </li><li>Our episode on corruption <a href="https://postgres.fm/episodes/corruption">https://postgres.fm/episodes/corruption</a> </li><li>DBLab Engine <a href="https://github.com/postgres-ai/database-lab-engine">https://github.com/postgres-ai/database-lab-engine</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/c3804ab2/transcript.txt" type="text/plain"/>
    </item>
    <item>
      <title>Postgres 16</title>
      <itunes:episode>64</itunes:episode>
      <podcast:episode>64</podcast:episode>
      <itunes:title>Postgres 16</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">7bb793b7-5f08-44da-98ef-0eadbb1032b1</guid>
      <link>https://share.transistor.fm/s/db6d6379</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss the release of PostgreSQL 16 — the most important new features, what they mean for us as users, whether and when to upgrade, and more. </p><p>Here are some links to some extra things they mentioned:</p><ul><li>Release notes <a href="https://www.postgresql.org/docs/current/release-16.html">https://www.postgresql.org/docs/current/release-16.html</a></li><li>New Features With Examples (PDF from Noriyoshi Shinoda of Hewlett Packard Enterprise Japan) <a href="https://h50146.www5.hpe.com/products/software/oe/linux/mainstream/support/lcc/pdf/PostgreSQL16Beta1_New_Features_en_20230528_1.pdf">https://h50146.www5.hpe.com/products/software/oe/linux/mainstream/support/lcc/pdf/PostgreSQL16Beta1_New_Features_en_20230528_1.pdf</a>  </li><li>Why Upgrade? (site by depesz) <a href="https://why-upgrade.depesz.com/show">https://why-upgrade.depesz.com/</a></li><li>Waiting for PostgreSQL 16 (blog post series from Depesz) <a href="https://www.depesz.com/tag/pg16/">https://www.depesz.com/tag/pg16/</a></li><li>Our episode on favourite features <a href="https://postgres.fm/episodes/our-favourite-v16-feature">https://postgres.fm/episodes/our-favourite-v16-feature</a>  </li><li>Our episode on logical replication <a href="https://postgres.fm/episodes/logical-replication">https://postgres.fm/episodes/logical-replication</a> </li><li>Active Active in Postgres 16 (blog post from Crunchy Data) <a href="https://www.crunchydata.com/blog/active-active-postgres-16">https://www.crunchydata.com/blog/active-active-postgres-16</a> </li><li>AlloyDB adaptive autovacuum <a href="https://cloud.google.com/blog/products/databases/alloydb-for-postgresql-under-the-hood-adaptive-autovacuum">https://cloud.google.com/blog/products/databases/alloydb-for-postgresql-under-the-hood-adaptive-autovacuum</a> </li><li>Visualizing Postgres I/O Performance (talk by Melanie Plageman at PGCon) <a href="https://www.youtube.com/watch?v=CxyPZHG5beI">https://www.youtube.com/watch?v=CxyPZHG5beI</a> </li><li>Our monitoring checklist episode <a href="https://postgres.fm/episodes/monitoring-checklist">https://postgres.fm/episodes/monitoring-checklist</a> </li><li>pgvector <a href="https://github.com/pgvector/pgvector">https://github.com/pgvector/pgvector</a> </li></ul><p><br>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss the release of PostgreSQL 16 — the most important new features, what they mean for us as users, whether and when to upgrade, and more. </p><p>Here are some links to some extra things they mentioned:</p><ul><li>Release notes <a href="https://www.postgresql.org/docs/current/release-16.html">https://www.postgresql.org/docs/current/release-16.html</a></li><li>New Features With Examples (PDF from Noriyoshi Shinoda of Hewlett Packard Enterprise Japan) <a href="https://h50146.www5.hpe.com/products/software/oe/linux/mainstream/support/lcc/pdf/PostgreSQL16Beta1_New_Features_en_20230528_1.pdf">https://h50146.www5.hpe.com/products/software/oe/linux/mainstream/support/lcc/pdf/PostgreSQL16Beta1_New_Features_en_20230528_1.pdf</a>  </li><li>Why Upgrade? (site by depesz) <a href="https://why-upgrade.depesz.com/show">https://why-upgrade.depesz.com/</a></li><li>Waiting for PostgreSQL 16 (blog post series from Depesz) <a href="https://www.depesz.com/tag/pg16/">https://www.depesz.com/tag/pg16/</a></li><li>Our episode on favourite features <a href="https://postgres.fm/episodes/our-favourite-v16-feature">https://postgres.fm/episodes/our-favourite-v16-feature</a>  </li><li>Our episode on logical replication <a href="https://postgres.fm/episodes/logical-replication">https://postgres.fm/episodes/logical-replication</a> </li><li>Active Active in Postgres 16 (blog post from Crunchy Data) <a href="https://www.crunchydata.com/blog/active-active-postgres-16">https://www.crunchydata.com/blog/active-active-postgres-16</a> </li><li>AlloyDB adaptive autovacuum <a href="https://cloud.google.com/blog/products/databases/alloydb-for-postgresql-under-the-hood-adaptive-autovacuum">https://cloud.google.com/blog/products/databases/alloydb-for-postgresql-under-the-hood-adaptive-autovacuum</a> </li><li>Visualizing Postgres I/O Performance (talk by Melanie Plageman at PGCon) <a href="https://www.youtube.com/watch?v=CxyPZHG5beI">https://www.youtube.com/watch?v=CxyPZHG5beI</a> </li><li>Our monitoring checklist episode <a href="https://postgres.fm/episodes/monitoring-checklist">https://postgres.fm/episodes/monitoring-checklist</a> </li><li>pgvector <a href="https://github.com/pgvector/pgvector">https://github.com/pgvector/pgvector</a> </li></ul><p><br>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 22 Sep 2023 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/db6d6379/c2b5e448.mp3" length="38030422" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2375</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss the release of PostgreSQL 16 — the most important new features, what they mean for us as users, whether and when to upgrade, and more. </p><p>Here are some links to some extra things they mentioned:</p><ul><li>Release notes <a href="https://www.postgresql.org/docs/current/release-16.html">https://www.postgresql.org/docs/current/release-16.html</a></li><li>New Features With Examples (PDF from Noriyoshi Shinoda of Hewlett Packard Enterprise Japan) <a href="https://h50146.www5.hpe.com/products/software/oe/linux/mainstream/support/lcc/pdf/PostgreSQL16Beta1_New_Features_en_20230528_1.pdf">https://h50146.www5.hpe.com/products/software/oe/linux/mainstream/support/lcc/pdf/PostgreSQL16Beta1_New_Features_en_20230528_1.pdf</a>  </li><li>Why Upgrade? (site by depesz) <a href="https://why-upgrade.depesz.com/show">https://why-upgrade.depesz.com/</a></li><li>Waiting for PostgreSQL 16 (blog post series from Depesz) <a href="https://www.depesz.com/tag/pg16/">https://www.depesz.com/tag/pg16/</a></li><li>Our episode on favourite features <a href="https://postgres.fm/episodes/our-favourite-v16-feature">https://postgres.fm/episodes/our-favourite-v16-feature</a>  </li><li>Our episode on logical replication <a href="https://postgres.fm/episodes/logical-replication">https://postgres.fm/episodes/logical-replication</a> </li><li>Active Active in Postgres 16 (blog post from Crunchy Data) <a href="https://www.crunchydata.com/blog/active-active-postgres-16">https://www.crunchydata.com/blog/active-active-postgres-16</a> </li><li>AlloyDB adaptive autovacuum <a href="https://cloud.google.com/blog/products/databases/alloydb-for-postgresql-under-the-hood-adaptive-autovacuum">https://cloud.google.com/blog/products/databases/alloydb-for-postgresql-under-the-hood-adaptive-autovacuum</a> </li><li>Visualizing Postgres I/O Performance (talk by Melanie Plageman at PGCon) <a href="https://www.youtube.com/watch?v=CxyPZHG5beI">https://www.youtube.com/watch?v=CxyPZHG5beI</a> </li><li>Our monitoring checklist episode <a href="https://postgres.fm/episodes/monitoring-checklist">https://postgres.fm/episodes/monitoring-checklist</a> </li><li>pgvector <a href="https://github.com/pgvector/pgvector">https://github.com/pgvector/pgvector</a> </li></ul><p><br>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/db6d6379/transcript.txt" type="text/plain"/>
    </item>
    <item>
      <title>Logical replication</title>
      <itunes:episode>63</itunes:episode>
      <podcast:episode>63</podcast:episode>
      <itunes:title>Logical replication</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">a414885c-4505-47e4-abc8-e65d31b9af6f</guid>
      <link>https://share.transistor.fm/s/04924011</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss logical replication — some history, initialization, change data capture, how to scale it, some limitiations, and ways that it is getting better.<br> <br>Here are some links to some things they mentioned:</p><ul><li>Logical replication <a href="https://www.postgresql.org/docs/current/logical-replication.html">https://www.postgresql.org/docs/current/logical-replication.html</a> </li><li>GitLab upgraded multi-terabyte, heavily-loaded clusters with zero-downtime <a href="https://twitter.com/samokhvalov/status/1700574156222505276">https://twitter.com/samokhvalov/status/1700574156222505276</a> </li><li>pg_waldump <a href="https://www.postgresql.org/docs/current/pgwaldump.html">https://www.postgresql.org/docs/current/pgwaldump.html</a> </li><li>pg_dump and external snapshots (blog post by Michael Paquier) <a href="https://paquier.xyz/postgresql-2/postgres-9-5-feature-highlight-pg-dump-snapshots/">https://paquier.xyz/postgresql-2/postgres-9-5-feature-highlight-pg-dump-snapshots/</a> </li><li>Failover of logical replication slots in Patroni (talk by Alexander Kukushkin) <a href="https://www.youtube.com/watch?v=SllJsbPVaow">https://www.youtube.com/watch?v=SllJsbPVaow</a> </li><li>Our episode on replication <a href="https://postgres.fm/episodes/replication">https://postgres.fm/episodes/replication</a> </li></ul><p><br>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss logical replication — some history, initialization, change data capture, how to scale it, some limitiations, and ways that it is getting better.<br> <br>Here are some links to some things they mentioned:</p><ul><li>Logical replication <a href="https://www.postgresql.org/docs/current/logical-replication.html">https://www.postgresql.org/docs/current/logical-replication.html</a> </li><li>GitLab upgraded multi-terabyte, heavily-loaded clusters with zero-downtime <a href="https://twitter.com/samokhvalov/status/1700574156222505276">https://twitter.com/samokhvalov/status/1700574156222505276</a> </li><li>pg_waldump <a href="https://www.postgresql.org/docs/current/pgwaldump.html">https://www.postgresql.org/docs/current/pgwaldump.html</a> </li><li>pg_dump and external snapshots (blog post by Michael Paquier) <a href="https://paquier.xyz/postgresql-2/postgres-9-5-feature-highlight-pg-dump-snapshots/">https://paquier.xyz/postgresql-2/postgres-9-5-feature-highlight-pg-dump-snapshots/</a> </li><li>Failover of logical replication slots in Patroni (talk by Alexander Kukushkin) <a href="https://www.youtube.com/watch?v=SllJsbPVaow">https://www.youtube.com/watch?v=SllJsbPVaow</a> </li><li>Our episode on replication <a href="https://postgres.fm/episodes/replication">https://postgres.fm/episodes/replication</a> </li></ul><p><br>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 15 Sep 2023 13:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/04924011/e13089f2.mp3" length="41321866" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2581</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss logical replication — some history, initialization, change data capture, how to scale it, some limitiations, and ways that it is getting better.<br> <br>Here are some links to some things they mentioned:</p><ul><li>Logical replication <a href="https://www.postgresql.org/docs/current/logical-replication.html">https://www.postgresql.org/docs/current/logical-replication.html</a> </li><li>GitLab upgraded multi-terabyte, heavily-loaded clusters with zero-downtime <a href="https://twitter.com/samokhvalov/status/1700574156222505276">https://twitter.com/samokhvalov/status/1700574156222505276</a> </li><li>pg_waldump <a href="https://www.postgresql.org/docs/current/pgwaldump.html">https://www.postgresql.org/docs/current/pgwaldump.html</a> </li><li>pg_dump and external snapshots (blog post by Michael Paquier) <a href="https://paquier.xyz/postgresql-2/postgres-9-5-feature-highlight-pg-dump-snapshots/">https://paquier.xyz/postgresql-2/postgres-9-5-feature-highlight-pg-dump-snapshots/</a> </li><li>Failover of logical replication slots in Patroni (talk by Alexander Kukushkin) <a href="https://www.youtube.com/watch?v=SllJsbPVaow">https://www.youtube.com/watch?v=SllJsbPVaow</a> </li><li>Our episode on replication <a href="https://postgres.fm/episodes/replication">https://postgres.fm/episodes/replication</a> </li></ul><p><br>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/04924011/transcript.txt" type="text/plain"/>
    </item>
    <item>
      <title>Our favourite v16 feature</title>
      <itunes:episode>62</itunes:episode>
      <podcast:episode>62</podcast:episode>
      <itunes:title>Our favourite v16 feature</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">255e7453-b085-4c38-82bb-ec7d95a00832</guid>
      <link>https://share.transistor.fm/s/25ceb042</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss their favourite feature each from the upcoming PostgreSQL 16 release.<br> <br>Here are some links to some things they mentioned:</p><ul><li>v16 draft release notes <a href="https://www.postgresql.org/docs/16/release-16.html">https://www.postgresql.org/docs/16/release-16.html</a></li><li>PGSQL Phriday #012 invitation from Ryan Booz <a href="https://www.pgsqlphriday.com/2023/08/pgsql-phriday-012/">https://www.pgsqlphriday.com/2023/08/pgsql-phriday-012/</a> </li><li>Subscribe options for the podcast <a href="https://postgres.fm/subscribe">https://postgres.fm/subscribe</a></li><li>A recent closed source ClickHouse feature <a href="https://github.com/ClickHouse/ClickHouse/issues/44767#issuecomment-1683293218">https://github.com/ClickHouse/ClickHouse/issues/44767#issuecomment-1683293218</a>  </li><li>Postgres TV hacking session with Andrey Borodin on \watch with limited number of loops (v16) <a href="https://www.youtube.com/watch?v=vTV8XhWf3mo">https://www.youtube.com/watch?v=vTV8XhWf3mo</a> </li><li>Allow \watch queries to stop on minimum rows returned (v17) <a href="https://github.com/postgres/postgres/commit/f347ec76e2a227e5c5b5065cce7adad16d58d209">https://github.com/postgres/postgres/commit/f347ec76e2a227e5c5b5065cce7adad16d58d209</a> </li><li>pg_stat_io commit mentioning the op_bytes column (v16) <a href="https://github.com/postgres/postgres/commit/a9c70b46dbe152e094f137f7e6ba9cd3a638ee25">https://github.com/postgres/postgres/commit/a9c70b46dbe152e094f137f7e6ba9cd3a638ee25</a> </li><li>pg_size_pretty function <a href="https://www.postgresql.org/docs/current/functions-admin.html#id-1.5.8.33.9.3.2.2.7.1.1.1">https://www.postgresql.org/docs/current/functions-admin.html#id-1.5.8.33.9.3.2.2.7.1.1.1</a> </li><li>Visualizing Postgres I/O Performance (talk by Melanie Plageman at PGCon) <a href="https://www.youtube.com/watch?v=CxyPZHG5beI">https://www.youtube.com/watch?v=CxyPZHG5beI</a> </li><li>Our episode on BUFFERS <a href="https://postgres.fm/episodes/buffers-by-default">https://postgres.fm/episodes/buffers-by-default</a> </li><li>EXPLAIN (GENERIC_PLAN) blog post by Laurenz Albe <a href="https://www.cybertec-postgresql.com/en/explain-generic-plan-postgresql-16/">https://www.cybertec-postgresql.com/en/explain-generic-plan-postgresql-16/</a> </li><li>Running EXPLAIN on any query (video by Lukas Fittl) <a href="https://www.youtube.com/watch?v=CMftYJnqou0">https://www.youtube.com/watch?v=CMftYJnqou0</a> </li><li>PostgreSQL 16 Beta 1 New Features with Examples.(English Version) by Noriyoshi Shinoda <a href="https://twitter.com/nori_shinoda/status/1664481483355226114">https://twitter.com/nori_shinoda/status/1664481483355226114</a> </li><li>Have auto_explain's log_verbose mode honor the value of compute_query_id (commitfest entry) <a href="https://commitfest.postgresql.org/42/4136/">https://commitfest.postgresql.org/42/4136/</a> </li><li>Make auto_explain print the query identifier in verbose mode (commit) <a href="https://github.com/postgres/postgres/commit/9d2d9728b8d546434aade4f9667a59666588edd6">https://github.com/postgres/postgres/commit/9d2d9728b8d546434aade4f9667a59666588edd6</a></li></ul><p><br>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss their favourite feature each from the upcoming PostgreSQL 16 release.<br> <br>Here are some links to some things they mentioned:</p><ul><li>v16 draft release notes <a href="https://www.postgresql.org/docs/16/release-16.html">https://www.postgresql.org/docs/16/release-16.html</a></li><li>PGSQL Phriday #012 invitation from Ryan Booz <a href="https://www.pgsqlphriday.com/2023/08/pgsql-phriday-012/">https://www.pgsqlphriday.com/2023/08/pgsql-phriday-012/</a> </li><li>Subscribe options for the podcast <a href="https://postgres.fm/subscribe">https://postgres.fm/subscribe</a></li><li>A recent closed source ClickHouse feature <a href="https://github.com/ClickHouse/ClickHouse/issues/44767#issuecomment-1683293218">https://github.com/ClickHouse/ClickHouse/issues/44767#issuecomment-1683293218</a>  </li><li>Postgres TV hacking session with Andrey Borodin on \watch with limited number of loops (v16) <a href="https://www.youtube.com/watch?v=vTV8XhWf3mo">https://www.youtube.com/watch?v=vTV8XhWf3mo</a> </li><li>Allow \watch queries to stop on minimum rows returned (v17) <a href="https://github.com/postgres/postgres/commit/f347ec76e2a227e5c5b5065cce7adad16d58d209">https://github.com/postgres/postgres/commit/f347ec76e2a227e5c5b5065cce7adad16d58d209</a> </li><li>pg_stat_io commit mentioning the op_bytes column (v16) <a href="https://github.com/postgres/postgres/commit/a9c70b46dbe152e094f137f7e6ba9cd3a638ee25">https://github.com/postgres/postgres/commit/a9c70b46dbe152e094f137f7e6ba9cd3a638ee25</a> </li><li>pg_size_pretty function <a href="https://www.postgresql.org/docs/current/functions-admin.html#id-1.5.8.33.9.3.2.2.7.1.1.1">https://www.postgresql.org/docs/current/functions-admin.html#id-1.5.8.33.9.3.2.2.7.1.1.1</a> </li><li>Visualizing Postgres I/O Performance (talk by Melanie Plageman at PGCon) <a href="https://www.youtube.com/watch?v=CxyPZHG5beI">https://www.youtube.com/watch?v=CxyPZHG5beI</a> </li><li>Our episode on BUFFERS <a href="https://postgres.fm/episodes/buffers-by-default">https://postgres.fm/episodes/buffers-by-default</a> </li><li>EXPLAIN (GENERIC_PLAN) blog post by Laurenz Albe <a href="https://www.cybertec-postgresql.com/en/explain-generic-plan-postgresql-16/">https://www.cybertec-postgresql.com/en/explain-generic-plan-postgresql-16/</a> </li><li>Running EXPLAIN on any query (video by Lukas Fittl) <a href="https://www.youtube.com/watch?v=CMftYJnqou0">https://www.youtube.com/watch?v=CMftYJnqou0</a> </li><li>PostgreSQL 16 Beta 1 New Features with Examples.(English Version) by Noriyoshi Shinoda <a href="https://twitter.com/nori_shinoda/status/1664481483355226114">https://twitter.com/nori_shinoda/status/1664481483355226114</a> </li><li>Have auto_explain's log_verbose mode honor the value of compute_query_id (commitfest entry) <a href="https://commitfest.postgresql.org/42/4136/">https://commitfest.postgresql.org/42/4136/</a> </li><li>Make auto_explain print the query identifier in verbose mode (commit) <a href="https://github.com/postgres/postgres/commit/9d2d9728b8d546434aade4f9667a59666588edd6">https://github.com/postgres/postgres/commit/9d2d9728b8d546434aade4f9667a59666588edd6</a></li></ul><p><br>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 08 Sep 2023 13:30:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/25ceb042/c2c4025c.mp3" length="26389450" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>1648</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss their favourite feature each from the upcoming PostgreSQL 16 release.<br> <br>Here are some links to some things they mentioned:</p><ul><li>v16 draft release notes <a href="https://www.postgresql.org/docs/16/release-16.html">https://www.postgresql.org/docs/16/release-16.html</a></li><li>PGSQL Phriday #012 invitation from Ryan Booz <a href="https://www.pgsqlphriday.com/2023/08/pgsql-phriday-012/">https://www.pgsqlphriday.com/2023/08/pgsql-phriday-012/</a> </li><li>Subscribe options for the podcast <a href="https://postgres.fm/subscribe">https://postgres.fm/subscribe</a></li><li>A recent closed source ClickHouse feature <a href="https://github.com/ClickHouse/ClickHouse/issues/44767#issuecomment-1683293218">https://github.com/ClickHouse/ClickHouse/issues/44767#issuecomment-1683293218</a>  </li><li>Postgres TV hacking session with Andrey Borodin on \watch with limited number of loops (v16) <a href="https://www.youtube.com/watch?v=vTV8XhWf3mo">https://www.youtube.com/watch?v=vTV8XhWf3mo</a> </li><li>Allow \watch queries to stop on minimum rows returned (v17) <a href="https://github.com/postgres/postgres/commit/f347ec76e2a227e5c5b5065cce7adad16d58d209">https://github.com/postgres/postgres/commit/f347ec76e2a227e5c5b5065cce7adad16d58d209</a> </li><li>pg_stat_io commit mentioning the op_bytes column (v16) <a href="https://github.com/postgres/postgres/commit/a9c70b46dbe152e094f137f7e6ba9cd3a638ee25">https://github.com/postgres/postgres/commit/a9c70b46dbe152e094f137f7e6ba9cd3a638ee25</a> </li><li>pg_size_pretty function <a href="https://www.postgresql.org/docs/current/functions-admin.html#id-1.5.8.33.9.3.2.2.7.1.1.1">https://www.postgresql.org/docs/current/functions-admin.html#id-1.5.8.33.9.3.2.2.7.1.1.1</a> </li><li>Visualizing Postgres I/O Performance (talk by Melanie Plageman at PGCon) <a href="https://www.youtube.com/watch?v=CxyPZHG5beI">https://www.youtube.com/watch?v=CxyPZHG5beI</a> </li><li>Our episode on BUFFERS <a href="https://postgres.fm/episodes/buffers-by-default">https://postgres.fm/episodes/buffers-by-default</a> </li><li>EXPLAIN (GENERIC_PLAN) blog post by Laurenz Albe <a href="https://www.cybertec-postgresql.com/en/explain-generic-plan-postgresql-16/">https://www.cybertec-postgresql.com/en/explain-generic-plan-postgresql-16/</a> </li><li>Running EXPLAIN on any query (video by Lukas Fittl) <a href="https://www.youtube.com/watch?v=CMftYJnqou0">https://www.youtube.com/watch?v=CMftYJnqou0</a> </li><li>PostgreSQL 16 Beta 1 New Features with Examples.(English Version) by Noriyoshi Shinoda <a href="https://twitter.com/nori_shinoda/status/1664481483355226114">https://twitter.com/nori_shinoda/status/1664481483355226114</a> </li><li>Have auto_explain's log_verbose mode honor the value of compute_query_id (commitfest entry) <a href="https://commitfest.postgresql.org/42/4136/">https://commitfest.postgresql.org/42/4136/</a> </li><li>Make auto_explain print the query identifier in verbose mode (commit) <a href="https://github.com/postgres/postgres/commit/9d2d9728b8d546434aade4f9667a59666588edd6">https://github.com/postgres/postgres/commit/9d2d9728b8d546434aade4f9667a59666588edd6</a></li></ul><p><br>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/25ceb042/transcript.txt" type="text/plain"/>
    </item>
    <item>
      <title>Connections</title>
      <itunes:episode>61</itunes:episode>
      <podcast:episode>61</podcast:episode>
      <itunes:title>Connections</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">e3a60105-0957-4cf6-b850-d76f9b04ddec</guid>
      <link>https://share.transistor.fm/s/9e34e80c</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss connections — the options, security and performance tradeoffs, and a few other things to be aware of.<br> <br>Here are some links to some things they mentioned:</p><ul><li>Episode on connection poolers <a href="https://postgres.fm/episodes/connection-poolers">https://postgres.fm/episodes/connection-poolers</a> </li><li>listen_addresses <a href="https://www.postgresql.org/docs/current/runtime-config-connection.html#GUC-LISTEN-ADDRESSES">https://www.postgresql.org/docs/current/runtime-config-connection.html#GUC-LISTEN-ADDRESSES</a> </li><li>SSLMODE Explained (blog post by Andrew Kane) <a href="https://ankane.org/postgres-sslmode-explained">https://ankane.org/postgres-sslmode-explained</a> </li><li>pg_hba.conf <a href="https://www.postgresql.org/docs/current/auth-pg-hba-conf.html">https://www.postgresql.org/docs/current/auth-pg-hba-conf.html</a></li><li>Timing a query (blog post by Bruce Momjian) <a href="https://momjian.us/main/blogs/pgblog/2012.html#June_6_2012">https://momjian.us/main/blogs/pgblog/2012.html#June_6_2012</a> </li><li>How to connect (blog post by Lætitia Avrot) <a href="https://mydbanotebook.org/post/cant-connect/">https://mydbanotebook.org/post/cant-connect/</a> </li><li>Improving Postgres Connection Scalability: Snapshots (blog post by Andres Freund) <a href="https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/improving-postgres-connection-scalability-snapshots/ba-p/1806462">https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/improving-postgres-connection-scalability-snapshots/ba-p/1806462</a> </li><li>idle_session_timeout <a href="https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-IDLE-SESSION-TIMEOUT">https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-IDLE-SESSION-TIMEOUT</a> </li><li>Do you vacuum everyday? (talk by Hannu Krosing) <a href="https://www.youtube.com/watch?v=JcRi8Z7rkPg">https://www.youtube.com/watch?v=JcRi8Z7rkPg</a> </li><li>Don’t use now() with pg_stat_activity (tweet by Nikolay) <a href="https://twitter.com/samokhvalov/status/1664981076014690304">https://twitter.com/samokhvalov/status/1664981076014690304</a> </li></ul><p><br>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss connections — the options, security and performance tradeoffs, and a few other things to be aware of.<br> <br>Here are some links to some things they mentioned:</p><ul><li>Episode on connection poolers <a href="https://postgres.fm/episodes/connection-poolers">https://postgres.fm/episodes/connection-poolers</a> </li><li>listen_addresses <a href="https://www.postgresql.org/docs/current/runtime-config-connection.html#GUC-LISTEN-ADDRESSES">https://www.postgresql.org/docs/current/runtime-config-connection.html#GUC-LISTEN-ADDRESSES</a> </li><li>SSLMODE Explained (blog post by Andrew Kane) <a href="https://ankane.org/postgres-sslmode-explained">https://ankane.org/postgres-sslmode-explained</a> </li><li>pg_hba.conf <a href="https://www.postgresql.org/docs/current/auth-pg-hba-conf.html">https://www.postgresql.org/docs/current/auth-pg-hba-conf.html</a></li><li>Timing a query (blog post by Bruce Momjian) <a href="https://momjian.us/main/blogs/pgblog/2012.html#June_6_2012">https://momjian.us/main/blogs/pgblog/2012.html#June_6_2012</a> </li><li>How to connect (blog post by Lætitia Avrot) <a href="https://mydbanotebook.org/post/cant-connect/">https://mydbanotebook.org/post/cant-connect/</a> </li><li>Improving Postgres Connection Scalability: Snapshots (blog post by Andres Freund) <a href="https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/improving-postgres-connection-scalability-snapshots/ba-p/1806462">https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/improving-postgres-connection-scalability-snapshots/ba-p/1806462</a> </li><li>idle_session_timeout <a href="https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-IDLE-SESSION-TIMEOUT">https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-IDLE-SESSION-TIMEOUT</a> </li><li>Do you vacuum everyday? (talk by Hannu Krosing) <a href="https://www.youtube.com/watch?v=JcRi8Z7rkPg">https://www.youtube.com/watch?v=JcRi8Z7rkPg</a> </li><li>Don’t use now() with pg_stat_activity (tweet by Nikolay) <a href="https://twitter.com/samokhvalov/status/1664981076014690304">https://twitter.com/samokhvalov/status/1664981076014690304</a> </li></ul><p><br>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 01 Sep 2023 13:30:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/9e34e80c/953037b0.mp3" length="27221579" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>1700</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss connections — the options, security and performance tradeoffs, and a few other things to be aware of.<br> <br>Here are some links to some things they mentioned:</p><ul><li>Episode on connection poolers <a href="https://postgres.fm/episodes/connection-poolers">https://postgres.fm/episodes/connection-poolers</a> </li><li>listen_addresses <a href="https://www.postgresql.org/docs/current/runtime-config-connection.html#GUC-LISTEN-ADDRESSES">https://www.postgresql.org/docs/current/runtime-config-connection.html#GUC-LISTEN-ADDRESSES</a> </li><li>SSLMODE Explained (blog post by Andrew Kane) <a href="https://ankane.org/postgres-sslmode-explained">https://ankane.org/postgres-sslmode-explained</a> </li><li>pg_hba.conf <a href="https://www.postgresql.org/docs/current/auth-pg-hba-conf.html">https://www.postgresql.org/docs/current/auth-pg-hba-conf.html</a></li><li>Timing a query (blog post by Bruce Momjian) <a href="https://momjian.us/main/blogs/pgblog/2012.html#June_6_2012">https://momjian.us/main/blogs/pgblog/2012.html#June_6_2012</a> </li><li>How to connect (blog post by Lætitia Avrot) <a href="https://mydbanotebook.org/post/cant-connect/">https://mydbanotebook.org/post/cant-connect/</a> </li><li>Improving Postgres Connection Scalability: Snapshots (blog post by Andres Freund) <a href="https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/improving-postgres-connection-scalability-snapshots/ba-p/1806462">https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/improving-postgres-connection-scalability-snapshots/ba-p/1806462</a> </li><li>idle_session_timeout <a href="https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-IDLE-SESSION-TIMEOUT">https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-IDLE-SESSION-TIMEOUT</a> </li><li>Do you vacuum everyday? (talk by Hannu Krosing) <a href="https://www.youtube.com/watch?v=JcRi8Z7rkPg">https://www.youtube.com/watch?v=JcRi8Z7rkPg</a> </li><li>Don’t use now() with pg_stat_activity (tweet by Nikolay) <a href="https://twitter.com/samokhvalov/status/1664981076014690304">https://twitter.com/samokhvalov/status/1664981076014690304</a> </li></ul><p><br>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/9e34e80c/transcript.txt" type="text/plain"/>
    </item>
    <item>
      <title>Decoupled storage and compute</title>
      <itunes:episode>60</itunes:episode>
      <podcast:episode>60</podcast:episode>
      <itunes:title>Decoupled storage and compute</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">a2765d8b-d681-43be-9ac0-9f5b9e63a0af</guid>
      <link>https://share.transistor.fm/s/268dc068</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss a listener question — about products that take Postgres and transform it to something that decouples compute from storage (RDS Aurora, GC AlloyDB, Neon etc.) and whether they see something like this landing upstream in the medium term.</p><p>Here are some links to some things they mentioned:</p><ul><li>Amazon Aurora <a href="https://aws.amazon.com/rds/aurora/">https://aws.amazon.com/rds/aurora/</a></li><li>Google Cloud AlloyDB for PostgreSQL <a href="https://cloud.google.com/alloydb">https://cloud.google.com/alloydb</a></li><li>Neon <a href="https://neon.tech/">https://neon.tech/</a> </li><li>Google Cloud Spanner <a href="https://cloud.google.com/spanner">https://cloud.google.com/spanner</a></li><li>Is Aurora PostgreSQL really faster and cheaper than RDS PostgreSQL? (blog post by Avinash Vallarapu from MigOps) <a href="https://www.migops.com/blog/is-aurora-postgresql-really-faster-and-cheaper-than-rds-postgresql-benchmarking/">https://www.migops.com/blog/is-aurora-postgresql-really-faster-and-cheaper-than-rds-postgresql-benchmarking/</a> </li><li>Deep dive on Amazon Aurora with PostgreSQL compatibility (presentation by Grant McAllister) <a href="https://www.youtube.com/watch?v=HQg8wqlxefo">https://www.youtube.com/watch?v=HQg8wqlxefo</a> </li><li>Intro to Aurora PostgreSQL Query Plan Management <a href="https://aws.amazon.com/blogs/database/introduction-to-aurora-postgresql-query-plan-management/">https://aws.amazon.com/blogs/database/introduction-to-aurora-postgresql-query-plan-management/</a> </li><li>Michael Stonebraker Turing Award Lecture <a href="https://www.youtube.com/watch?v=BbGeKi6T6QI">https://www.youtube.com/watch?v=BbGeKi6T6QI</a></li><li>Interview with Stas Kelvich from Neon on Postgres TV <a href="https://www.youtube.com/watch?v=4PUKNznq_eM">https://www.youtube.com/watch?v=4PUKNznq_eM</a> </li><li>Interview with Ben Vandiver from Google Cloud Spanner on Postgres TV <a href="https://www.youtube.com/watch?v=BW-Uexhv-bk">https://www.youtube.com/watch?v=BW-Uexhv-bk</a> </li><li>Timescale Cloud bottomless storage feature (data tiering to Amazon S3) <a href="https://www.timescale.com/blog/expanding-the-boundaries-of-postgresql-announcing-a-bottomless-consumption-based-object-storage-layer-built-on-amazon-s3/">https://www.timescale.com/blog/expanding-the-boundaries-of-postgresql-announcing-a-bottomless-consumption-based-object-storage-layer-built-on-amazon-s3/</a> </li><li>Testing Database Changes the Right Way (Heap Analytics article) <a href="https://www.heap.io/blog/testing-database-changes-right-way">https://www.heap.io/blog/testing-database-changes-right-way</a>  </li></ul><p><br>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss a listener question — about products that take Postgres and transform it to something that decouples compute from storage (RDS Aurora, GC AlloyDB, Neon etc.) and whether they see something like this landing upstream in the medium term.</p><p>Here are some links to some things they mentioned:</p><ul><li>Amazon Aurora <a href="https://aws.amazon.com/rds/aurora/">https://aws.amazon.com/rds/aurora/</a></li><li>Google Cloud AlloyDB for PostgreSQL <a href="https://cloud.google.com/alloydb">https://cloud.google.com/alloydb</a></li><li>Neon <a href="https://neon.tech/">https://neon.tech/</a> </li><li>Google Cloud Spanner <a href="https://cloud.google.com/spanner">https://cloud.google.com/spanner</a></li><li>Is Aurora PostgreSQL really faster and cheaper than RDS PostgreSQL? (blog post by Avinash Vallarapu from MigOps) <a href="https://www.migops.com/blog/is-aurora-postgresql-really-faster-and-cheaper-than-rds-postgresql-benchmarking/">https://www.migops.com/blog/is-aurora-postgresql-really-faster-and-cheaper-than-rds-postgresql-benchmarking/</a> </li><li>Deep dive on Amazon Aurora with PostgreSQL compatibility (presentation by Grant McAllister) <a href="https://www.youtube.com/watch?v=HQg8wqlxefo">https://www.youtube.com/watch?v=HQg8wqlxefo</a> </li><li>Intro to Aurora PostgreSQL Query Plan Management <a href="https://aws.amazon.com/blogs/database/introduction-to-aurora-postgresql-query-plan-management/">https://aws.amazon.com/blogs/database/introduction-to-aurora-postgresql-query-plan-management/</a> </li><li>Michael Stonebraker Turing Award Lecture <a href="https://www.youtube.com/watch?v=BbGeKi6T6QI">https://www.youtube.com/watch?v=BbGeKi6T6QI</a></li><li>Interview with Stas Kelvich from Neon on Postgres TV <a href="https://www.youtube.com/watch?v=4PUKNznq_eM">https://www.youtube.com/watch?v=4PUKNznq_eM</a> </li><li>Interview with Ben Vandiver from Google Cloud Spanner on Postgres TV <a href="https://www.youtube.com/watch?v=BW-Uexhv-bk">https://www.youtube.com/watch?v=BW-Uexhv-bk</a> </li><li>Timescale Cloud bottomless storage feature (data tiering to Amazon S3) <a href="https://www.timescale.com/blog/expanding-the-boundaries-of-postgresql-announcing-a-bottomless-consumption-based-object-storage-layer-built-on-amazon-s3/">https://www.timescale.com/blog/expanding-the-boundaries-of-postgresql-announcing-a-bottomless-consumption-based-object-storage-layer-built-on-amazon-s3/</a> </li><li>Testing Database Changes the Right Way (Heap Analytics article) <a href="https://www.heap.io/blog/testing-database-changes-right-way">https://www.heap.io/blog/testing-database-changes-right-way</a>  </li></ul><p><br>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 25 Aug 2023 13:30:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/268dc068/de1245bf.mp3" length="40864639" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2553</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss a listener question — about products that take Postgres and transform it to something that decouples compute from storage (RDS Aurora, GC AlloyDB, Neon etc.) and whether they see something like this landing upstream in the medium term.</p><p>Here are some links to some things they mentioned:</p><ul><li>Amazon Aurora <a href="https://aws.amazon.com/rds/aurora/">https://aws.amazon.com/rds/aurora/</a></li><li>Google Cloud AlloyDB for PostgreSQL <a href="https://cloud.google.com/alloydb">https://cloud.google.com/alloydb</a></li><li>Neon <a href="https://neon.tech/">https://neon.tech/</a> </li><li>Google Cloud Spanner <a href="https://cloud.google.com/spanner">https://cloud.google.com/spanner</a></li><li>Is Aurora PostgreSQL really faster and cheaper than RDS PostgreSQL? (blog post by Avinash Vallarapu from MigOps) <a href="https://www.migops.com/blog/is-aurora-postgresql-really-faster-and-cheaper-than-rds-postgresql-benchmarking/">https://www.migops.com/blog/is-aurora-postgresql-really-faster-and-cheaper-than-rds-postgresql-benchmarking/</a> </li><li>Deep dive on Amazon Aurora with PostgreSQL compatibility (presentation by Grant McAllister) <a href="https://www.youtube.com/watch?v=HQg8wqlxefo">https://www.youtube.com/watch?v=HQg8wqlxefo</a> </li><li>Intro to Aurora PostgreSQL Query Plan Management <a href="https://aws.amazon.com/blogs/database/introduction-to-aurora-postgresql-query-plan-management/">https://aws.amazon.com/blogs/database/introduction-to-aurora-postgresql-query-plan-management/</a> </li><li>Michael Stonebraker Turing Award Lecture <a href="https://www.youtube.com/watch?v=BbGeKi6T6QI">https://www.youtube.com/watch?v=BbGeKi6T6QI</a></li><li>Interview with Stas Kelvich from Neon on Postgres TV <a href="https://www.youtube.com/watch?v=4PUKNznq_eM">https://www.youtube.com/watch?v=4PUKNznq_eM</a> </li><li>Interview with Ben Vandiver from Google Cloud Spanner on Postgres TV <a href="https://www.youtube.com/watch?v=BW-Uexhv-bk">https://www.youtube.com/watch?v=BW-Uexhv-bk</a> </li><li>Timescale Cloud bottomless storage feature (data tiering to Amazon S3) <a href="https://www.timescale.com/blog/expanding-the-boundaries-of-postgresql-announcing-a-bottomless-consumption-based-object-storage-layer-built-on-amazon-s3/">https://www.timescale.com/blog/expanding-the-boundaries-of-postgresql-announcing-a-bottomless-consumption-based-object-storage-layer-built-on-amazon-s3/</a> </li><li>Testing Database Changes the Right Way (Heap Analytics article) <a href="https://www.heap.io/blog/testing-database-changes-right-way">https://www.heap.io/blog/testing-database-changes-right-way</a>  </li></ul><p><br>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/268dc068/transcript.txt" type="text/plain"/>
    </item>
    <item>
      <title>Self-managing</title>
      <itunes:episode>59</itunes:episode>
      <podcast:episode>59</podcast:episode>
      <itunes:title>Self-managing</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">583728ad-2724-46ae-bb39-47fd88d566c8</guid>
      <link>https://share.transistor.fm/s/484ade2c</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss self-managing Postgres — both the practicalities of doing so, as well as some managed-service style tooling. <br> <br>Here are some links to some things they mentioned:</p><ul><li>Our episode on Managed services vs. DIY <a href="https://postgres.fm/episodes/managed-services-vs-diy">https://postgres.fm/episodes/managed-services-vs-diy</a> </li><li>WAL-G <a href="https://github.com/wal-g/wal-g">https://github.com/wal-g/wal-g</a> </li><li>pgBackRest <a href="https://pgbackrest.org/">https://pgbackrest.org/</a> </li><li>Barman <a href="https://github.com/EnterpriseDB/barman">https://github.com/EnterpriseDB/barman</a> </li><li>Dead Man’s Snitch <a href="https://deadmanssnitch.com/">https://deadmanssnitch.com/</a> </li><li>Netdata <a href="https://www.netdata.cloud/">https://www.netdata.cloud/</a> </li><li>Upgrades <a href="https://postgres.fm/episodes/upgrades">https://postgres.fm/episodes/upgrades</a>  </li><li>High availability <a href="https://postgres.fm/episodes/high-availability">https://postgres.fm/episodes/high-availability</a> </li><li>Configuration <a href="https://postgres.fm/episodes/default-configuration">https://postgres.fm/episodes/default-configuration</a> </li><li>Corruption <a href="https://postgres.fm/episodes/corruption">https://postgres.fm/episodes/corruption</a> </li><li>Connection poolers <a href="https://postgres.fm/episodes/connection-poolers">https://postgres.fm/episodes/connection-poolers</a> </li><li>Index maintenance <a href="https://postgres.fm/episodes/index-maintenance">https://postgres.fm/episodes/index-maintenance</a> </li><li>StackGres supported extensions (Michael was wrong, it also has a timescale_tls extension!) <a href="https://stackgres.io/extensions/">https://stackgres.io/extensions/</a> </li><li>postgresql_cluster <a href="https://github.com/vitabaks/postgresql_cluster">https://github.com/vitabaks/postgresql_cluster</a> </li><li>Supabase self-hosting <a href="https://github.com/supabase/supabase">https://supabase.com/docs/guides/self-hosting</a></li><li>Tembo <a href="https://github.com/tembo-io/tembo">https://github.com/tembo-io/tembo</a> </li><li>Open source licenses, clouds, Postgres (Postgres TV discussion) <a href="https://www.youtube.com/watch?v=1rcbyIjA4gI&amp;t=149s">https://www.youtube.com/watch?v=1rcbyIjA4gI&amp;t=149s</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss self-managing Postgres — both the practicalities of doing so, as well as some managed-service style tooling. <br> <br>Here are some links to some things they mentioned:</p><ul><li>Our episode on Managed services vs. DIY <a href="https://postgres.fm/episodes/managed-services-vs-diy">https://postgres.fm/episodes/managed-services-vs-diy</a> </li><li>WAL-G <a href="https://github.com/wal-g/wal-g">https://github.com/wal-g/wal-g</a> </li><li>pgBackRest <a href="https://pgbackrest.org/">https://pgbackrest.org/</a> </li><li>Barman <a href="https://github.com/EnterpriseDB/barman">https://github.com/EnterpriseDB/barman</a> </li><li>Dead Man’s Snitch <a href="https://deadmanssnitch.com/">https://deadmanssnitch.com/</a> </li><li>Netdata <a href="https://www.netdata.cloud/">https://www.netdata.cloud/</a> </li><li>Upgrades <a href="https://postgres.fm/episodes/upgrades">https://postgres.fm/episodes/upgrades</a>  </li><li>High availability <a href="https://postgres.fm/episodes/high-availability">https://postgres.fm/episodes/high-availability</a> </li><li>Configuration <a href="https://postgres.fm/episodes/default-configuration">https://postgres.fm/episodes/default-configuration</a> </li><li>Corruption <a href="https://postgres.fm/episodes/corruption">https://postgres.fm/episodes/corruption</a> </li><li>Connection poolers <a href="https://postgres.fm/episodes/connection-poolers">https://postgres.fm/episodes/connection-poolers</a> </li><li>Index maintenance <a href="https://postgres.fm/episodes/index-maintenance">https://postgres.fm/episodes/index-maintenance</a> </li><li>StackGres supported extensions (Michael was wrong, it also has a timescale_tls extension!) <a href="https://stackgres.io/extensions/">https://stackgres.io/extensions/</a> </li><li>postgresql_cluster <a href="https://github.com/vitabaks/postgresql_cluster">https://github.com/vitabaks/postgresql_cluster</a> </li><li>Supabase self-hosting <a href="https://github.com/supabase/supabase">https://supabase.com/docs/guides/self-hosting</a></li><li>Tembo <a href="https://github.com/tembo-io/tembo">https://github.com/tembo-io/tembo</a> </li><li>Open source licenses, clouds, Postgres (Postgres TV discussion) <a href="https://www.youtube.com/watch?v=1rcbyIjA4gI&amp;t=149s">https://www.youtube.com/watch?v=1rcbyIjA4gI&amp;t=149s</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 18 Aug 2023 13:30:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/484ade2c/95e839c2.mp3" length="35607098" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2224</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss self-managing Postgres — both the practicalities of doing so, as well as some managed-service style tooling. <br> <br>Here are some links to some things they mentioned:</p><ul><li>Our episode on Managed services vs. DIY <a href="https://postgres.fm/episodes/managed-services-vs-diy">https://postgres.fm/episodes/managed-services-vs-diy</a> </li><li>WAL-G <a href="https://github.com/wal-g/wal-g">https://github.com/wal-g/wal-g</a> </li><li>pgBackRest <a href="https://pgbackrest.org/">https://pgbackrest.org/</a> </li><li>Barman <a href="https://github.com/EnterpriseDB/barman">https://github.com/EnterpriseDB/barman</a> </li><li>Dead Man’s Snitch <a href="https://deadmanssnitch.com/">https://deadmanssnitch.com/</a> </li><li>Netdata <a href="https://www.netdata.cloud/">https://www.netdata.cloud/</a> </li><li>Upgrades <a href="https://postgres.fm/episodes/upgrades">https://postgres.fm/episodes/upgrades</a>  </li><li>High availability <a href="https://postgres.fm/episodes/high-availability">https://postgres.fm/episodes/high-availability</a> </li><li>Configuration <a href="https://postgres.fm/episodes/default-configuration">https://postgres.fm/episodes/default-configuration</a> </li><li>Corruption <a href="https://postgres.fm/episodes/corruption">https://postgres.fm/episodes/corruption</a> </li><li>Connection poolers <a href="https://postgres.fm/episodes/connection-poolers">https://postgres.fm/episodes/connection-poolers</a> </li><li>Index maintenance <a href="https://postgres.fm/episodes/index-maintenance">https://postgres.fm/episodes/index-maintenance</a> </li><li>StackGres supported extensions (Michael was wrong, it also has a timescale_tls extension!) <a href="https://stackgres.io/extensions/">https://stackgres.io/extensions/</a> </li><li>postgresql_cluster <a href="https://github.com/vitabaks/postgresql_cluster">https://github.com/vitabaks/postgresql_cluster</a> </li><li>Supabase self-hosting <a href="https://github.com/supabase/supabase">https://supabase.com/docs/guides/self-hosting</a></li><li>Tembo <a href="https://github.com/tembo-io/tembo">https://github.com/tembo-io/tembo</a> </li><li>Open source licenses, clouds, Postgres (Postgres TV discussion) <a href="https://www.youtube.com/watch?v=1rcbyIjA4gI&amp;t=149s">https://www.youtube.com/watch?v=1rcbyIjA4gI&amp;t=149s</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/484ade2c/transcript.txt" type="text/plain"/>
    </item>
    <item>
      <title>Sharding</title>
      <itunes:episode>58</itunes:episode>
      <podcast:episode>58</podcast:episode>
      <itunes:title>Sharding</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">d8ec588b-f14f-4f60-9a28-3e3cee0c5283</guid>
      <link>https://share.transistor.fm/s/d33139bc</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss sharding Postgres — what it means, why and when it's needed, and the available options right now. <br> <br>Here are some links to some things they mentioned:</p><ul><li>PGSQL Friday monthly blogging event <a href="https://www.pgsqlphriday.com/">https://www.pgsqlphriday.com/</a></li><li>Did “sharding” come from Ultima Online? <a href="https://news.ycombinator.com/item?id=23438399">https://news.ycombinator.com/item?id=23438399</a> </li><li>Our episode on partitioning: <a href="https://postgres.fm/episodes/partitioning">https://postgres.fm/episodes/partitioning</a></li><li>Vitess <a href="https://vitess.io/">https://vitess.io/</a></li><li>Citus <a href="https://www.citusdata.com/">https://www.citusdata.com/</a> </li><li>Lessons learned from sharding Postgres (Notion 2021) <a href="https://www.notion.so/blog/sharding-postgres-at-notion">https://www.notion.so/blog/sharding-postgres-at-notion</a> </li><li>The Great Re-shard (Notion 2023) <a href="https://www.notion.so/blog/the-great-re-shard">https://www.notion.so/blog/the-great-re-shard</a> </li><li>The growing pains of database architecture (Figma 2023) <a href="https://www.figma.com/blog/how-figma-scaled-to-multiple-databases/">https://www.figma.com/blog/how-figma-scaled-to-multiple-databases/</a></li><li>Timescale multi-node <a href="https://docs.timescale.com/self-hosted/latest/multinode-timescaledb/about-multinode/">https://docs.timescale.com/self-hosted/latest/multinode-timescaledb/about-multinode/</a> </li><li>PgCat <a href="https://github.com/postgresml/pgcat">https://github.com/postgresml/pgcat</a> </li><li>SPQR <a href="https://github.com/pg-sharding/spqr">https://github.com/pg-sharding/spqr</a> </li><li>PL/Proxy <a href="https://plproxy.github.io/">https://plproxy.github.io/</a> </li><li>Sharding GitLab by top-level namespace <a href="https://about.gitlab.com/handbook/engineering/development/enablement/data_stores/database/doc/root-namespace-sharding.html">https://about.gitlab.com/handbook/engineering/development/enablement/data_stores/database/doc/root-namespace-sharding.html</a> </li><li>Loose foreign keys (GitLab) <a href="https://docs.gitlab.com/ee/development/database/loose_foreign_keys.html">https://docs.gitlab.com/ee/development/database/loose_foreign_keys.html</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss sharding Postgres — what it means, why and when it's needed, and the available options right now. <br> <br>Here are some links to some things they mentioned:</p><ul><li>PGSQL Friday monthly blogging event <a href="https://www.pgsqlphriday.com/">https://www.pgsqlphriday.com/</a></li><li>Did “sharding” come from Ultima Online? <a href="https://news.ycombinator.com/item?id=23438399">https://news.ycombinator.com/item?id=23438399</a> </li><li>Our episode on partitioning: <a href="https://postgres.fm/episodes/partitioning">https://postgres.fm/episodes/partitioning</a></li><li>Vitess <a href="https://vitess.io/">https://vitess.io/</a></li><li>Citus <a href="https://www.citusdata.com/">https://www.citusdata.com/</a> </li><li>Lessons learned from sharding Postgres (Notion 2021) <a href="https://www.notion.so/blog/sharding-postgres-at-notion">https://www.notion.so/blog/sharding-postgres-at-notion</a> </li><li>The Great Re-shard (Notion 2023) <a href="https://www.notion.so/blog/the-great-re-shard">https://www.notion.so/blog/the-great-re-shard</a> </li><li>The growing pains of database architecture (Figma 2023) <a href="https://www.figma.com/blog/how-figma-scaled-to-multiple-databases/">https://www.figma.com/blog/how-figma-scaled-to-multiple-databases/</a></li><li>Timescale multi-node <a href="https://docs.timescale.com/self-hosted/latest/multinode-timescaledb/about-multinode/">https://docs.timescale.com/self-hosted/latest/multinode-timescaledb/about-multinode/</a> </li><li>PgCat <a href="https://github.com/postgresml/pgcat">https://github.com/postgresml/pgcat</a> </li><li>SPQR <a href="https://github.com/pg-sharding/spqr">https://github.com/pg-sharding/spqr</a> </li><li>PL/Proxy <a href="https://plproxy.github.io/">https://plproxy.github.io/</a> </li><li>Sharding GitLab by top-level namespace <a href="https://about.gitlab.com/handbook/engineering/development/enablement/data_stores/database/doc/root-namespace-sharding.html">https://about.gitlab.com/handbook/engineering/development/enablement/data_stores/database/doc/root-namespace-sharding.html</a> </li><li>Loose foreign keys (GitLab) <a href="https://docs.gitlab.com/ee/development/database/loose_foreign_keys.html">https://docs.gitlab.com/ee/development/database/loose_foreign_keys.html</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 11 Aug 2023 13:30:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/d33139bc/15ac2fcf.mp3" length="38185061" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2385</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss sharding Postgres — what it means, why and when it's needed, and the available options right now. <br> <br>Here are some links to some things they mentioned:</p><ul><li>PGSQL Friday monthly blogging event <a href="https://www.pgsqlphriday.com/">https://www.pgsqlphriday.com/</a></li><li>Did “sharding” come from Ultima Online? <a href="https://news.ycombinator.com/item?id=23438399">https://news.ycombinator.com/item?id=23438399</a> </li><li>Our episode on partitioning: <a href="https://postgres.fm/episodes/partitioning">https://postgres.fm/episodes/partitioning</a></li><li>Vitess <a href="https://vitess.io/">https://vitess.io/</a></li><li>Citus <a href="https://www.citusdata.com/">https://www.citusdata.com/</a> </li><li>Lessons learned from sharding Postgres (Notion 2021) <a href="https://www.notion.so/blog/sharding-postgres-at-notion">https://www.notion.so/blog/sharding-postgres-at-notion</a> </li><li>The Great Re-shard (Notion 2023) <a href="https://www.notion.so/blog/the-great-re-shard">https://www.notion.so/blog/the-great-re-shard</a> </li><li>The growing pains of database architecture (Figma 2023) <a href="https://www.figma.com/blog/how-figma-scaled-to-multiple-databases/">https://www.figma.com/blog/how-figma-scaled-to-multiple-databases/</a></li><li>Timescale multi-node <a href="https://docs.timescale.com/self-hosted/latest/multinode-timescaledb/about-multinode/">https://docs.timescale.com/self-hosted/latest/multinode-timescaledb/about-multinode/</a> </li><li>PgCat <a href="https://github.com/postgresml/pgcat">https://github.com/postgresml/pgcat</a> </li><li>SPQR <a href="https://github.com/pg-sharding/spqr">https://github.com/pg-sharding/spqr</a> </li><li>PL/Proxy <a href="https://plproxy.github.io/">https://plproxy.github.io/</a> </li><li>Sharding GitLab by top-level namespace <a href="https://about.gitlab.com/handbook/engineering/development/enablement/data_stores/database/doc/root-namespace-sharding.html">https://about.gitlab.com/handbook/engineering/development/enablement/data_stores/database/doc/root-namespace-sharding.html</a> </li><li>Loose foreign keys (GitLab) <a href="https://docs.gitlab.com/ee/development/database/loose_foreign_keys.html">https://docs.gitlab.com/ee/development/database/loose_foreign_keys.html</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/d33139bc/transcript.txt" type="text/plain"/>
    </item>
    <item>
      <title>Data types</title>
      <itunes:episode>57</itunes:episode>
      <podcast:episode>57</podcast:episode>
      <itunes:title>Data types</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">5e2a3571-ec77-4bf9-ac21-3dd3a3442ec4</guid>
      <link>https://share.transistor.fm/s/2728b034</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss data types in PostgreSQL — including system types, choosing between types, types provided by extensions, and more. <br> <br>Here are some links to some things they mentioned:</p><ul><li>Data Types (docs) <a href="https://www.postgresql.org/docs/current/datatype.html">https://www.postgresql.org/docs/current/datatype.html</a> </li><li>10 tips for beginners <a href="https://postgres.ai/blog/20230722-10-postgres-tips-for-beginners">https://postgres.ai/blog/20230722-10-postgres-tips-for-beginners</a> </li><li>Tid Scan (explain glossary) <a href="https://www.pgmustard.com/docs/explain/tid-scan">https://www.pgmustard.com/docs/explain/tid-scan</a> </li><li>Don’t do this (wiki) <a href="https://wiki.postgresql.org/wiki/Don't_Do_This">https://wiki.postgresql.org/wiki/Don't_Do_This</a> </li><li>Boundless `text` and back again <a href="https://brandur.org/text">https://brandur.org/text</a> </li><li>UUID episode <a href="https://postgres.fm/episodes/uuid">https://postgres.fm/episodes/uuid</a> </li><li>I use ENUM (30min talk by Boriss Mejías) <a href="https://archive.fosdem.org/2021/schedule/event/postgresql_i_use_enum_vindicating_the_underdog_of_data_types/">https://archive.fosdem.org/2021/schedule/event/postgresql_i_use_enum_vindicating_the_underdog_of_data_types/</a> </li><li>Peter Geoghegan tweet <a href="https://twitter.com/petervgeoghegan/status/1680275871905775616">https://twitter.com/petervgeoghegan/status/1680275871905775616</a> </li><li>JSON episode <a href="https://postgres.fm/episodes/json">https://postgres.fm/episodes/json</a> </li><li>pg_repack reorder columns discussion <a href="https://github.com/reorg/pg_repack/issues/101">https://github.com/reorg/pg_repack/issues/101</a> </li><li>Use bigint <a href="https://blog.rustprooflabs.com/2021/06/postgres-bigint-by-default">https://blog.rustprooflabs.com/2021/06/postgres-bigint-by-default</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss data types in PostgreSQL — including system types, choosing between types, types provided by extensions, and more. <br> <br>Here are some links to some things they mentioned:</p><ul><li>Data Types (docs) <a href="https://www.postgresql.org/docs/current/datatype.html">https://www.postgresql.org/docs/current/datatype.html</a> </li><li>10 tips for beginners <a href="https://postgres.ai/blog/20230722-10-postgres-tips-for-beginners">https://postgres.ai/blog/20230722-10-postgres-tips-for-beginners</a> </li><li>Tid Scan (explain glossary) <a href="https://www.pgmustard.com/docs/explain/tid-scan">https://www.pgmustard.com/docs/explain/tid-scan</a> </li><li>Don’t do this (wiki) <a href="https://wiki.postgresql.org/wiki/Don't_Do_This">https://wiki.postgresql.org/wiki/Don't_Do_This</a> </li><li>Boundless `text` and back again <a href="https://brandur.org/text">https://brandur.org/text</a> </li><li>UUID episode <a href="https://postgres.fm/episodes/uuid">https://postgres.fm/episodes/uuid</a> </li><li>I use ENUM (30min talk by Boriss Mejías) <a href="https://archive.fosdem.org/2021/schedule/event/postgresql_i_use_enum_vindicating_the_underdog_of_data_types/">https://archive.fosdem.org/2021/schedule/event/postgresql_i_use_enum_vindicating_the_underdog_of_data_types/</a> </li><li>Peter Geoghegan tweet <a href="https://twitter.com/petervgeoghegan/status/1680275871905775616">https://twitter.com/petervgeoghegan/status/1680275871905775616</a> </li><li>JSON episode <a href="https://postgres.fm/episodes/json">https://postgres.fm/episodes/json</a> </li><li>pg_repack reorder columns discussion <a href="https://github.com/reorg/pg_repack/issues/101">https://github.com/reorg/pg_repack/issues/101</a> </li><li>Use bigint <a href="https://blog.rustprooflabs.com/2021/06/postgres-bigint-by-default">https://blog.rustprooflabs.com/2021/06/postgres-bigint-by-default</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 04 Aug 2023 13:30:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/2728b034/fd8f8d91.mp3" length="35558191" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2221</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss data types in PostgreSQL — including system types, choosing between types, types provided by extensions, and more. <br> <br>Here are some links to some things they mentioned:</p><ul><li>Data Types (docs) <a href="https://www.postgresql.org/docs/current/datatype.html">https://www.postgresql.org/docs/current/datatype.html</a> </li><li>10 tips for beginners <a href="https://postgres.ai/blog/20230722-10-postgres-tips-for-beginners">https://postgres.ai/blog/20230722-10-postgres-tips-for-beginners</a> </li><li>Tid Scan (explain glossary) <a href="https://www.pgmustard.com/docs/explain/tid-scan">https://www.pgmustard.com/docs/explain/tid-scan</a> </li><li>Don’t do this (wiki) <a href="https://wiki.postgresql.org/wiki/Don't_Do_This">https://wiki.postgresql.org/wiki/Don't_Do_This</a> </li><li>Boundless `text` and back again <a href="https://brandur.org/text">https://brandur.org/text</a> </li><li>UUID episode <a href="https://postgres.fm/episodes/uuid">https://postgres.fm/episodes/uuid</a> </li><li>I use ENUM (30min talk by Boriss Mejías) <a href="https://archive.fosdem.org/2021/schedule/event/postgresql_i_use_enum_vindicating_the_underdog_of_data_types/">https://archive.fosdem.org/2021/schedule/event/postgresql_i_use_enum_vindicating_the_underdog_of_data_types/</a> </li><li>Peter Geoghegan tweet <a href="https://twitter.com/petervgeoghegan/status/1680275871905775616">https://twitter.com/petervgeoghegan/status/1680275871905775616</a> </li><li>JSON episode <a href="https://postgres.fm/episodes/json">https://postgres.fm/episodes/json</a> </li><li>pg_repack reorder columns discussion <a href="https://github.com/reorg/pg_repack/issues/101">https://github.com/reorg/pg_repack/issues/101</a> </li><li>Use bigint <a href="https://blog.rustprooflabs.com/2021/06/postgres-bigint-by-default">https://blog.rustprooflabs.com/2021/06/postgres-bigint-by-default</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/2728b034/transcript.txt" type="text/plain"/>
    </item>
    <item>
      <title>High availability</title>
      <itunes:episode>56</itunes:episode>
      <podcast:episode>56</podcast:episode>
      <itunes:title>High availability</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">f15a85a3-c0fb-4860-a4b3-b6bea8b69b4f</guid>
      <link>https://share.transistor.fm/s/ced3fe1d</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss HA (high availability) — what it means, tools and techniques for maximising it, while going through some of the more common causes of downtime. <br> <br>Here are some links to some things they mentioned:</p><ul><li><a href="https://en.wikipedia.org/wiki/High_availability">https://en.wikipedia.org/wiki/High_availability</a></li><li><a href="https://postgres.fm/episodes/upgrades">https://postgres.fm/episodes/upgrades</a>   </li><li><a href="https://github.com/shayonj/pg_easy_replicate/">https://github.com/shayonj/pg_easy_replicate/</a> </li><li>pg_easy_replicate discussion on Hacker News <a href="https://news.ycombinator.com/item?id=36405761">https://news.ycombinator.com/item?id=36405761</a>  </li><li><a href="https://postgres.fm/episodes/connection-poolers">https://postgres.fm/episodes/connection-poolers</a>  </li><li><a href="https://www.postgresql.org/docs/current/libpq.html">https://www.postgresql.org/docs/current/libpq.html</a>  </li><li>Support load balancing in libpq (new feature in Postgres 16) <br><a href="https://commitfest.postgresql.org/42/3679/">https://commitfest.postgresql.org/42/3679/</a> </li><li>target_session_attrs options for high availability and scaling (2021; a post by Laurenz Albe) <a href="https://www.cybertec-postgresql.com/en/new-target_session_attrs-settings-for-high-availability-and-scaling-in-postgresql-v14/">https://www.cybertec-postgresql.com/en/new-target_session_attrs-settings-for-high-availability-and-scaling-in-postgresql-v14/</a></li><li>Postgres 10 highlight - read-write and read-only mode of libpq (2016, a post by Michael Paquier) <a href="https://paquier.xyz/postgresql-2/postgres-10-libpq-read-write/">https://paquier.xyz/postgresql-2/postgres-10-libpq-read-write/</a> </li><li>Postgres 10 highlight - Quorum set of synchronous standbys (2017, a post by Michael Paquier) <a href="https://paquier.xyz/postgresql-2/postgres-10-quorum-sync/">https://paquier.xyz/postgresql-2/postgres-10-quorum-sync/</a></li><li><a href="https://github.com/zalando/patroni">https://github.com/zalando/patroni</a>  </li><li><a href="https://postgres.fm/episodes/replication">https://postgres.fm/episodes/replication</a>  </li><li><a href="https://blog.rustprooflabs.com/2021/06/postgres-bigint-by-default">https://blog.rustprooflabs.com/2021/06/postgres-bigint-by-default</a> </li><li>Zero-downtime Postgres schema migrations need this: lock_timeout and retries (2021) <a href="https://postgres.ai/blog/20210923-zero-downtime-postgres-schema-migrations-lock-timeout-and-retries">https://postgres.ai/blog/20210923-zero-downtime-postgres-schema-migrations-lock-timeout-and-retries</a> </li><li>A fix in Patroni to mitigate a very long shutdown attempt when archive_command has a lot of WALs to archive <a href="https://github.com/zalando/patroni/pull/2067">https://github.com/zalando/patroni/pull/2067</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss HA (high availability) — what it means, tools and techniques for maximising it, while going through some of the more common causes of downtime. <br> <br>Here are some links to some things they mentioned:</p><ul><li><a href="https://en.wikipedia.org/wiki/High_availability">https://en.wikipedia.org/wiki/High_availability</a></li><li><a href="https://postgres.fm/episodes/upgrades">https://postgres.fm/episodes/upgrades</a>   </li><li><a href="https://github.com/shayonj/pg_easy_replicate/">https://github.com/shayonj/pg_easy_replicate/</a> </li><li>pg_easy_replicate discussion on Hacker News <a href="https://news.ycombinator.com/item?id=36405761">https://news.ycombinator.com/item?id=36405761</a>  </li><li><a href="https://postgres.fm/episodes/connection-poolers">https://postgres.fm/episodes/connection-poolers</a>  </li><li><a href="https://www.postgresql.org/docs/current/libpq.html">https://www.postgresql.org/docs/current/libpq.html</a>  </li><li>Support load balancing in libpq (new feature in Postgres 16) <br><a href="https://commitfest.postgresql.org/42/3679/">https://commitfest.postgresql.org/42/3679/</a> </li><li>target_session_attrs options for high availability and scaling (2021; a post by Laurenz Albe) <a href="https://www.cybertec-postgresql.com/en/new-target_session_attrs-settings-for-high-availability-and-scaling-in-postgresql-v14/">https://www.cybertec-postgresql.com/en/new-target_session_attrs-settings-for-high-availability-and-scaling-in-postgresql-v14/</a></li><li>Postgres 10 highlight - read-write and read-only mode of libpq (2016, a post by Michael Paquier) <a href="https://paquier.xyz/postgresql-2/postgres-10-libpq-read-write/">https://paquier.xyz/postgresql-2/postgres-10-libpq-read-write/</a> </li><li>Postgres 10 highlight - Quorum set of synchronous standbys (2017, a post by Michael Paquier) <a href="https://paquier.xyz/postgresql-2/postgres-10-quorum-sync/">https://paquier.xyz/postgresql-2/postgres-10-quorum-sync/</a></li><li><a href="https://github.com/zalando/patroni">https://github.com/zalando/patroni</a>  </li><li><a href="https://postgres.fm/episodes/replication">https://postgres.fm/episodes/replication</a>  </li><li><a href="https://blog.rustprooflabs.com/2021/06/postgres-bigint-by-default">https://blog.rustprooflabs.com/2021/06/postgres-bigint-by-default</a> </li><li>Zero-downtime Postgres schema migrations need this: lock_timeout and retries (2021) <a href="https://postgres.ai/blog/20210923-zero-downtime-postgres-schema-migrations-lock-timeout-and-retries">https://postgres.ai/blog/20210923-zero-downtime-postgres-schema-migrations-lock-timeout-and-retries</a> </li><li>A fix in Patroni to mitigate a very long shutdown attempt when archive_command has a lot of WALs to archive <a href="https://github.com/zalando/patroni/pull/2067">https://github.com/zalando/patroni/pull/2067</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 28 Jul 2023 13:30:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/ced3fe1d/c67d79b9.mp3" length="39058785" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2440</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss HA (high availability) — what it means, tools and techniques for maximising it, while going through some of the more common causes of downtime. <br> <br>Here are some links to some things they mentioned:</p><ul><li><a href="https://en.wikipedia.org/wiki/High_availability">https://en.wikipedia.org/wiki/High_availability</a></li><li><a href="https://postgres.fm/episodes/upgrades">https://postgres.fm/episodes/upgrades</a>   </li><li><a href="https://github.com/shayonj/pg_easy_replicate/">https://github.com/shayonj/pg_easy_replicate/</a> </li><li>pg_easy_replicate discussion on Hacker News <a href="https://news.ycombinator.com/item?id=36405761">https://news.ycombinator.com/item?id=36405761</a>  </li><li><a href="https://postgres.fm/episodes/connection-poolers">https://postgres.fm/episodes/connection-poolers</a>  </li><li><a href="https://www.postgresql.org/docs/current/libpq.html">https://www.postgresql.org/docs/current/libpq.html</a>  </li><li>Support load balancing in libpq (new feature in Postgres 16) <br><a href="https://commitfest.postgresql.org/42/3679/">https://commitfest.postgresql.org/42/3679/</a> </li><li>target_session_attrs options for high availability and scaling (2021; a post by Laurenz Albe) <a href="https://www.cybertec-postgresql.com/en/new-target_session_attrs-settings-for-high-availability-and-scaling-in-postgresql-v14/">https://www.cybertec-postgresql.com/en/new-target_session_attrs-settings-for-high-availability-and-scaling-in-postgresql-v14/</a></li><li>Postgres 10 highlight - read-write and read-only mode of libpq (2016, a post by Michael Paquier) <a href="https://paquier.xyz/postgresql-2/postgres-10-libpq-read-write/">https://paquier.xyz/postgresql-2/postgres-10-libpq-read-write/</a> </li><li>Postgres 10 highlight - Quorum set of synchronous standbys (2017, a post by Michael Paquier) <a href="https://paquier.xyz/postgresql-2/postgres-10-quorum-sync/">https://paquier.xyz/postgresql-2/postgres-10-quorum-sync/</a></li><li><a href="https://github.com/zalando/patroni">https://github.com/zalando/patroni</a>  </li><li><a href="https://postgres.fm/episodes/replication">https://postgres.fm/episodes/replication</a>  </li><li><a href="https://blog.rustprooflabs.com/2021/06/postgres-bigint-by-default">https://blog.rustprooflabs.com/2021/06/postgres-bigint-by-default</a> </li><li>Zero-downtime Postgres schema migrations need this: lock_timeout and retries (2021) <a href="https://postgres.ai/blog/20210923-zero-downtime-postgres-schema-migrations-lock-timeout-and-retries">https://postgres.ai/blog/20210923-zero-downtime-postgres-schema-migrations-lock-timeout-and-retries</a> </li><li>A fix in Patroni to mitigate a very long shutdown attempt when archive_command has a lot of WALs to archive <a href="https://github.com/zalando/patroni/pull/2067">https://github.com/zalando/patroni/pull/2067</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/ced3fe1d/transcript.txt" type="text/plain"/>
      <podcast:chapters url="https://share.transistor.fm/s/ced3fe1d/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Beginner tips</title>
      <itunes:episode>55</itunes:episode>
      <podcast:episode>55</podcast:episode>
      <itunes:title>Beginner tips</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">ae563513-9a42-43a2-9324-82e7d16c47ad</guid>
      <link>https://share.transistor.fm/s/14c866c4</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss 10 beginner tips Nikolay recently shared — they go into a bit more detail on each, and even disagree a little on one or two! <br> <br>Here are some links to some things they mentioned:</p><ul><li>Nikolay’s tweet with all 10 tips: <a href="https://twitter.com/samokhvalov/status/1679953049899642880">https://twitter.com/samokhvalov/status/1679953049899642880</a> </li><li>Tip 1: tuples are physical versions of rows</li><li>Related episodes: <a href="https://postgres.fm/episodes/how-to-become-a-dba">https://postgres.fm/episodes/how-to-become-a-dba</a> and <a href="https://postgres.fm/episodes/hot-updates">https://postgres.fm/episodes/hot-updates</a> </li><li>Tip 2:<strong> </strong>always use EXPLAIN (ANALYZE, BUFFERS)</li><li>Related episode: <a href="https://postgres.fm/episodes/buffers-by-default">https://postgres.fm/episodes/buffers-by-default</a> </li><li>Tip 3: throw away pgAdmin</li><li>Related episode: <a href="https://postgres.fm/episodes/psql-vs-guis">https://postgres.fm/episodes/psql-vs-guis</a>  </li><li>Tip 4: enable as much logging as you can afford</li><li>Related episode:<strong> </strong><a href="https://postgres.fm/episodes/default-configuration">https://postgres.fm/episodes/default-configuration</a> </li><li>Tip 5: install pg_stat_statements</li><li>Related episodes:<strong> </strong><a href="https://postgres.fm/episodes/pg_stat_statements">https://postgres.fm/episodes/pg_stat_statements</a> and <a href="https://postgres.fm/episodes/auto_explain">https://postgres.fm/episodes/auto_explain</a>, and <a href="https://postgres.fm/episodes/macro-query-analysis-intro">https://postgres.fm/episodes/macro-query-analysis-intro</a></li><li>Tip 6: run experiments on realistic data sets (use thin cloning and branching)</li><li>Related episode:<strong> </strong><a href="https://postgres.fm/episodes/database-branching">https://postgres.fm/episodes/database-branching</a> </li><li>Tip 7: make sure data checksums are enabled </li><li>Related episode: <a href="https://postgres.fm/episodes/corruption">https://postgres.fm/episodes/corruption</a>  </li><li>Tip 8: tune autovacuum to run frequently and move faster</li><li>Related episode: <a href="https://postgres.fm/episodes/vacuum">https://postgres.fm/episodes/vacuum</a></li><li>Tip 9: query optimization will eventually be more important than configuration tuning</li><li>Related episodes: <a href="https://postgres.fm/episodes/intro-to-query-optimization">https://postgres.fm/episodes/intro-to-query-optimization</a> and <a href="https://postgres.fm/episodes/102-query-optimization">https://postgres.fm/episodes/102-query-optimization</a></li><li>Tip 10: indexes need to be rebuilt, unfortunately, since their health decline over time</li><li>Related episode: <a href="https://postgres.fm/episodes/index-maintenance">https://postgres.fm/episodes/index-maintenance</a>  </li><li>Bonus tip: the official documentation, release notes, and source code comments/readmes are your friends! </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss 10 beginner tips Nikolay recently shared — they go into a bit more detail on each, and even disagree a little on one or two! <br> <br>Here are some links to some things they mentioned:</p><ul><li>Nikolay’s tweet with all 10 tips: <a href="https://twitter.com/samokhvalov/status/1679953049899642880">https://twitter.com/samokhvalov/status/1679953049899642880</a> </li><li>Tip 1: tuples are physical versions of rows</li><li>Related episodes: <a href="https://postgres.fm/episodes/how-to-become-a-dba">https://postgres.fm/episodes/how-to-become-a-dba</a> and <a href="https://postgres.fm/episodes/hot-updates">https://postgres.fm/episodes/hot-updates</a> </li><li>Tip 2:<strong> </strong>always use EXPLAIN (ANALYZE, BUFFERS)</li><li>Related episode: <a href="https://postgres.fm/episodes/buffers-by-default">https://postgres.fm/episodes/buffers-by-default</a> </li><li>Tip 3: throw away pgAdmin</li><li>Related episode: <a href="https://postgres.fm/episodes/psql-vs-guis">https://postgres.fm/episodes/psql-vs-guis</a>  </li><li>Tip 4: enable as much logging as you can afford</li><li>Related episode:<strong> </strong><a href="https://postgres.fm/episodes/default-configuration">https://postgres.fm/episodes/default-configuration</a> </li><li>Tip 5: install pg_stat_statements</li><li>Related episodes:<strong> </strong><a href="https://postgres.fm/episodes/pg_stat_statements">https://postgres.fm/episodes/pg_stat_statements</a> and <a href="https://postgres.fm/episodes/auto_explain">https://postgres.fm/episodes/auto_explain</a>, and <a href="https://postgres.fm/episodes/macro-query-analysis-intro">https://postgres.fm/episodes/macro-query-analysis-intro</a></li><li>Tip 6: run experiments on realistic data sets (use thin cloning and branching)</li><li>Related episode:<strong> </strong><a href="https://postgres.fm/episodes/database-branching">https://postgres.fm/episodes/database-branching</a> </li><li>Tip 7: make sure data checksums are enabled </li><li>Related episode: <a href="https://postgres.fm/episodes/corruption">https://postgres.fm/episodes/corruption</a>  </li><li>Tip 8: tune autovacuum to run frequently and move faster</li><li>Related episode: <a href="https://postgres.fm/episodes/vacuum">https://postgres.fm/episodes/vacuum</a></li><li>Tip 9: query optimization will eventually be more important than configuration tuning</li><li>Related episodes: <a href="https://postgres.fm/episodes/intro-to-query-optimization">https://postgres.fm/episodes/intro-to-query-optimization</a> and <a href="https://postgres.fm/episodes/102-query-optimization">https://postgres.fm/episodes/102-query-optimization</a></li><li>Tip 10: indexes need to be rebuilt, unfortunately, since their health decline over time</li><li>Related episode: <a href="https://postgres.fm/episodes/index-maintenance">https://postgres.fm/episodes/index-maintenance</a>  </li><li>Bonus tip: the official documentation, release notes, and source code comments/readmes are your friends! </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 21 Jul 2023 13:30:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/14c866c4/b2f545e6.mp3" length="38710915" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2418</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss 10 beginner tips Nikolay recently shared — they go into a bit more detail on each, and even disagree a little on one or two! <br> <br>Here are some links to some things they mentioned:</p><ul><li>Nikolay’s tweet with all 10 tips: <a href="https://twitter.com/samokhvalov/status/1679953049899642880">https://twitter.com/samokhvalov/status/1679953049899642880</a> </li><li>Tip 1: tuples are physical versions of rows</li><li>Related episodes: <a href="https://postgres.fm/episodes/how-to-become-a-dba">https://postgres.fm/episodes/how-to-become-a-dba</a> and <a href="https://postgres.fm/episodes/hot-updates">https://postgres.fm/episodes/hot-updates</a> </li><li>Tip 2:<strong> </strong>always use EXPLAIN (ANALYZE, BUFFERS)</li><li>Related episode: <a href="https://postgres.fm/episodes/buffers-by-default">https://postgres.fm/episodes/buffers-by-default</a> </li><li>Tip 3: throw away pgAdmin</li><li>Related episode: <a href="https://postgres.fm/episodes/psql-vs-guis">https://postgres.fm/episodes/psql-vs-guis</a>  </li><li>Tip 4: enable as much logging as you can afford</li><li>Related episode:<strong> </strong><a href="https://postgres.fm/episodes/default-configuration">https://postgres.fm/episodes/default-configuration</a> </li><li>Tip 5: install pg_stat_statements</li><li>Related episodes:<strong> </strong><a href="https://postgres.fm/episodes/pg_stat_statements">https://postgres.fm/episodes/pg_stat_statements</a> and <a href="https://postgres.fm/episodes/auto_explain">https://postgres.fm/episodes/auto_explain</a>, and <a href="https://postgres.fm/episodes/macro-query-analysis-intro">https://postgres.fm/episodes/macro-query-analysis-intro</a></li><li>Tip 6: run experiments on realistic data sets (use thin cloning and branching)</li><li>Related episode:<strong> </strong><a href="https://postgres.fm/episodes/database-branching">https://postgres.fm/episodes/database-branching</a> </li><li>Tip 7: make sure data checksums are enabled </li><li>Related episode: <a href="https://postgres.fm/episodes/corruption">https://postgres.fm/episodes/corruption</a>  </li><li>Tip 8: tune autovacuum to run frequently and move faster</li><li>Related episode: <a href="https://postgres.fm/episodes/vacuum">https://postgres.fm/episodes/vacuum</a></li><li>Tip 9: query optimization will eventually be more important than configuration tuning</li><li>Related episodes: <a href="https://postgres.fm/episodes/intro-to-query-optimization">https://postgres.fm/episodes/intro-to-query-optimization</a> and <a href="https://postgres.fm/episodes/102-query-optimization">https://postgres.fm/episodes/102-query-optimization</a></li><li>Tip 10: indexes need to be rebuilt, unfortunately, since their health decline over time</li><li>Related episode: <a href="https://postgres.fm/episodes/index-maintenance">https://postgres.fm/episodes/index-maintenance</a>  </li><li>Bonus tip: the official documentation, release notes, and source code comments/readmes are your friends! </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/14c866c4/transcript.txt" type="text/plain"/>
      <podcast:chapters url="https://share.transistor.fm/s/14c866c4/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Connection poolers</title>
      <itunes:episode>54</itunes:episode>
      <podcast:episode>54</podcast:episode>
      <itunes:title>Connection poolers</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">5f0428b6-34ad-4233-97cc-01454f5e073b</guid>
      <link>https://share.transistor.fm/s/4bd56b96</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss Postgres connection poolers — when and why we need them, the king that is PgBouncer, and the many new pretenders to the throne.<br> <br>Here are links to a few things they mentioned: </p><ul><li>max_connections <a href="https://www.postgresql.org/docs/current/runtime-config-connection.html#GUC-MAX-CONNECTIONS">https://www.postgresql.org/docs/current/runtime-config-connection.html#GUC-MAX-CONNECTIONS</a> </li><li>Improving Postgres Connection Scalability: Snapshots (blog post by Andres Freund) <a href="https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/improving-postgres-connection-scalability-snapshots/ba-p/1806462">https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/improving-postgres-connection-scalability-snapshots/ba-p/1806462</a> </li><li>PgBouncer <a href="https://github.com/pgbouncer/pgbouncer">https://github.com/pgbouncer/pgbouncer</a></li><li>Odyssey <a href="https://github.com/yandex/odyssey">https://github.com/yandex/odyssey</a></li><li>PgCat <a href="https://github.com/postgresml/pgcat">https://github.com/postgresml/pgcat</a> </li><li>Adopting PgCat: A Nextgen Postgres Proxy <a href="https://www.instacart.com/company/how-its-made/adopting-pgcat-a-nextgen-postgres-proxy/">https://www.instacart.com/company/how-its-made/adopting-pgcat-a-nextgen-postgres-proxy/</a> </li><li>Supavisor <a href="https://github.com/supabase/supavisor">https://github.com/supabase/supavisor</a> </li><li>pgagroal <a href="https://github.com/agroal/pgagroal">https://github.com/agroal/pgagroal</a></li><li>PgBouncer is useful, important, and fraught with peril (blog post from JP Camara) <a href="https://jpcamara.com/2023/04/12/pgbouncer-is-useful.html">https://jpcamara.com/2023/04/12/pgbouncer-is-useful.html</a> </li></ul><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss Postgres connection poolers — when and why we need them, the king that is PgBouncer, and the many new pretenders to the throne.<br> <br>Here are links to a few things they mentioned: </p><ul><li>max_connections <a href="https://www.postgresql.org/docs/current/runtime-config-connection.html#GUC-MAX-CONNECTIONS">https://www.postgresql.org/docs/current/runtime-config-connection.html#GUC-MAX-CONNECTIONS</a> </li><li>Improving Postgres Connection Scalability: Snapshots (blog post by Andres Freund) <a href="https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/improving-postgres-connection-scalability-snapshots/ba-p/1806462">https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/improving-postgres-connection-scalability-snapshots/ba-p/1806462</a> </li><li>PgBouncer <a href="https://github.com/pgbouncer/pgbouncer">https://github.com/pgbouncer/pgbouncer</a></li><li>Odyssey <a href="https://github.com/yandex/odyssey">https://github.com/yandex/odyssey</a></li><li>PgCat <a href="https://github.com/postgresml/pgcat">https://github.com/postgresml/pgcat</a> </li><li>Adopting PgCat: A Nextgen Postgres Proxy <a href="https://www.instacart.com/company/how-its-made/adopting-pgcat-a-nextgen-postgres-proxy/">https://www.instacart.com/company/how-its-made/adopting-pgcat-a-nextgen-postgres-proxy/</a> </li><li>Supavisor <a href="https://github.com/supabase/supavisor">https://github.com/supabase/supavisor</a> </li><li>pgagroal <a href="https://github.com/agroal/pgagroal">https://github.com/agroal/pgagroal</a></li><li>PgBouncer is useful, important, and fraught with peril (blog post from JP Camara) <a href="https://jpcamara.com/2023/04/12/pgbouncer-is-useful.html">https://jpcamara.com/2023/04/12/pgbouncer-is-useful.html</a> </li></ul><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 14 Jul 2023 13:30:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/4bd56b96/9228e1a6.mp3" length="30249708" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>1889</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss Postgres connection poolers — when and why we need them, the king that is PgBouncer, and the many new pretenders to the throne.<br> <br>Here are links to a few things they mentioned: </p><ul><li>max_connections <a href="https://www.postgresql.org/docs/current/runtime-config-connection.html#GUC-MAX-CONNECTIONS">https://www.postgresql.org/docs/current/runtime-config-connection.html#GUC-MAX-CONNECTIONS</a> </li><li>Improving Postgres Connection Scalability: Snapshots (blog post by Andres Freund) <a href="https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/improving-postgres-connection-scalability-snapshots/ba-p/1806462">https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/improving-postgres-connection-scalability-snapshots/ba-p/1806462</a> </li><li>PgBouncer <a href="https://github.com/pgbouncer/pgbouncer">https://github.com/pgbouncer/pgbouncer</a></li><li>Odyssey <a href="https://github.com/yandex/odyssey">https://github.com/yandex/odyssey</a></li><li>PgCat <a href="https://github.com/postgresml/pgcat">https://github.com/postgresml/pgcat</a> </li><li>Adopting PgCat: A Nextgen Postgres Proxy <a href="https://www.instacart.com/company/how-its-made/adopting-pgcat-a-nextgen-postgres-proxy/">https://www.instacart.com/company/how-its-made/adopting-pgcat-a-nextgen-postgres-proxy/</a> </li><li>Supavisor <a href="https://github.com/supabase/supavisor">https://github.com/supabase/supavisor</a> </li><li>pgagroal <a href="https://github.com/agroal/pgagroal">https://github.com/agroal/pgagroal</a></li><li>PgBouncer is useful, important, and fraught with peril (blog post from JP Camara) <a href="https://jpcamara.com/2023/04/12/pgbouncer-is-useful.html">https://jpcamara.com/2023/04/12/pgbouncer-is-useful.html</a> </li></ul><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/4bd56b96/transcript.txt" type="text/plain"/>
    </item>
    <item>
      <title>Anniversary mailbag</title>
      <itunes:episode>53</itunes:episode>
      <podcast:episode>53</podcast:episode>
      <itunes:title>Anniversary mailbag</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">c38deeb0-e73d-4012-a8b0-cfa31198626d</guid>
      <link>https://share.transistor.fm/s/22ae451a</link>
      <description>
        <![CDATA[<p>Nikolay and Michael celebrate the podcast's 1 year anniversary by going through several questions and suggestions received over the year.<br> <br>Here are the questions and some links to things we mentioned: </p><ul><li>Question 1: Effect of wal_log_hints=on after bulk Deletes: Why next select runs slow and generated tons of WAL? <a href="https://twitter.com/dmx551/status/1598253188926570496">https://twitter.com/dmx551/status/1598253188926570496</a> </li><li>wal_log_hints <a href="https://www.postgresql.org/docs/current/runtime-config-wal.html#GUC-WAL-LOG-HINTS">https://www.postgresql.org/docs/current/runtime-config-wal.html#GUC-WAL-LOG-HINTS</a> </li><li>Exploring how SELECT Queries can produce disk writes <a href="https://blog.okmeter.io/postgresql-exploring-how-select-queries-can-produce-disk-writes-f36c8bee6b6f">https://blog.okmeter.io/postgresql-exploring-how-select-queries-can-produce-disk-writes-f36c8bee6b6f</a></li></ul><p><br></p><ul><li>Question 2: How to get started reading PostgreSQL source code. Maybe a PostgreSQL style C reference guide to consult with for non C programmers <a href="https://twitter.com/andatki/status/1578088843940593678">https://twitter.com/andatki/status/1578088843940593678</a> </li><li>So, you want to be a developer? <a href="https://wiki.postgresql.org/wiki/So,_you_want_to_be_a_developer%3F">https://wiki.postgresql.org/wiki/So,_you_want_to_be_a_developer%3F</a></li><li>GitHub search <a href="https://github.com/search?q=repo%3Apostgres%2Fpostgres+wal_log_hints&amp;type=code">https://github.com/search?q=repo%3Apostgres%2Fpostgres+wal_log_hints&amp;type=code</a> </li><li>The Internals of PostgreSQL (by Hironobu SUZUKI) <a href="https://www.interdb.jp/pg/">https://www.interdb.jp/pg/</a> </li><li>PostgreSQL 14 Internals (by Egor Rogov) <a href="https://postgrespro.com/community/books/internals">https://postgrespro.com/community/books/internals</a> </li></ul><p><br></p><ul><li>Question 3: Isolation Levels Primer/Strategies — their uses in different scenarios, battle tested strategies and insights, performance tradeoffs, edge cases to consider at scale (with replication and sharding, etc.) I remember reading some interesting stuff on the jepsen analysis <a href="https://jepsen.io/analyses/postgresql-12.3">https://jepsen.io/analyses/postgresql-12.3</a> about Postgres's Serializable Isolation Level behaving more like Snapshot Isolation. Has this type of behavior or another one similar to this affected you or your clients in any significant way?</li><li>Transaction Isolation <a href="https://www.postgresql.org/docs/current/transaction-iso.html">https://www.postgresql.org/docs/current/transaction-iso.html</a></li><li>What developers find surprising about Postgres transactions <a href="https://blog.lawrencejones.dev/isolation-levels/">https://blog.lawrencejones.dev/isolation-levels/</a>  </li></ul><p><br></p><ul><li>Question 4: Data encryption in Postgres</li><li>Cybertec Transparent Data Encryption <a href="https://www.cybertec-postgresql.com/en/products/postgresql-transparent-data-encryption/">https://www.cybertec-postgresql.com/en/products/postgresql-transparent-data-encryption/</a> </li><li>EDB Transparent Data Encryption <a href="https://www.enterprisedb.com/docs/tde/latest/">https://www.enterprisedb.com/docs/tde/latest/</a></li></ul><p><br></p><ul><li>Question 5: Migration from other DBMSs</li><li>PostgreSQL transition/migration guide <a href="https://github.com/postgresql-transition-guide/guide">https://github.com/postgresql-transition-guide/guide</a>  </li></ul><p><br></p><ul><li>Question 6: Latest failover best practices</li><li>Patroni <a href="https://github.com/zalando/patroni">https://github.com/zalando/patroni</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael celebrate the podcast's 1 year anniversary by going through several questions and suggestions received over the year.<br> <br>Here are the questions and some links to things we mentioned: </p><ul><li>Question 1: Effect of wal_log_hints=on after bulk Deletes: Why next select runs slow and generated tons of WAL? <a href="https://twitter.com/dmx551/status/1598253188926570496">https://twitter.com/dmx551/status/1598253188926570496</a> </li><li>wal_log_hints <a href="https://www.postgresql.org/docs/current/runtime-config-wal.html#GUC-WAL-LOG-HINTS">https://www.postgresql.org/docs/current/runtime-config-wal.html#GUC-WAL-LOG-HINTS</a> </li><li>Exploring how SELECT Queries can produce disk writes <a href="https://blog.okmeter.io/postgresql-exploring-how-select-queries-can-produce-disk-writes-f36c8bee6b6f">https://blog.okmeter.io/postgresql-exploring-how-select-queries-can-produce-disk-writes-f36c8bee6b6f</a></li></ul><p><br></p><ul><li>Question 2: How to get started reading PostgreSQL source code. Maybe a PostgreSQL style C reference guide to consult with for non C programmers <a href="https://twitter.com/andatki/status/1578088843940593678">https://twitter.com/andatki/status/1578088843940593678</a> </li><li>So, you want to be a developer? <a href="https://wiki.postgresql.org/wiki/So,_you_want_to_be_a_developer%3F">https://wiki.postgresql.org/wiki/So,_you_want_to_be_a_developer%3F</a></li><li>GitHub search <a href="https://github.com/search?q=repo%3Apostgres%2Fpostgres+wal_log_hints&amp;type=code">https://github.com/search?q=repo%3Apostgres%2Fpostgres+wal_log_hints&amp;type=code</a> </li><li>The Internals of PostgreSQL (by Hironobu SUZUKI) <a href="https://www.interdb.jp/pg/">https://www.interdb.jp/pg/</a> </li><li>PostgreSQL 14 Internals (by Egor Rogov) <a href="https://postgrespro.com/community/books/internals">https://postgrespro.com/community/books/internals</a> </li></ul><p><br></p><ul><li>Question 3: Isolation Levels Primer/Strategies — their uses in different scenarios, battle tested strategies and insights, performance tradeoffs, edge cases to consider at scale (with replication and sharding, etc.) I remember reading some interesting stuff on the jepsen analysis <a href="https://jepsen.io/analyses/postgresql-12.3">https://jepsen.io/analyses/postgresql-12.3</a> about Postgres's Serializable Isolation Level behaving more like Snapshot Isolation. Has this type of behavior or another one similar to this affected you or your clients in any significant way?</li><li>Transaction Isolation <a href="https://www.postgresql.org/docs/current/transaction-iso.html">https://www.postgresql.org/docs/current/transaction-iso.html</a></li><li>What developers find surprising about Postgres transactions <a href="https://blog.lawrencejones.dev/isolation-levels/">https://blog.lawrencejones.dev/isolation-levels/</a>  </li></ul><p><br></p><ul><li>Question 4: Data encryption in Postgres</li><li>Cybertec Transparent Data Encryption <a href="https://www.cybertec-postgresql.com/en/products/postgresql-transparent-data-encryption/">https://www.cybertec-postgresql.com/en/products/postgresql-transparent-data-encryption/</a> </li><li>EDB Transparent Data Encryption <a href="https://www.enterprisedb.com/docs/tde/latest/">https://www.enterprisedb.com/docs/tde/latest/</a></li></ul><p><br></p><ul><li>Question 5: Migration from other DBMSs</li><li>PostgreSQL transition/migration guide <a href="https://github.com/postgresql-transition-guide/guide">https://github.com/postgresql-transition-guide/guide</a>  </li></ul><p><br></p><ul><li>Question 6: Latest failover best practices</li><li>Patroni <a href="https://github.com/zalando/patroni">https://github.com/zalando/patroni</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 07 Jul 2023 13:30:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/22ae451a/57ce4e73.mp3" length="30169583" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>1884</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael celebrate the podcast's 1 year anniversary by going through several questions and suggestions received over the year.<br> <br>Here are the questions and some links to things we mentioned: </p><ul><li>Question 1: Effect of wal_log_hints=on after bulk Deletes: Why next select runs slow and generated tons of WAL? <a href="https://twitter.com/dmx551/status/1598253188926570496">https://twitter.com/dmx551/status/1598253188926570496</a> </li><li>wal_log_hints <a href="https://www.postgresql.org/docs/current/runtime-config-wal.html#GUC-WAL-LOG-HINTS">https://www.postgresql.org/docs/current/runtime-config-wal.html#GUC-WAL-LOG-HINTS</a> </li><li>Exploring how SELECT Queries can produce disk writes <a href="https://blog.okmeter.io/postgresql-exploring-how-select-queries-can-produce-disk-writes-f36c8bee6b6f">https://blog.okmeter.io/postgresql-exploring-how-select-queries-can-produce-disk-writes-f36c8bee6b6f</a></li></ul><p><br></p><ul><li>Question 2: How to get started reading PostgreSQL source code. Maybe a PostgreSQL style C reference guide to consult with for non C programmers <a href="https://twitter.com/andatki/status/1578088843940593678">https://twitter.com/andatki/status/1578088843940593678</a> </li><li>So, you want to be a developer? <a href="https://wiki.postgresql.org/wiki/So,_you_want_to_be_a_developer%3F">https://wiki.postgresql.org/wiki/So,_you_want_to_be_a_developer%3F</a></li><li>GitHub search <a href="https://github.com/search?q=repo%3Apostgres%2Fpostgres+wal_log_hints&amp;type=code">https://github.com/search?q=repo%3Apostgres%2Fpostgres+wal_log_hints&amp;type=code</a> </li><li>The Internals of PostgreSQL (by Hironobu SUZUKI) <a href="https://www.interdb.jp/pg/">https://www.interdb.jp/pg/</a> </li><li>PostgreSQL 14 Internals (by Egor Rogov) <a href="https://postgrespro.com/community/books/internals">https://postgrespro.com/community/books/internals</a> </li></ul><p><br></p><ul><li>Question 3: Isolation Levels Primer/Strategies — their uses in different scenarios, battle tested strategies and insights, performance tradeoffs, edge cases to consider at scale (with replication and sharding, etc.) I remember reading some interesting stuff on the jepsen analysis <a href="https://jepsen.io/analyses/postgresql-12.3">https://jepsen.io/analyses/postgresql-12.3</a> about Postgres's Serializable Isolation Level behaving more like Snapshot Isolation. Has this type of behavior or another one similar to this affected you or your clients in any significant way?</li><li>Transaction Isolation <a href="https://www.postgresql.org/docs/current/transaction-iso.html">https://www.postgresql.org/docs/current/transaction-iso.html</a></li><li>What developers find surprising about Postgres transactions <a href="https://blog.lawrencejones.dev/isolation-levels/">https://blog.lawrencejones.dev/isolation-levels/</a>  </li></ul><p><br></p><ul><li>Question 4: Data encryption in Postgres</li><li>Cybertec Transparent Data Encryption <a href="https://www.cybertec-postgresql.com/en/products/postgresql-transparent-data-encryption/">https://www.cybertec-postgresql.com/en/products/postgresql-transparent-data-encryption/</a> </li><li>EDB Transparent Data Encryption <a href="https://www.enterprisedb.com/docs/tde/latest/">https://www.enterprisedb.com/docs/tde/latest/</a></li></ul><p><br></p><ul><li>Question 5: Migration from other DBMSs</li><li>PostgreSQL transition/migration guide <a href="https://github.com/postgresql-transition-guide/guide">https://github.com/postgresql-transition-guide/guide</a>  </li></ul><p><br></p><ul><li>Question 6: Latest failover best practices</li><li>Patroni <a href="https://github.com/zalando/patroni">https://github.com/zalando/patroni</a></li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/22ae451a/transcript.txt" type="text/plain"/>
      <podcast:chapters url="https://share.transistor.fm/s/22ae451a/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>pg_upgrade: the tricky and dangerous parts</title>
      <itunes:episode>52</itunes:episode>
      <podcast:episode>52</podcast:episode>
      <itunes:title>pg_upgrade: the tricky and dangerous parts</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">19adcdfb-c744-4f7a-9dc9-655dc0679157</guid>
      <link>https://share.transistor.fm/s/100f3455</link>
      <description>
        <![CDATA[<p>Nikolay (alone, again) reveals some issues that might hit those who perform major PostgreSQL upgrades with minimal downtime.</p><p>Links:<br>- "Upgrades" – PostgresFM episode 037: <a href="https://postgres.fm/episodes/upgrades">https://postgres.fm/episodes/upgrades</a><br>- recovery_target_lsn: <a href="https://postgresqlco.nf/doc/en/param/recovery_target_lsn/">https://postgresqlco.nf/doc/en/param/recovery_target_lsn/</a><br>- recovery_target_action: <a href="https://postgresqlco.nf/doc/en/param/recovery_target_action/">https://postgresqlco.nf/doc/en/param/recovery_target_action/</a><br>- pg_easy_replicate <a href="https://github.com/shayonj/pg_easy_replicate/">https://github.com/shayonj/pg_easy_replicate/</a><br>- HN discussion of this tool: <a href="https://news.ycombinator.com/item?id=36405761">https://news.ycombinator.com/item?id=36405761</a><br>- Waiting for Postgres 16: Logical decoding on standbys: <a href="https://pganalyze.com/blog/5mins-postgres-16-logical-decoding">https://pganalyze.com/blog/5mins-postgres-16-logical-decoding</a><br>- pg_upgrade and logical replication (discussion in pgsql-hackers): <a href="https://www.postgresql.org/message-id/flat/20230217075433.u5mjly4d5cr4hcfe%40jrouhaud">https://www.postgresql.org/message-id/flat/20230217075433.u5mjly4d5cr4hcfe%40jrouhaud</a><br>- allow upgrading publisher node (proposal to natively support running pg_upgrade on publisher, WIP): <a href="https://commitfest.postgresql.org/43/4273/">https://commitfest.postgresql.org/43/4273/</a><br>- ❓🤔 pg_upgrade instructions involving "rsync --size-only" might lead to standby corruption? (discussion in pgsql-hackers): <a href="https://www.postgresql.org/message-id/flat/CAM527d8heqkjG5VrvjU3Xjsqxg41ufUyabD9QZccdAxnpbRH-Q%40mail.gmail.com">https://www.postgresql.org/message-id/flat/CAM527d8heqkjG5VrvjU3Xjsqxg41ufUyabD9QZccdAxnpbRH-Q%40mail.gmail.com</a></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/pg_upgrade-tricky-and-dangerous-parts">here's a good link</a> (and thank you!)</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay (alone, again) reveals some issues that might hit those who perform major PostgreSQL upgrades with minimal downtime.</p><p>Links:<br>- "Upgrades" – PostgresFM episode 037: <a href="https://postgres.fm/episodes/upgrades">https://postgres.fm/episodes/upgrades</a><br>- recovery_target_lsn: <a href="https://postgresqlco.nf/doc/en/param/recovery_target_lsn/">https://postgresqlco.nf/doc/en/param/recovery_target_lsn/</a><br>- recovery_target_action: <a href="https://postgresqlco.nf/doc/en/param/recovery_target_action/">https://postgresqlco.nf/doc/en/param/recovery_target_action/</a><br>- pg_easy_replicate <a href="https://github.com/shayonj/pg_easy_replicate/">https://github.com/shayonj/pg_easy_replicate/</a><br>- HN discussion of this tool: <a href="https://news.ycombinator.com/item?id=36405761">https://news.ycombinator.com/item?id=36405761</a><br>- Waiting for Postgres 16: Logical decoding on standbys: <a href="https://pganalyze.com/blog/5mins-postgres-16-logical-decoding">https://pganalyze.com/blog/5mins-postgres-16-logical-decoding</a><br>- pg_upgrade and logical replication (discussion in pgsql-hackers): <a href="https://www.postgresql.org/message-id/flat/20230217075433.u5mjly4d5cr4hcfe%40jrouhaud">https://www.postgresql.org/message-id/flat/20230217075433.u5mjly4d5cr4hcfe%40jrouhaud</a><br>- allow upgrading publisher node (proposal to natively support running pg_upgrade on publisher, WIP): <a href="https://commitfest.postgresql.org/43/4273/">https://commitfest.postgresql.org/43/4273/</a><br>- ❓🤔 pg_upgrade instructions involving "rsync --size-only" might lead to standby corruption? (discussion in pgsql-hackers): <a href="https://www.postgresql.org/message-id/flat/CAM527d8heqkjG5VrvjU3Xjsqxg41ufUyabD9QZccdAxnpbRH-Q%40mail.gmail.com">https://www.postgresql.org/message-id/flat/CAM527d8heqkjG5VrvjU3Xjsqxg41ufUyabD9QZccdAxnpbRH-Q%40mail.gmail.com</a></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/pg_upgrade-tricky-and-dangerous-parts">here's a good link</a> (and thank you!)</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 30 Jun 2023 21:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov</author>
      <enclosure url="https://media.transistor.fm/100f3455/22ece7fc.mp3" length="24639843" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov</itunes:author>
      <itunes:duration>1538</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay (alone, again) reveals some issues that might hit those who perform major PostgreSQL upgrades with minimal downtime.</p><p>Links:<br>- "Upgrades" – PostgresFM episode 037: <a href="https://postgres.fm/episodes/upgrades">https://postgres.fm/episodes/upgrades</a><br>- recovery_target_lsn: <a href="https://postgresqlco.nf/doc/en/param/recovery_target_lsn/">https://postgresqlco.nf/doc/en/param/recovery_target_lsn/</a><br>- recovery_target_action: <a href="https://postgresqlco.nf/doc/en/param/recovery_target_action/">https://postgresqlco.nf/doc/en/param/recovery_target_action/</a><br>- pg_easy_replicate <a href="https://github.com/shayonj/pg_easy_replicate/">https://github.com/shayonj/pg_easy_replicate/</a><br>- HN discussion of this tool: <a href="https://news.ycombinator.com/item?id=36405761">https://news.ycombinator.com/item?id=36405761</a><br>- Waiting for Postgres 16: Logical decoding on standbys: <a href="https://pganalyze.com/blog/5mins-postgres-16-logical-decoding">https://pganalyze.com/blog/5mins-postgres-16-logical-decoding</a><br>- pg_upgrade and logical replication (discussion in pgsql-hackers): <a href="https://www.postgresql.org/message-id/flat/20230217075433.u5mjly4d5cr4hcfe%40jrouhaud">https://www.postgresql.org/message-id/flat/20230217075433.u5mjly4d5cr4hcfe%40jrouhaud</a><br>- allow upgrading publisher node (proposal to natively support running pg_upgrade on publisher, WIP): <a href="https://commitfest.postgresql.org/43/4273/">https://commitfest.postgresql.org/43/4273/</a><br>- ❓🤔 pg_upgrade instructions involving "rsync --size-only" might lead to standby corruption? (discussion in pgsql-hackers): <a href="https://www.postgresql.org/message-id/flat/CAM527d8heqkjG5VrvjU3Xjsqxg41ufUyabD9QZccdAxnpbRH-Q%40mail.gmail.com">https://www.postgresql.org/message-id/flat/CAM527d8heqkjG5VrvjU3Xjsqxg41ufUyabD9QZccdAxnpbRH-Q%40mail.gmail.com</a></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/pg_upgrade-tricky-and-dangerous-parts">here's a good link</a> (and thank you!)</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, pg_upgrade, logical replication, dangers, tricks</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
    </item>
    <item>
      <title>UUID</title>
      <itunes:episode>51</itunes:episode>
      <podcast:episode>51</podcast:episode>
      <itunes:title>UUID</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">fa851a80-6136-427d-acb0-fe1335a8f91e</guid>
      <link>https://postgres.fm/episodes/uuid</link>
      <description>
        <![CDATA[<p>Lonely Nikolay discusses the performance aspects of using UUID for primary keys. </p><p>Here are links to a few things I mentioned: </p><ul><li>"postgresql" posts on HN, most popular last week (Algolia search): <a href="https://hn.algolia.com/?dateRange=pastWeek&amp;page=0&amp;prefix=true&amp;query=postgresql&amp;sort=byPopularity&amp;type=story">https://hn.algolia.com/?dateRange=pastWeek&amp;page=0&amp;prefix=true&amp;query=postgresql&amp;sort=byPopularity&amp;type=story</a></li><li>Unexpected downsides of UUID keys in PostgreSQL (a post by Ants Aasma, Cybertec): <a href="https://www.cybertec-postgresql.com/en/unexpected-downsides-of-uuid-keys-in-postgresql/">https://www.cybertec-postgresql.com/en/unexpected-downsides-of-uuid-keys-in-postgresql/</a></li><li>HN discussion of that post: <a href="https://news.ycombinator.com/item?id=36429986">https://news.ycombinator.com/item?id=36429986</a></li><li>Additional math by me (converting to bytes): <a href="https://twitter.com/samokhvalov/status/1671962111092850689">https://twitter.com/samokhvalov/status/1671962111092850689</a></li><li>Updated RFC4122 (proposal): <a href="https://github.com/ietf-wg-uuidrev/rfc4122bis">https://github.com/ietf-wg-uuidrev/rfc4122bis</a></li><li>Status of that proposal: <a href="https://datatracker.ietf.org/doc/draft-ietf-uuidrev-rfc4122bis/history/">https://datatracker.ietf.org/doc/draft-ietf-uuidrev-rfc4122bis/history/</a></li><li>Patch UUID v7 (commitfest record): <a href="https://commitfest.postgresql.org/43/4388/">https://commitfest.postgresql.org/43/4388/</a></li><li>Postgres hacking with Andrey and Kirk: <a href="https://www.youtube.com/watch?v=YPq_hiOE-N8">https://www.youtube.com/watch?v=YPq_hiOE-N8</a> (where that patch was developed)</li></ul><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/uuid">here's a good link</a> (and thank you!)</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Lonely Nikolay discusses the performance aspects of using UUID for primary keys. </p><p>Here are links to a few things I mentioned: </p><ul><li>"postgresql" posts on HN, most popular last week (Algolia search): <a href="https://hn.algolia.com/?dateRange=pastWeek&amp;page=0&amp;prefix=true&amp;query=postgresql&amp;sort=byPopularity&amp;type=story">https://hn.algolia.com/?dateRange=pastWeek&amp;page=0&amp;prefix=true&amp;query=postgresql&amp;sort=byPopularity&amp;type=story</a></li><li>Unexpected downsides of UUID keys in PostgreSQL (a post by Ants Aasma, Cybertec): <a href="https://www.cybertec-postgresql.com/en/unexpected-downsides-of-uuid-keys-in-postgresql/">https://www.cybertec-postgresql.com/en/unexpected-downsides-of-uuid-keys-in-postgresql/</a></li><li>HN discussion of that post: <a href="https://news.ycombinator.com/item?id=36429986">https://news.ycombinator.com/item?id=36429986</a></li><li>Additional math by me (converting to bytes): <a href="https://twitter.com/samokhvalov/status/1671962111092850689">https://twitter.com/samokhvalov/status/1671962111092850689</a></li><li>Updated RFC4122 (proposal): <a href="https://github.com/ietf-wg-uuidrev/rfc4122bis">https://github.com/ietf-wg-uuidrev/rfc4122bis</a></li><li>Status of that proposal: <a href="https://datatracker.ietf.org/doc/draft-ietf-uuidrev-rfc4122bis/history/">https://datatracker.ietf.org/doc/draft-ietf-uuidrev-rfc4122bis/history/</a></li><li>Patch UUID v7 (commitfest record): <a href="https://commitfest.postgresql.org/43/4388/">https://commitfest.postgresql.org/43/4388/</a></li><li>Postgres hacking with Andrey and Kirk: <a href="https://www.youtube.com/watch?v=YPq_hiOE-N8">https://www.youtube.com/watch?v=YPq_hiOE-N8</a> (where that patch was developed)</li></ul><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/uuid">here's a good link</a> (and thank you!)</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 23 Jun 2023 20:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov</author>
      <enclosure url="https://media.transistor.fm/274b5a5a/35e75c81.mp3" length="21313510" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov</itunes:author>
      <itunes:duration>1331</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Lonely Nikolay discusses the performance aspects of using UUID for primary keys. </p><p>Here are links to a few things I mentioned: </p><ul><li>"postgresql" posts on HN, most popular last week (Algolia search): <a href="https://hn.algolia.com/?dateRange=pastWeek&amp;page=0&amp;prefix=true&amp;query=postgresql&amp;sort=byPopularity&amp;type=story">https://hn.algolia.com/?dateRange=pastWeek&amp;page=0&amp;prefix=true&amp;query=postgresql&amp;sort=byPopularity&amp;type=story</a></li><li>Unexpected downsides of UUID keys in PostgreSQL (a post by Ants Aasma, Cybertec): <a href="https://www.cybertec-postgresql.com/en/unexpected-downsides-of-uuid-keys-in-postgresql/">https://www.cybertec-postgresql.com/en/unexpected-downsides-of-uuid-keys-in-postgresql/</a></li><li>HN discussion of that post: <a href="https://news.ycombinator.com/item?id=36429986">https://news.ycombinator.com/item?id=36429986</a></li><li>Additional math by me (converting to bytes): <a href="https://twitter.com/samokhvalov/status/1671962111092850689">https://twitter.com/samokhvalov/status/1671962111092850689</a></li><li>Updated RFC4122 (proposal): <a href="https://github.com/ietf-wg-uuidrev/rfc4122bis">https://github.com/ietf-wg-uuidrev/rfc4122bis</a></li><li>Status of that proposal: <a href="https://datatracker.ietf.org/doc/draft-ietf-uuidrev-rfc4122bis/history/">https://datatracker.ietf.org/doc/draft-ietf-uuidrev-rfc4122bis/history/</a></li><li>Patch UUID v7 (commitfest record): <a href="https://commitfest.postgresql.org/43/4388/">https://commitfest.postgresql.org/43/4388/</a></li><li>Postgres hacking with Andrey and Kirk: <a href="https://www.youtube.com/watch?v=YPq_hiOE-N8">https://www.youtube.com/watch?v=YPq_hiOE-N8</a> (where that patch was developed)</li></ul><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/uuid">here's a good link</a> (and thank you!)</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>UUID</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
    </item>
    <item>
      <title>Memory</title>
      <itunes:episode>50</itunes:episode>
      <podcast:episode>50</podcast:episode>
      <itunes:title>Memory</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">a2bb7009-1610-4fb0-aa6b-94dd36f40655</guid>
      <link>https://share.transistor.fm/s/174f0864</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss memory in PostgreSQL — how it works, important settings, and how to go about tuning them.<br> <br>Here are links to a few things we mentioned: </p><ul><li>Resource Consumption (PostgreSQL docs) <a href="https://www.postgresql.org/docs/current/runtime-config-resource.html">https://www.postgresql.org/docs/current/runtime-config-resource.html</a></li><li>Andres Freud tweet about shared_buffers <a href="https://twitter.com/AndresFreundTec/status/1438912583554113537">https://twitter.com/AndresFreundTec/status/1438912583554113537</a> </li><li>Henrietta (Hettie) Dombrovskaya <a href="https://hdombrovskaya.wordpress.com/">https://hdombrovskaya.wordpress.com/about-the-author/</a></li><li>annotated.conf (by ash Berkus) <a href="https://github.com/jberkus/annotated.conf">https://github.com/jberkus/annotated.conf</a> </li><li>Our episode about checkpoint tuning <a href="https://postgres.fm/episodes/wal-and-checkpoint-tuning">https://postgres.fm/episodes/wal-and-checkpoint-tuning</a> </li><li>Our episode about BUFFERS <a href="https://postgres.fm/episodes/buffers-by-default">https://postgres.fm/episodes/buffers-by-default</a> </li><li>Analyzing the Limits of Connection Scalability in Postgres (blog post by Andres Freund) <a href="https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/analyzing-the-limits-of-connection-scalability-in-postgres/ba-p/1757266#memory-usage">https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/analyzing-the-limits-of-connection-scalability-in-postgres/ba-p/1757266#memory-usage</a></li><li>Tuning memory parameters for Aurora PostgreSQL <a href="https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.BestPractices.Tuning-memory-parameters.html">https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.BestPractices.Tuning-memory-parameters.html</a> </li><li>RDS for PostgreSQL memory <a href="https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Tuning.concepts.html#PostgreSQL.Tuning.concepts.memory">https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Tuning.concepts.html#PostgreSQL.Tuning.concepts.memory</a> </li><li>EDB guide by Via Fearing <a href="https://www.enterprisedb.com/postgres-tutorials/introduction-postgresql-performance-tuning-and-optimization#resourceusage">https://www.enterprisedb.com/postgres-tutorials/introduction-postgresql-performance-tuning-and-optimization#resourceusage</a> </li><li>pg_stat_kcache <a href="https://github.com/powa-team/pg_stat_kcache">https://github.com/powa-team/pg_stat_kcache</a> </li><li>pg_buffercache <a href="https://www.postgresql.org/docs/current/pgbuffercache.html">https://www.postgresql.org/docs/current/pgbuffercache.html</a> </li><li>Process and Memory Architecture chapter (from Hironobu SUZUKI) <a href="https://www.interdb.jp/pg/pgsql02.html">https://www.interdb.jp/pg/pgsql02.html</a></li><li>PostgreSQL 14 internals PDF book from Egor Rogov (pages 37, 184)  <a href="https://edu.postgrespro.com/postgresql_internals-14_en.pdf">https://edu.postgrespro.com/postgresql_internals-14_en.pdf</a> </li><li>src/backend/storage/buffer/README <a href="https://github.com/postgres/postgres/blob/master/src/backend/storage/buffer/README">https://github.com/postgres/postgres/blob/master/src/backend/storage/buffer/README</a> </li><li>pg_backend_memory_contexts (PostgreSQL 14+) <a href="https://www.postgresql.org/docs/current/view-pg-backend-memory-contexts.html">https://www.postgresql.org/docs/current/view-pg-backend-memory-contexts.html</a> </li><li>pg_stat_io (coming in PostgreSQL 16) <a href="https://www.postgresql.org/docs/devel/monitoring-stats.html#MONITORING-PG-STAT-IO-VIEW">https://www.postgresql.org/docs/devel/monitoring-stats.html#MONITORING-PG-STAT-IO-VIEW</a> </li><li>pg_prewarm <a href="https://www.postgresql.org/docs/current/pgprewarm.html">https://www.postgresql.org/docs/current/pgprewarm.html</a> </li><li>Configuring work_mem blog post <a href="https://www.pgmustard.com/blog/work-mem">https://www.pgmustard.com/blog/work-mem</a></li></ul><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/memory">here's a good link</a> (and thank you!)</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss memory in PostgreSQL — how it works, important settings, and how to go about tuning them.<br> <br>Here are links to a few things we mentioned: </p><ul><li>Resource Consumption (PostgreSQL docs) <a href="https://www.postgresql.org/docs/current/runtime-config-resource.html">https://www.postgresql.org/docs/current/runtime-config-resource.html</a></li><li>Andres Freud tweet about shared_buffers <a href="https://twitter.com/AndresFreundTec/status/1438912583554113537">https://twitter.com/AndresFreundTec/status/1438912583554113537</a> </li><li>Henrietta (Hettie) Dombrovskaya <a href="https://hdombrovskaya.wordpress.com/">https://hdombrovskaya.wordpress.com/about-the-author/</a></li><li>annotated.conf (by ash Berkus) <a href="https://github.com/jberkus/annotated.conf">https://github.com/jberkus/annotated.conf</a> </li><li>Our episode about checkpoint tuning <a href="https://postgres.fm/episodes/wal-and-checkpoint-tuning">https://postgres.fm/episodes/wal-and-checkpoint-tuning</a> </li><li>Our episode about BUFFERS <a href="https://postgres.fm/episodes/buffers-by-default">https://postgres.fm/episodes/buffers-by-default</a> </li><li>Analyzing the Limits of Connection Scalability in Postgres (blog post by Andres Freund) <a href="https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/analyzing-the-limits-of-connection-scalability-in-postgres/ba-p/1757266#memory-usage">https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/analyzing-the-limits-of-connection-scalability-in-postgres/ba-p/1757266#memory-usage</a></li><li>Tuning memory parameters for Aurora PostgreSQL <a href="https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.BestPractices.Tuning-memory-parameters.html">https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.BestPractices.Tuning-memory-parameters.html</a> </li><li>RDS for PostgreSQL memory <a href="https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Tuning.concepts.html#PostgreSQL.Tuning.concepts.memory">https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Tuning.concepts.html#PostgreSQL.Tuning.concepts.memory</a> </li><li>EDB guide by Via Fearing <a href="https://www.enterprisedb.com/postgres-tutorials/introduction-postgresql-performance-tuning-and-optimization#resourceusage">https://www.enterprisedb.com/postgres-tutorials/introduction-postgresql-performance-tuning-and-optimization#resourceusage</a> </li><li>pg_stat_kcache <a href="https://github.com/powa-team/pg_stat_kcache">https://github.com/powa-team/pg_stat_kcache</a> </li><li>pg_buffercache <a href="https://www.postgresql.org/docs/current/pgbuffercache.html">https://www.postgresql.org/docs/current/pgbuffercache.html</a> </li><li>Process and Memory Architecture chapter (from Hironobu SUZUKI) <a href="https://www.interdb.jp/pg/pgsql02.html">https://www.interdb.jp/pg/pgsql02.html</a></li><li>PostgreSQL 14 internals PDF book from Egor Rogov (pages 37, 184)  <a href="https://edu.postgrespro.com/postgresql_internals-14_en.pdf">https://edu.postgrespro.com/postgresql_internals-14_en.pdf</a> </li><li>src/backend/storage/buffer/README <a href="https://github.com/postgres/postgres/blob/master/src/backend/storage/buffer/README">https://github.com/postgres/postgres/blob/master/src/backend/storage/buffer/README</a> </li><li>pg_backend_memory_contexts (PostgreSQL 14+) <a href="https://www.postgresql.org/docs/current/view-pg-backend-memory-contexts.html">https://www.postgresql.org/docs/current/view-pg-backend-memory-contexts.html</a> </li><li>pg_stat_io (coming in PostgreSQL 16) <a href="https://www.postgresql.org/docs/devel/monitoring-stats.html#MONITORING-PG-STAT-IO-VIEW">https://www.postgresql.org/docs/devel/monitoring-stats.html#MONITORING-PG-STAT-IO-VIEW</a> </li><li>pg_prewarm <a href="https://www.postgresql.org/docs/current/pgprewarm.html">https://www.postgresql.org/docs/current/pgprewarm.html</a> </li><li>Configuring work_mem blog post <a href="https://www.pgmustard.com/blog/work-mem">https://www.pgmustard.com/blog/work-mem</a></li></ul><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/memory">here's a good link</a> (and thank you!)</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 16 Jun 2023 13:30:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/174f0864/f3ec4ab5.mp3" length="42498813" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2655</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss memory in PostgreSQL — how it works, important settings, and how to go about tuning them.<br> <br>Here are links to a few things we mentioned: </p><ul><li>Resource Consumption (PostgreSQL docs) <a href="https://www.postgresql.org/docs/current/runtime-config-resource.html">https://www.postgresql.org/docs/current/runtime-config-resource.html</a></li><li>Andres Freud tweet about shared_buffers <a href="https://twitter.com/AndresFreundTec/status/1438912583554113537">https://twitter.com/AndresFreundTec/status/1438912583554113537</a> </li><li>Henrietta (Hettie) Dombrovskaya <a href="https://hdombrovskaya.wordpress.com/">https://hdombrovskaya.wordpress.com/about-the-author/</a></li><li>annotated.conf (by ash Berkus) <a href="https://github.com/jberkus/annotated.conf">https://github.com/jberkus/annotated.conf</a> </li><li>Our episode about checkpoint tuning <a href="https://postgres.fm/episodes/wal-and-checkpoint-tuning">https://postgres.fm/episodes/wal-and-checkpoint-tuning</a> </li><li>Our episode about BUFFERS <a href="https://postgres.fm/episodes/buffers-by-default">https://postgres.fm/episodes/buffers-by-default</a> </li><li>Analyzing the Limits of Connection Scalability in Postgres (blog post by Andres Freund) <a href="https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/analyzing-the-limits-of-connection-scalability-in-postgres/ba-p/1757266#memory-usage">https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/analyzing-the-limits-of-connection-scalability-in-postgres/ba-p/1757266#memory-usage</a></li><li>Tuning memory parameters for Aurora PostgreSQL <a href="https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.BestPractices.Tuning-memory-parameters.html">https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.BestPractices.Tuning-memory-parameters.html</a> </li><li>RDS for PostgreSQL memory <a href="https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Tuning.concepts.html#PostgreSQL.Tuning.concepts.memory">https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Tuning.concepts.html#PostgreSQL.Tuning.concepts.memory</a> </li><li>EDB guide by Via Fearing <a href="https://www.enterprisedb.com/postgres-tutorials/introduction-postgresql-performance-tuning-and-optimization#resourceusage">https://www.enterprisedb.com/postgres-tutorials/introduction-postgresql-performance-tuning-and-optimization#resourceusage</a> </li><li>pg_stat_kcache <a href="https://github.com/powa-team/pg_stat_kcache">https://github.com/powa-team/pg_stat_kcache</a> </li><li>pg_buffercache <a href="https://www.postgresql.org/docs/current/pgbuffercache.html">https://www.postgresql.org/docs/current/pgbuffercache.html</a> </li><li>Process and Memory Architecture chapter (from Hironobu SUZUKI) <a href="https://www.interdb.jp/pg/pgsql02.html">https://www.interdb.jp/pg/pgsql02.html</a></li><li>PostgreSQL 14 internals PDF book from Egor Rogov (pages 37, 184)  <a href="https://edu.postgrespro.com/postgresql_internals-14_en.pdf">https://edu.postgrespro.com/postgresql_internals-14_en.pdf</a> </li><li>src/backend/storage/buffer/README <a href="https://github.com/postgres/postgres/blob/master/src/backend/storage/buffer/README">https://github.com/postgres/postgres/blob/master/src/backend/storage/buffer/README</a> </li><li>pg_backend_memory_contexts (PostgreSQL 14+) <a href="https://www.postgresql.org/docs/current/view-pg-backend-memory-contexts.html">https://www.postgresql.org/docs/current/view-pg-backend-memory-contexts.html</a> </li><li>pg_stat_io (coming in PostgreSQL 16) <a href="https://www.postgresql.org/docs/devel/monitoring-stats.html#MONITORING-PG-STAT-IO-VIEW">https://www.postgresql.org/docs/devel/monitoring-stats.html#MONITORING-PG-STAT-IO-VIEW</a> </li><li>pg_prewarm <a href="https://www.postgresql.org/docs/current/pgprewarm.html">https://www.postgresql.org/docs/current/pgprewarm.html</a> </li><li>Configuring work_mem blog post <a href="https://www.pgmustard.com/blog/work-mem">https://www.pgmustard.com/blog/work-mem</a></li></ul><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/memory">here's a good link</a> (and thank you!)</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/174f0864/transcript.txt" type="text/plain"/>
    </item>
    <item>
      <title>Extensions</title>
      <itunes:episode>49</itunes:episode>
      <podcast:episode>49</podcast:episode>
      <itunes:title>Extensions</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">c1c41c0c-1a5b-4a1e-b5c7-64bf2a1737e4</guid>
      <link>https://share.transistor.fm/s/202fdf82</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss Postgres extensions — what they are, how they affect your decisions around Postgres, and some things to keep in mind when using them.<br> <br>Here are links to a few things we mentioned: </p><ul><li>Extensions (docs) <a href="https://www.postgresql.org/docs/current/external-extensions.html">https://www.postgresql.org/docs/current/external-extensions.html</a> </li><li>Extension (pgPedia) <a href="https://pgpedia.info/e/extension.html">https://pgpedia.info/e/extension.html</a> </li><li>pgvector <a href="https://github.com/pgvector/pgvector">https://github.com/pgvector/pgvector</a> </li><li>PL/Rust <a href="https://github.com/tcdi/plrust">https://github.com/tcdi/plrust</a></li><li>ZomboDB <a href="https://github.com/zombodb/zombodb">https://github.com/zombodb/zombodb</a> </li><li>Why is Postgres popular episode <a href="https://postgres.fm/episodes/why-is-postgres-popular">https://postgres.fm/episodes/why-is-postgres-popular</a> </li><li>Citus <a href="https://github.com/citusdata/citus">https://github.com/citusdata/citus</a></li><li>TimescaleDB <a href="https://github.com/timescale/timescaledb">https://github.com/timescale/timescaledb</a> </li><li>OrioleDB <a href="https://github.com/orioledb/orioledb">https://github.com/orioledb/orioledb</a></li><li>PostGIS <a href="https://trac.osgeo.org/postgis/">https://trac.osgeo.org/postgis/</a> </li><li>“There’s an extension for that” (tweet from Robert Treat) <a href="https://twitter.com/robtreat2/status/1665735485883314178">https://twitter.com/robtreat2/status/1665735485883314178</a>  </li><li>RDS supported extensions <a href="https://docs.aws.amazon.com/AmazonRDS/latest/PostgreSQLReleaseNotes/postgresql-extensions.html">https://docs.aws.amazon.com/AmazonRDS/latest/PostgreSQLReleaseNotes/postgresql-extensions.html</a> </li><li>RUM <a href="https://github.com/postgrespro/rum">https://github.com/postgrespro/rum</a> </li><li>pg_repack <a href="https://github.com/reorg/pg_repack">https://github.com/reorg/pg_repack</a> </li><li>PGXN <a href="https://pgxn.org/">https://pgxn.org/</a> </li><li>pgTrunk by CoreDB <a href="https://pgtrunk.io/">https://pgtrunk.io/</a> </li><li>Dbdev by Supabase <a href="https://supabase.com/blog/dbdev">https://supabase.com/blog/dbdev</a> </li><li>StackGres <a href="https://github.com/ongres/stackgres">https://github.com/ongres/stackgres</a></li><li>pg_tle by AWS <a href="https://github.com/aws/pg_tle">https://github.com/aws/pg_tle</a> </li><li>Modern Postgres monitoring (slides from Nikolay’s tutorial) <a href="https://twitter.com/samokhvalov/status/1664686535562625034">https://twitter.com/samokhvalov/status/1664686535562625034</a> </li><li>Awesome Postgres <a href="https://github.com/dhamaniasad/awesome-postgres">https://github.com/dhamaniasad/awesome-postgres</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/extensions">here's a good link</a> (and thank you!)</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss Postgres extensions — what they are, how they affect your decisions around Postgres, and some things to keep in mind when using them.<br> <br>Here are links to a few things we mentioned: </p><ul><li>Extensions (docs) <a href="https://www.postgresql.org/docs/current/external-extensions.html">https://www.postgresql.org/docs/current/external-extensions.html</a> </li><li>Extension (pgPedia) <a href="https://pgpedia.info/e/extension.html">https://pgpedia.info/e/extension.html</a> </li><li>pgvector <a href="https://github.com/pgvector/pgvector">https://github.com/pgvector/pgvector</a> </li><li>PL/Rust <a href="https://github.com/tcdi/plrust">https://github.com/tcdi/plrust</a></li><li>ZomboDB <a href="https://github.com/zombodb/zombodb">https://github.com/zombodb/zombodb</a> </li><li>Why is Postgres popular episode <a href="https://postgres.fm/episodes/why-is-postgres-popular">https://postgres.fm/episodes/why-is-postgres-popular</a> </li><li>Citus <a href="https://github.com/citusdata/citus">https://github.com/citusdata/citus</a></li><li>TimescaleDB <a href="https://github.com/timescale/timescaledb">https://github.com/timescale/timescaledb</a> </li><li>OrioleDB <a href="https://github.com/orioledb/orioledb">https://github.com/orioledb/orioledb</a></li><li>PostGIS <a href="https://trac.osgeo.org/postgis/">https://trac.osgeo.org/postgis/</a> </li><li>“There’s an extension for that” (tweet from Robert Treat) <a href="https://twitter.com/robtreat2/status/1665735485883314178">https://twitter.com/robtreat2/status/1665735485883314178</a>  </li><li>RDS supported extensions <a href="https://docs.aws.amazon.com/AmazonRDS/latest/PostgreSQLReleaseNotes/postgresql-extensions.html">https://docs.aws.amazon.com/AmazonRDS/latest/PostgreSQLReleaseNotes/postgresql-extensions.html</a> </li><li>RUM <a href="https://github.com/postgrespro/rum">https://github.com/postgrespro/rum</a> </li><li>pg_repack <a href="https://github.com/reorg/pg_repack">https://github.com/reorg/pg_repack</a> </li><li>PGXN <a href="https://pgxn.org/">https://pgxn.org/</a> </li><li>pgTrunk by CoreDB <a href="https://pgtrunk.io/">https://pgtrunk.io/</a> </li><li>Dbdev by Supabase <a href="https://supabase.com/blog/dbdev">https://supabase.com/blog/dbdev</a> </li><li>StackGres <a href="https://github.com/ongres/stackgres">https://github.com/ongres/stackgres</a></li><li>pg_tle by AWS <a href="https://github.com/aws/pg_tle">https://github.com/aws/pg_tle</a> </li><li>Modern Postgres monitoring (slides from Nikolay’s tutorial) <a href="https://twitter.com/samokhvalov/status/1664686535562625034">https://twitter.com/samokhvalov/status/1664686535562625034</a> </li><li>Awesome Postgres <a href="https://github.com/dhamaniasad/awesome-postgres">https://github.com/dhamaniasad/awesome-postgres</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/extensions">here's a good link</a> (and thank you!)</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 09 Jun 2023 13:30:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/202fdf82/7d06ee9e.mp3" length="29193509" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>1823</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss Postgres extensions — what they are, how they affect your decisions around Postgres, and some things to keep in mind when using them.<br> <br>Here are links to a few things we mentioned: </p><ul><li>Extensions (docs) <a href="https://www.postgresql.org/docs/current/external-extensions.html">https://www.postgresql.org/docs/current/external-extensions.html</a> </li><li>Extension (pgPedia) <a href="https://pgpedia.info/e/extension.html">https://pgpedia.info/e/extension.html</a> </li><li>pgvector <a href="https://github.com/pgvector/pgvector">https://github.com/pgvector/pgvector</a> </li><li>PL/Rust <a href="https://github.com/tcdi/plrust">https://github.com/tcdi/plrust</a></li><li>ZomboDB <a href="https://github.com/zombodb/zombodb">https://github.com/zombodb/zombodb</a> </li><li>Why is Postgres popular episode <a href="https://postgres.fm/episodes/why-is-postgres-popular">https://postgres.fm/episodes/why-is-postgres-popular</a> </li><li>Citus <a href="https://github.com/citusdata/citus">https://github.com/citusdata/citus</a></li><li>TimescaleDB <a href="https://github.com/timescale/timescaledb">https://github.com/timescale/timescaledb</a> </li><li>OrioleDB <a href="https://github.com/orioledb/orioledb">https://github.com/orioledb/orioledb</a></li><li>PostGIS <a href="https://trac.osgeo.org/postgis/">https://trac.osgeo.org/postgis/</a> </li><li>“There’s an extension for that” (tweet from Robert Treat) <a href="https://twitter.com/robtreat2/status/1665735485883314178">https://twitter.com/robtreat2/status/1665735485883314178</a>  </li><li>RDS supported extensions <a href="https://docs.aws.amazon.com/AmazonRDS/latest/PostgreSQLReleaseNotes/postgresql-extensions.html">https://docs.aws.amazon.com/AmazonRDS/latest/PostgreSQLReleaseNotes/postgresql-extensions.html</a> </li><li>RUM <a href="https://github.com/postgrespro/rum">https://github.com/postgrespro/rum</a> </li><li>pg_repack <a href="https://github.com/reorg/pg_repack">https://github.com/reorg/pg_repack</a> </li><li>PGXN <a href="https://pgxn.org/">https://pgxn.org/</a> </li><li>pgTrunk by CoreDB <a href="https://pgtrunk.io/">https://pgtrunk.io/</a> </li><li>Dbdev by Supabase <a href="https://supabase.com/blog/dbdev">https://supabase.com/blog/dbdev</a> </li><li>StackGres <a href="https://github.com/ongres/stackgres">https://github.com/ongres/stackgres</a></li><li>pg_tle by AWS <a href="https://github.com/aws/pg_tle">https://github.com/aws/pg_tle</a> </li><li>Modern Postgres monitoring (slides from Nikolay’s tutorial) <a href="https://twitter.com/samokhvalov/status/1664686535562625034">https://twitter.com/samokhvalov/status/1664686535562625034</a> </li><li>Awesome Postgres <a href="https://github.com/dhamaniasad/awesome-postgres">https://github.com/dhamaniasad/awesome-postgres</a> </li></ul><p><br></p><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/extensions">here's a good link</a> (and thank you!)</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/202fdf82/transcript.txt" type="text/plain"/>
    </item>
    <item>
      <title>Zero-downtime migrations</title>
      <itunes:episode>48</itunes:episode>
      <podcast:episode>48</podcast:episode>
      <itunes:title>Zero-downtime migrations</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">02e7c649-759c-457a-878f-8299de9df425</guid>
      <link>https://share.transistor.fm/s/b878ddc8</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss zero-downtime schema migrations — why they're a challenge, a variety of different cases, and some things you can do to achieve them.<br> <br>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.enterprisedb.com/blog/comparison-joins-mongodb-vs-postgresql">Comparison of JOINS: MongoDB vs. PostgreSQL</a> (blog post by Michael Stonebraker and Álvaro Hernández)</li><li><a href="https://postgres.ai/blog/20220525-common-db-schema-change-mistakes">Common DB schema change mistakes</a> (blog post by Nikolay)</li><li><a href="https://postgres.ai/blog/20210923-zero-downtime-postgres-schema-migrations-lock-timeout-and-retries">lock_timeout and retries</a> (blog post by Nikolay)</li><li><a href="https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-LOCK-TIMEOUT">lock_timeout</a></li><li><a href="https://brandur.org/postgres-default">Fast Column Creation with Defaults</a> (blog post by Brandur)</li><li><a href="https://medium.com/paypal-tech/postgresql-at-scale-database-schema-changes-without-downtime-20d3749ed680">Database Schema Changes Without Downtime</a> (new version of blog post by Braintree)</li><li><a href="https://gocardless.com/blog/zero-downtime-postgres-migrations-the-hard-parts/%20">Zero-downtime Postgres migrations - the hard parts</a> (blog post from GoCardless)</li><li><a href="https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/database/migration_helpers.rb%20%20*%20dblab%20https://postgres.ai/docs/reference-guides/dblab-client-cli-reference%20">GitLab migration_helpers.rb</a> </li><li><a href="https://docs.gitlab.com/ee/development/migration_style_guide.html">GitLab migration style guide</a></li><li><a href="https://postgres.ai/docs/reference-guides/dblab-client-cli-reference">dblab</a> </li></ul><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/zero-downtime-migrations">here's a good link</a> (and thank you!)</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss zero-downtime schema migrations — why they're a challenge, a variety of different cases, and some things you can do to achieve them.<br> <br>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.enterprisedb.com/blog/comparison-joins-mongodb-vs-postgresql">Comparison of JOINS: MongoDB vs. PostgreSQL</a> (blog post by Michael Stonebraker and Álvaro Hernández)</li><li><a href="https://postgres.ai/blog/20220525-common-db-schema-change-mistakes">Common DB schema change mistakes</a> (blog post by Nikolay)</li><li><a href="https://postgres.ai/blog/20210923-zero-downtime-postgres-schema-migrations-lock-timeout-and-retries">lock_timeout and retries</a> (blog post by Nikolay)</li><li><a href="https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-LOCK-TIMEOUT">lock_timeout</a></li><li><a href="https://brandur.org/postgres-default">Fast Column Creation with Defaults</a> (blog post by Brandur)</li><li><a href="https://medium.com/paypal-tech/postgresql-at-scale-database-schema-changes-without-downtime-20d3749ed680">Database Schema Changes Without Downtime</a> (new version of blog post by Braintree)</li><li><a href="https://gocardless.com/blog/zero-downtime-postgres-migrations-the-hard-parts/%20">Zero-downtime Postgres migrations - the hard parts</a> (blog post from GoCardless)</li><li><a href="https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/database/migration_helpers.rb%20%20*%20dblab%20https://postgres.ai/docs/reference-guides/dblab-client-cli-reference%20">GitLab migration_helpers.rb</a> </li><li><a href="https://docs.gitlab.com/ee/development/migration_style_guide.html">GitLab migration style guide</a></li><li><a href="https://postgres.ai/docs/reference-guides/dblab-client-cli-reference">dblab</a> </li></ul><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/zero-downtime-migrations">here's a good link</a> (and thank you!)</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 02 Jun 2023 13:30:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/b878ddc8/936e20ba.mp3" length="27029344" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>1688</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss zero-downtime schema migrations — why they're a challenge, a variety of different cases, and some things you can do to achieve them.<br> <br>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.enterprisedb.com/blog/comparison-joins-mongodb-vs-postgresql">Comparison of JOINS: MongoDB vs. PostgreSQL</a> (blog post by Michael Stonebraker and Álvaro Hernández)</li><li><a href="https://postgres.ai/blog/20220525-common-db-schema-change-mistakes">Common DB schema change mistakes</a> (blog post by Nikolay)</li><li><a href="https://postgres.ai/blog/20210923-zero-downtime-postgres-schema-migrations-lock-timeout-and-retries">lock_timeout and retries</a> (blog post by Nikolay)</li><li><a href="https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-LOCK-TIMEOUT">lock_timeout</a></li><li><a href="https://brandur.org/postgres-default">Fast Column Creation with Defaults</a> (blog post by Brandur)</li><li><a href="https://medium.com/paypal-tech/postgresql-at-scale-database-schema-changes-without-downtime-20d3749ed680">Database Schema Changes Without Downtime</a> (new version of blog post by Braintree)</li><li><a href="https://gocardless.com/blog/zero-downtime-postgres-migrations-the-hard-parts/%20">Zero-downtime Postgres migrations - the hard parts</a> (blog post from GoCardless)</li><li><a href="https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/database/migration_helpers.rb%20%20*%20dblab%20https://postgres.ai/docs/reference-guides/dblab-client-cli-reference%20">GitLab migration_helpers.rb</a> </li><li><a href="https://docs.gitlab.com/ee/development/migration_style_guide.html">GitLab migration style guide</a></li><li><a href="https://postgres.ai/docs/reference-guides/dblab-client-cli-reference">dblab</a> </li></ul><p>~~~</p><p>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/zero-downtime-migrations">here's a good link</a> (and thank you!)</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/b878ddc8/transcript.txt" type="text/plain"/>
    </item>
    <item>
      <title>Parallelism</title>
      <itunes:episode>47</itunes:episode>
      <podcast:episode>47</podcast:episode>
      <itunes:title>Parallelism</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">19b816ba-058e-4171-b141-97f3ed27848e</guid>
      <link>https://share.transistor.fm/s/d65ac22d</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss parallelism — both parallel query execution and other parallel operations.<br> <br>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/docs/current/parallel-query.html%20">Parallel query</a> (docs)</li><li><a href="https://www.youtube.com/watch?v=jWIOZzezbb8">Parallelism in PostgreSQL 11</a> (talk by Thomas Munro)</li><li><a href="https://www.youtube.com/watch?v=3v-cthowG10">Parallelism in PostgreSQL 15</a> (talk by Thomas Munro)</li><li><a href="https://akorotkov.github.io/blog/2016/05/09/scalability-towards-millions-tps/">Towards Millions TPS</a> (blog post by Alexander Korotkov)</li><li><a href="https://www.postgresql.org/docs/current/runtime-config-resource.html#RUNTIME-CONFIG-RESOURCE-MEMORY%20">Memory resource consumption</a> (docs)</li><li><a href="https://postgres.fm/episodes/index-maintenance">Our episode about index maintenance</a></li><li><a href="https://postgres.fm/episodes/partitioning">Our episode about partitioning</a> </li><li><a href="https://github.com/swarm64/parallel-postgres-fdw-patch">Patch to make postgres_fdw parallel-safe</a> (by Swarm64) </li><li><a href="https://www.youtube.com/watch?app=desktop&amp;v=i_91jNrRYWk">PostgreSQL Parallelism Do’s and Don’ts</a> (talk by Sebastian Dressler)</li><li><a href="https://www.pgmustard.com/blog/max-parallel-workers-per-gather">Increasing max_parallel_workers_per_gather</a> (blog post by Michael)</li></ul><p><br>~~~</p><p><br>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/parallelism">here's a good link</a> (and thank you!)</p><p>~~~</p><p><br>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss parallelism — both parallel query execution and other parallel operations.<br> <br>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/docs/current/parallel-query.html%20">Parallel query</a> (docs)</li><li><a href="https://www.youtube.com/watch?v=jWIOZzezbb8">Parallelism in PostgreSQL 11</a> (talk by Thomas Munro)</li><li><a href="https://www.youtube.com/watch?v=3v-cthowG10">Parallelism in PostgreSQL 15</a> (talk by Thomas Munro)</li><li><a href="https://akorotkov.github.io/blog/2016/05/09/scalability-towards-millions-tps/">Towards Millions TPS</a> (blog post by Alexander Korotkov)</li><li><a href="https://www.postgresql.org/docs/current/runtime-config-resource.html#RUNTIME-CONFIG-RESOURCE-MEMORY%20">Memory resource consumption</a> (docs)</li><li><a href="https://postgres.fm/episodes/index-maintenance">Our episode about index maintenance</a></li><li><a href="https://postgres.fm/episodes/partitioning">Our episode about partitioning</a> </li><li><a href="https://github.com/swarm64/parallel-postgres-fdw-patch">Patch to make postgres_fdw parallel-safe</a> (by Swarm64) </li><li><a href="https://www.youtube.com/watch?app=desktop&amp;v=i_91jNrRYWk">PostgreSQL Parallelism Do’s and Don’ts</a> (talk by Sebastian Dressler)</li><li><a href="https://www.pgmustard.com/blog/max-parallel-workers-per-gather">Increasing max_parallel_workers_per_gather</a> (blog post by Michael)</li></ul><p><br>~~~</p><p><br>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/parallelism">here's a good link</a> (and thank you!)</p><p>~~~</p><p><br>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 26 May 2023 13:30:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/d65ac22d/276c7dae.mp3" length="42647617" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2664</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss parallelism — both parallel query execution and other parallel operations.<br> <br>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/docs/current/parallel-query.html%20">Parallel query</a> (docs)</li><li><a href="https://www.youtube.com/watch?v=jWIOZzezbb8">Parallelism in PostgreSQL 11</a> (talk by Thomas Munro)</li><li><a href="https://www.youtube.com/watch?v=3v-cthowG10">Parallelism in PostgreSQL 15</a> (talk by Thomas Munro)</li><li><a href="https://akorotkov.github.io/blog/2016/05/09/scalability-towards-millions-tps/">Towards Millions TPS</a> (blog post by Alexander Korotkov)</li><li><a href="https://www.postgresql.org/docs/current/runtime-config-resource.html#RUNTIME-CONFIG-RESOURCE-MEMORY%20">Memory resource consumption</a> (docs)</li><li><a href="https://postgres.fm/episodes/index-maintenance">Our episode about index maintenance</a></li><li><a href="https://postgres.fm/episodes/partitioning">Our episode about partitioning</a> </li><li><a href="https://github.com/swarm64/parallel-postgres-fdw-patch">Patch to make postgres_fdw parallel-safe</a> (by Swarm64) </li><li><a href="https://www.youtube.com/watch?app=desktop&amp;v=i_91jNrRYWk">PostgreSQL Parallelism Do’s and Don’ts</a> (talk by Sebastian Dressler)</li><li><a href="https://www.pgmustard.com/blog/max-parallel-workers-per-gather">Increasing max_parallel_workers_per_gather</a> (blog post by Michael)</li></ul><p><br>~~~</p><p><br>What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>!</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/parallelism">here's a good link</a> (and thank you!)</p><p>~~~</p><p><br>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/d65ac22d/transcript.txt" type="text/plain"/>
    </item>
    <item>
      <title>Corruption</title>
      <itunes:episode>46</itunes:episode>
      <podcast:episode>46</podcast:episode>
      <itunes:title>Corruption</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">c2ca4f91-2e13-4f68-b7be-6bb789b7c158</guid>
      <link>https://share.transistor.fm/s/47c5d04e</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss database corruption — various types, how they can come about, and what to do (and not do) if you come across it.<br>  <br>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/message-id/BA6132ED-1F6B-4A0B-AC22-81278F5AB81E@tripadvisor.com">The dangers of streaming across versions of glibc</a> (TripAdvisor mailing list thread)</li><li><a href="https://twitter.com/supabase/status/1638554626176978946">The floor is Java meme</a></li><li><a href="https://www.youtube.com/watch?v=OYSFWzdSQrs">Data Corruption talk by Sebastian Webber</a> (on Postgres TV) </li><li><a href="https://www.youtube.com/live/PPuN1KFS9ts?feature=share&amp;t=3532">Data corruption monitoring &amp; troubleshooting talk by Andrey Borodin</a> (on Postgres TV)</li><li><a href="https://docs.google.com/document/d/1yLL5o80tfICwsS0MpGSAZHutdq6sQY85IQVflGlhnbs/edit#">Postgres data corruption</a> (document from Nikolay) </li><li><a href="https://docs.google.com/spreadsheets/d/1zUH7IYOv46CVSmc-72CD7ROnMA6skJSQZjnm4yxvX9A/edit#gid=0">Data Corruption and Bugs Runbook</a> (document from Nikolay)</li><li><a href="https://wiki.postgresql.org/wiki/Corruption">Corruption</a> (Postgres wiki)</li><li><a href="https://www.postgresql.org/docs/current/checksums.html">Checksums</a></li><li><a href="https://www.postgresql.org/docs/current/app-pgchecksums.html">pg_checksums</a></li><li><a href="https://github.com/credativ/pg_checksums">Original pg_checksums</a> (by Credativ)</li><li><a href="https://www.postgresql.org/docs/current/amcheck.html">amcheck</a></li><li><a href="https://postgres.fm/episodes/index-maintenance">Our episode on index maintenance</a></li><li><a href="https://www.postgresql.org/docs/release/14.4/">14.4 release notes about create index / reindex concurrently issue and fix</a></li><li><a href="https://commitfest.postgresql.org/43/3464/">amcheck to check unique constraints in btree indexes</a> (Commitfest entry)</li><li><a href="https://commitfest.postgresql.org/43/3733/">amcheck verification of GiST and GIN</a> (Commitfest entry)</li><li> <a href="https://www.cybertec-postgresql.com/en/how-to-corrupt-your-postgresql-database/">How to corrupt your Postgres database</a> (blog post from Cybertec)</li><li><a href="https://www.youtube.com/watch?v=cBLExRgIUA0">Christophe Pettus talk</a></li><li><a href="https://thebuild.com/presentations/worst-day-fosdem-2014.pdf">Christophe Pettus slides</a></li><li><a href="https://github.com/petergeoghegan/pg_hexedit">pg_hexedit</a></li><li><a href="https://www.postgresql.org/docs/current/pageinspect.html">pageinspect</a></li><li><a href="https://github.com/EnterpriseDB/pg_catcheck">pg_catcheck</a></li></ul><p><br>~~~</p><p><br>What did you like or not like? What should we discuss next time? Let us know on YouTube, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/corruption">here's a good link</a> (and thank you!)</p><p>~~~</p><p><br>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss database corruption — various types, how they can come about, and what to do (and not do) if you come across it.<br>  <br>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/message-id/BA6132ED-1F6B-4A0B-AC22-81278F5AB81E@tripadvisor.com">The dangers of streaming across versions of glibc</a> (TripAdvisor mailing list thread)</li><li><a href="https://twitter.com/supabase/status/1638554626176978946">The floor is Java meme</a></li><li><a href="https://www.youtube.com/watch?v=OYSFWzdSQrs">Data Corruption talk by Sebastian Webber</a> (on Postgres TV) </li><li><a href="https://www.youtube.com/live/PPuN1KFS9ts?feature=share&amp;t=3532">Data corruption monitoring &amp; troubleshooting talk by Andrey Borodin</a> (on Postgres TV)</li><li><a href="https://docs.google.com/document/d/1yLL5o80tfICwsS0MpGSAZHutdq6sQY85IQVflGlhnbs/edit#">Postgres data corruption</a> (document from Nikolay) </li><li><a href="https://docs.google.com/spreadsheets/d/1zUH7IYOv46CVSmc-72CD7ROnMA6skJSQZjnm4yxvX9A/edit#gid=0">Data Corruption and Bugs Runbook</a> (document from Nikolay)</li><li><a href="https://wiki.postgresql.org/wiki/Corruption">Corruption</a> (Postgres wiki)</li><li><a href="https://www.postgresql.org/docs/current/checksums.html">Checksums</a></li><li><a href="https://www.postgresql.org/docs/current/app-pgchecksums.html">pg_checksums</a></li><li><a href="https://github.com/credativ/pg_checksums">Original pg_checksums</a> (by Credativ)</li><li><a href="https://www.postgresql.org/docs/current/amcheck.html">amcheck</a></li><li><a href="https://postgres.fm/episodes/index-maintenance">Our episode on index maintenance</a></li><li><a href="https://www.postgresql.org/docs/release/14.4/">14.4 release notes about create index / reindex concurrently issue and fix</a></li><li><a href="https://commitfest.postgresql.org/43/3464/">amcheck to check unique constraints in btree indexes</a> (Commitfest entry)</li><li><a href="https://commitfest.postgresql.org/43/3733/">amcheck verification of GiST and GIN</a> (Commitfest entry)</li><li> <a href="https://www.cybertec-postgresql.com/en/how-to-corrupt-your-postgresql-database/">How to corrupt your Postgres database</a> (blog post from Cybertec)</li><li><a href="https://www.youtube.com/watch?v=cBLExRgIUA0">Christophe Pettus talk</a></li><li><a href="https://thebuild.com/presentations/worst-day-fosdem-2014.pdf">Christophe Pettus slides</a></li><li><a href="https://github.com/petergeoghegan/pg_hexedit">pg_hexedit</a></li><li><a href="https://www.postgresql.org/docs/current/pageinspect.html">pageinspect</a></li><li><a href="https://github.com/EnterpriseDB/pg_catcheck">pg_catcheck</a></li></ul><p><br>~~~</p><p><br>What did you like or not like? What should we discuss next time? Let us know on YouTube, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/corruption">here's a good link</a> (and thank you!)</p><p>~~~</p><p><br>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 19 May 2023 13:30:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/47c5d04e/ab4ad574.mp3" length="40709538" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2543</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss database corruption — various types, how they can come about, and what to do (and not do) if you come across it.<br>  <br>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/message-id/BA6132ED-1F6B-4A0B-AC22-81278F5AB81E@tripadvisor.com">The dangers of streaming across versions of glibc</a> (TripAdvisor mailing list thread)</li><li><a href="https://twitter.com/supabase/status/1638554626176978946">The floor is Java meme</a></li><li><a href="https://www.youtube.com/watch?v=OYSFWzdSQrs">Data Corruption talk by Sebastian Webber</a> (on Postgres TV) </li><li><a href="https://www.youtube.com/live/PPuN1KFS9ts?feature=share&amp;t=3532">Data corruption monitoring &amp; troubleshooting talk by Andrey Borodin</a> (on Postgres TV)</li><li><a href="https://docs.google.com/document/d/1yLL5o80tfICwsS0MpGSAZHutdq6sQY85IQVflGlhnbs/edit#">Postgres data corruption</a> (document from Nikolay) </li><li><a href="https://docs.google.com/spreadsheets/d/1zUH7IYOv46CVSmc-72CD7ROnMA6skJSQZjnm4yxvX9A/edit#gid=0">Data Corruption and Bugs Runbook</a> (document from Nikolay)</li><li><a href="https://wiki.postgresql.org/wiki/Corruption">Corruption</a> (Postgres wiki)</li><li><a href="https://www.postgresql.org/docs/current/checksums.html">Checksums</a></li><li><a href="https://www.postgresql.org/docs/current/app-pgchecksums.html">pg_checksums</a></li><li><a href="https://github.com/credativ/pg_checksums">Original pg_checksums</a> (by Credativ)</li><li><a href="https://www.postgresql.org/docs/current/amcheck.html">amcheck</a></li><li><a href="https://postgres.fm/episodes/index-maintenance">Our episode on index maintenance</a></li><li><a href="https://www.postgresql.org/docs/release/14.4/">14.4 release notes about create index / reindex concurrently issue and fix</a></li><li><a href="https://commitfest.postgresql.org/43/3464/">amcheck to check unique constraints in btree indexes</a> (Commitfest entry)</li><li><a href="https://commitfest.postgresql.org/43/3733/">amcheck verification of GiST and GIN</a> (Commitfest entry)</li><li> <a href="https://www.cybertec-postgresql.com/en/how-to-corrupt-your-postgresql-database/">How to corrupt your Postgres database</a> (blog post from Cybertec)</li><li><a href="https://www.youtube.com/watch?v=cBLExRgIUA0">Christophe Pettus talk</a></li><li><a href="https://thebuild.com/presentations/worst-day-fosdem-2014.pdf">Christophe Pettus slides</a></li><li><a href="https://github.com/petergeoghegan/pg_hexedit">pg_hexedit</a></li><li><a href="https://www.postgresql.org/docs/current/pageinspect.html">pageinspect</a></li><li><a href="https://github.com/EnterpriseDB/pg_catcheck">pg_catcheck</a></li></ul><p><br>~~~</p><p><br>What did you like or not like? What should we discuss next time? Let us know on YouTube, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/corruption">here's a good link</a> (and thank you!)</p><p>~~~</p><p><br>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/47c5d04e/transcript.txt" type="text/plain"/>
    </item>
    <item>
      <title>ChatGPT x  PostgreSQL</title>
      <itunes:episode>45</itunes:episode>
      <podcast:episode>45</podcast:episode>
      <itunes:title>ChatGPT x  PostgreSQL</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">8975d9ee-0f94-4003-8233-9d2be26271f3</guid>
      <link>https://share.transistor.fm/s/15701f73</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss using ChatGPT for Postgres tasks — should you, if so what for, and some things to be mindful of!<br> <br>Here are links to a few things we mentioned: </p><ul><li><a href="https://openai.com/blog/chatgpt">ChatGPT</a></li><li>Nikolay’s polls <a href="https://twitter.com/samokhvalov/status/1655626476665081856">on Twitter</a> and <a href="https://www.linkedin.com/posts/samokhvalov_lets-check-again-activity-7061392368297508864-LTqm">on LinkedIn</a> </li><li><a href="https://theartofpostgresql.com/">The Art of PostgreSQL</a> (book by Dimitri Fontaine)</li><li><a href="https://sql-performance-explained.com/">SQL Performance Explained</a> (book by Markus Winand)</li><li><a href="https://www.youtube.com/watch?v=DdltBjWVnz8">Nikolay’s YouTube correction about deletes and index amplification</a></li><li><a href="https://thebuild.com/blog/2023/05/09/dont-use-chatgpt-to-solve-problems/">Don’t use ChatGPT to solve problems</a> (blog post by Christophe Pettus)</li><li><a href="https://www.youtube.com/watch?v=rYLwoj11TIU">Query optimization session with ChatGPT, Michael, and Nikolay</a> (on YouTube)</li><li><a href="https://dbeaver.com/docs/wiki/AI-Smart-Assistance/">DBeaver SmartAssistance feature</a>  </li><li><a href="https://www.depesz.com/2011/06/11/explain-depesz-com-new-feature-and-some-new-stats/">Depesz anonymization feature</a></li></ul><p><br>~~~</p><p><br>What did you like or not like? What should we discuss next time? Let us know on YouTube, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/chatgpt-x-postgresql">here's a good link</a> (and thank you!)</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss using ChatGPT for Postgres tasks — should you, if so what for, and some things to be mindful of!<br> <br>Here are links to a few things we mentioned: </p><ul><li><a href="https://openai.com/blog/chatgpt">ChatGPT</a></li><li>Nikolay’s polls <a href="https://twitter.com/samokhvalov/status/1655626476665081856">on Twitter</a> and <a href="https://www.linkedin.com/posts/samokhvalov_lets-check-again-activity-7061392368297508864-LTqm">on LinkedIn</a> </li><li><a href="https://theartofpostgresql.com/">The Art of PostgreSQL</a> (book by Dimitri Fontaine)</li><li><a href="https://sql-performance-explained.com/">SQL Performance Explained</a> (book by Markus Winand)</li><li><a href="https://www.youtube.com/watch?v=DdltBjWVnz8">Nikolay’s YouTube correction about deletes and index amplification</a></li><li><a href="https://thebuild.com/blog/2023/05/09/dont-use-chatgpt-to-solve-problems/">Don’t use ChatGPT to solve problems</a> (blog post by Christophe Pettus)</li><li><a href="https://www.youtube.com/watch?v=rYLwoj11TIU">Query optimization session with ChatGPT, Michael, and Nikolay</a> (on YouTube)</li><li><a href="https://dbeaver.com/docs/wiki/AI-Smart-Assistance/">DBeaver SmartAssistance feature</a>  </li><li><a href="https://www.depesz.com/2011/06/11/explain-depesz-com-new-feature-and-some-new-stats/">Depesz anonymization feature</a></li></ul><p><br>~~~</p><p><br>What did you like or not like? What should we discuss next time? Let us know on YouTube, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/chatgpt-x-postgresql">here's a good link</a> (and thank you!)</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 12 May 2023 13:30:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/15701f73/05b92e71.mp3" length="33642288" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2101</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss using ChatGPT for Postgres tasks — should you, if so what for, and some things to be mindful of!<br> <br>Here are links to a few things we mentioned: </p><ul><li><a href="https://openai.com/blog/chatgpt">ChatGPT</a></li><li>Nikolay’s polls <a href="https://twitter.com/samokhvalov/status/1655626476665081856">on Twitter</a> and <a href="https://www.linkedin.com/posts/samokhvalov_lets-check-again-activity-7061392368297508864-LTqm">on LinkedIn</a> </li><li><a href="https://theartofpostgresql.com/">The Art of PostgreSQL</a> (book by Dimitri Fontaine)</li><li><a href="https://sql-performance-explained.com/">SQL Performance Explained</a> (book by Markus Winand)</li><li><a href="https://www.youtube.com/watch?v=DdltBjWVnz8">Nikolay’s YouTube correction about deletes and index amplification</a></li><li><a href="https://thebuild.com/blog/2023/05/09/dont-use-chatgpt-to-solve-problems/">Don’t use ChatGPT to solve problems</a> (blog post by Christophe Pettus)</li><li><a href="https://www.youtube.com/watch?v=rYLwoj11TIU">Query optimization session with ChatGPT, Michael, and Nikolay</a> (on YouTube)</li><li><a href="https://dbeaver.com/docs/wiki/AI-Smart-Assistance/">DBeaver SmartAssistance feature</a>  </li><li><a href="https://www.depesz.com/2011/06/11/explain-depesz-com-new-feature-and-some-new-stats/">Depesz anonymization feature</a></li></ul><p><br>~~~</p><p><br>What did you like or not like? What should we discuss next time? Let us know on YouTube, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/chatgpt-x-postgresql">here's a good link</a> (and thank you!)</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/15701f73/transcript.txt" type="text/plain"/>
    </item>
    <item>
      <title>pg_stat_statements</title>
      <itunes:episode>44</itunes:episode>
      <podcast:episode>44</podcast:episode>
      <itunes:title>pg_stat_statements</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">db275027-d23d-4e9e-9210-8a08022bafd9</guid>
      <link>https://share.transistor.fm/s/e8fb2a4e</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss pg_stat_statements — why everyone should use it, but also some downsides!<br> <br>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/docs/current/pgstatstatements.html">pg_stat_statements</a> (docs)</li><li><a href="https://pgpedia.info/p/pg_stat_statements.html">pg_stat_statements</a> (PgPedia)</li><li><a href="https://www.pgsqlphriday.com/">PGSQL Phriday</a></li><li><a href="https://www.youtube.com/watch?v=wHMNX-fHb2A">Observer effect in pg_stat_statements and pg_stat_kcache</a> (Postgres Hacking session on Postgres TV) </li><li><a href="https://www.postgresql.org/docs/current/runtime-config-statistics.html#GUC-TRACK-IO-TIMING">track_io_timing</a> (docs)</li><li><a href="https://twitter.com/jer_s/status/1643023650227113985">Overhead comment</a> (by Tom Kate, via Jeremy Schneider) </li><li><a href="https://github.com/percona/pg_stat_monitor">pg_stat_monitor</a></li><li><a href="https://www.pgcon.org/2023/">PGCon</a></li><li><a href="https://postgres.fm/episodes/macro-query-analysis-intro">Our episode on query analysis</a></li><li><a href="https://github.com/basecamp/marginalia">Marginalia</a> </li></ul><p><br>~~~</p><p><br>What did you like or not like? What should we discuss next time? Let us know on YouTube, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/pg_stat_statements">here's a good link</a> (and thank you!)</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss pg_stat_statements — why everyone should use it, but also some downsides!<br> <br>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/docs/current/pgstatstatements.html">pg_stat_statements</a> (docs)</li><li><a href="https://pgpedia.info/p/pg_stat_statements.html">pg_stat_statements</a> (PgPedia)</li><li><a href="https://www.pgsqlphriday.com/">PGSQL Phriday</a></li><li><a href="https://www.youtube.com/watch?v=wHMNX-fHb2A">Observer effect in pg_stat_statements and pg_stat_kcache</a> (Postgres Hacking session on Postgres TV) </li><li><a href="https://www.postgresql.org/docs/current/runtime-config-statistics.html#GUC-TRACK-IO-TIMING">track_io_timing</a> (docs)</li><li><a href="https://twitter.com/jer_s/status/1643023650227113985">Overhead comment</a> (by Tom Kate, via Jeremy Schneider) </li><li><a href="https://github.com/percona/pg_stat_monitor">pg_stat_monitor</a></li><li><a href="https://www.pgcon.org/2023/">PGCon</a></li><li><a href="https://postgres.fm/episodes/macro-query-analysis-intro">Our episode on query analysis</a></li><li><a href="https://github.com/basecamp/marginalia">Marginalia</a> </li></ul><p><br>~~~</p><p><br>What did you like or not like? What should we discuss next time? Let us know on YouTube, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/pg_stat_statements">here's a good link</a> (and thank you!)</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 05 May 2023 14:15:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/e8fb2a4e/6ac79c67.mp3" length="44045286" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2751</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss pg_stat_statements — why everyone should use it, but also some downsides!<br> <br>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/docs/current/pgstatstatements.html">pg_stat_statements</a> (docs)</li><li><a href="https://pgpedia.info/p/pg_stat_statements.html">pg_stat_statements</a> (PgPedia)</li><li><a href="https://www.pgsqlphriday.com/">PGSQL Phriday</a></li><li><a href="https://www.youtube.com/watch?v=wHMNX-fHb2A">Observer effect in pg_stat_statements and pg_stat_kcache</a> (Postgres Hacking session on Postgres TV) </li><li><a href="https://www.postgresql.org/docs/current/runtime-config-statistics.html#GUC-TRACK-IO-TIMING">track_io_timing</a> (docs)</li><li><a href="https://twitter.com/jer_s/status/1643023650227113985">Overhead comment</a> (by Tom Kate, via Jeremy Schneider) </li><li><a href="https://github.com/percona/pg_stat_monitor">pg_stat_monitor</a></li><li><a href="https://www.pgcon.org/2023/">PGCon</a></li><li><a href="https://postgres.fm/episodes/macro-query-analysis-intro">Our episode on query analysis</a></li><li><a href="https://github.com/basecamp/marginalia">Marginalia</a> </li></ul><p><br>~~~</p><p><br>What did you like or not like? What should we discuss next time? Let us know on YouTube, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/pg_stat_statements">here's a good link</a> (and thank you!)</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/e8fb2a4e/transcript.txt" type="text/plain"/>
    </item>
    <item>
      <title>auto_explain</title>
      <itunes:episode>43</itunes:episode>
      <podcast:episode>43</podcast:episode>
      <itunes:title>auto_explain</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">a1269568-14d4-40fb-b68e-091a9b5cfe7a</guid>
      <link>https://share.transistor.fm/s/c3ccbf26</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss auto_explain — what it is, how it can help, and how to check it's overhead.<br> <br>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/docs/current/auto-explain.html">auto_explain</a> (docs)</li><li><a href="https://scalegrid.io/blog/introduction-to-auto-explain-postgres/">ScaleGrid guide to auto_explain</a> </li><li><a href="https://www.pgmustard.com/blog/auto-explain-overhead-with-timing">Can auto_explain, with timing, have low overhead?</a> (Blog post by Michael)</li><li><a href="https://github.com/darold/pgbadger">pgBadger</a> </li><li><a href="https://github.com/percona/pg_stat_monitor">pg_stat_monitor</a></li><li><a href="https://ongres.com/blog/explain_analyze_may_be_lying_to_you/">EXPLAIN ANALYZE may be lying to you</a> (blog post by Álvaro from Ongres)</li><li><a href="https://www.postgresql.org/docs/current/pgtesttiming.html">pg_test_timing</a></li><li><a href="https://postgres.fm/episodes/benchmarking">Our episode on benchmarking</a></li><li><a href="https://github.com/postgres-ai/database-lab-engine">Database Lab Engine</a></li></ul><p><br>~~~</p><p><br>What did you like or not like? What should we discuss next time? Let us know on YouTube, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/auto_explain">here's a good link</a> (and thank you!)</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss auto_explain — what it is, how it can help, and how to check it's overhead.<br> <br>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/docs/current/auto-explain.html">auto_explain</a> (docs)</li><li><a href="https://scalegrid.io/blog/introduction-to-auto-explain-postgres/">ScaleGrid guide to auto_explain</a> </li><li><a href="https://www.pgmustard.com/blog/auto-explain-overhead-with-timing">Can auto_explain, with timing, have low overhead?</a> (Blog post by Michael)</li><li><a href="https://github.com/darold/pgbadger">pgBadger</a> </li><li><a href="https://github.com/percona/pg_stat_monitor">pg_stat_monitor</a></li><li><a href="https://ongres.com/blog/explain_analyze_may_be_lying_to_you/">EXPLAIN ANALYZE may be lying to you</a> (blog post by Álvaro from Ongres)</li><li><a href="https://www.postgresql.org/docs/current/pgtesttiming.html">pg_test_timing</a></li><li><a href="https://postgres.fm/episodes/benchmarking">Our episode on benchmarking</a></li><li><a href="https://github.com/postgres-ai/database-lab-engine">Database Lab Engine</a></li></ul><p><br>~~~</p><p><br>What did you like or not like? What should we discuss next time? Let us know on YouTube, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/auto_explain">here's a good link</a> (and thank you!)</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 28 Apr 2023 13:30:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/c3ccbf26/2f279d53.mp3" length="35831540" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2238</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss auto_explain — what it is, how it can help, and how to check it's overhead.<br> <br>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/docs/current/auto-explain.html">auto_explain</a> (docs)</li><li><a href="https://scalegrid.io/blog/introduction-to-auto-explain-postgres/">ScaleGrid guide to auto_explain</a> </li><li><a href="https://www.pgmustard.com/blog/auto-explain-overhead-with-timing">Can auto_explain, with timing, have low overhead?</a> (Blog post by Michael)</li><li><a href="https://github.com/darold/pgbadger">pgBadger</a> </li><li><a href="https://github.com/percona/pg_stat_monitor">pg_stat_monitor</a></li><li><a href="https://ongres.com/blog/explain_analyze_may_be_lying_to_you/">EXPLAIN ANALYZE may be lying to you</a> (blog post by Álvaro from Ongres)</li><li><a href="https://www.postgresql.org/docs/current/pgtesttiming.html">pg_test_timing</a></li><li><a href="https://postgres.fm/episodes/benchmarking">Our episode on benchmarking</a></li><li><a href="https://github.com/postgres-ai/database-lab-engine">Database Lab Engine</a></li></ul><p><br>~~~</p><p><br>What did you like or not like? What should we discuss next time? Let us know on YouTube, on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/auto_explain">here's a good link</a> (and thank you!)</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/c3ccbf26/transcript.txt" type="text/plain"/>
    </item>
    <item>
      <title>Queues in Postgres</title>
      <itunes:episode>42</itunes:episode>
      <podcast:episode>42</podcast:episode>
      <itunes:title>Queues in Postgres</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">9c4f127e-fcae-4dbe-a625-38d770cae155</guid>
      <link>https://share.transistor.fm/s/e86cbb49</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss queues in Postgres — the pros and cons vs dedicated queuing tools, and some tips for scaling.<br> <br>A couple of apologies-in-advance: </p><ol><li>Near the end, we incorrectly say "idempotent" when we meant "stateless", and also 50 TPS instead of 500 TPS</li><li>We also had a couple of audio issues, sorry!</li></ol><p><br>Here are links to a few things we mentioned: </p><ul><li><a href="https://news.ycombinator.com/item?id=35526846">Recent discussion on Hacker News</a></li><li><a href="https://github.com/pgq/pgq">PgQ</a></li><li><a href="https://www.2ndquadrant.com/en/blog/what-is-select-skip-locked-for-in-postgresql-9-5/">What is SKIP LOCKED</a> (blog post by Craig Ringer) </li><li><a href="https://www.postgresql.org/docs/current/runtime-config-autovacuum.html">autovacuum</a></li><li><a href="https://brandur.org/postgres-queues">Postgres queues</a> (blog post by Brandur)</li><li><a href="https://github.com/reorg/pg_repack">pg_repack</a></li><li><a href="https://postgres.fm/episodes/partitioning">Our episode on partitioning</a></li><li><a href="https://twitter.com/samokhvalov/status/1648193088547082240">Nikolay’s Twitter poll</a></li><li><a href="https://postgres.ai/blog/20210831-postgresql-subtransactions-considered-harmful">Subtransactions Considered Harmful</a> (blog post by Nikolay)</li></ul><p><br>~~~</p><p><br>What did you like or not like? What should we discuss next time? Let us know on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/queues-in-postgres">here's a good link</a> (and thank you!)</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss queues in Postgres — the pros and cons vs dedicated queuing tools, and some tips for scaling.<br> <br>A couple of apologies-in-advance: </p><ol><li>Near the end, we incorrectly say "idempotent" when we meant "stateless", and also 50 TPS instead of 500 TPS</li><li>We also had a couple of audio issues, sorry!</li></ol><p><br>Here are links to a few things we mentioned: </p><ul><li><a href="https://news.ycombinator.com/item?id=35526846">Recent discussion on Hacker News</a></li><li><a href="https://github.com/pgq/pgq">PgQ</a></li><li><a href="https://www.2ndquadrant.com/en/blog/what-is-select-skip-locked-for-in-postgresql-9-5/">What is SKIP LOCKED</a> (blog post by Craig Ringer) </li><li><a href="https://www.postgresql.org/docs/current/runtime-config-autovacuum.html">autovacuum</a></li><li><a href="https://brandur.org/postgres-queues">Postgres queues</a> (blog post by Brandur)</li><li><a href="https://github.com/reorg/pg_repack">pg_repack</a></li><li><a href="https://postgres.fm/episodes/partitioning">Our episode on partitioning</a></li><li><a href="https://twitter.com/samokhvalov/status/1648193088547082240">Nikolay’s Twitter poll</a></li><li><a href="https://postgres.ai/blog/20210831-postgresql-subtransactions-considered-harmful">Subtransactions Considered Harmful</a> (blog post by Nikolay)</li></ul><p><br>~~~</p><p><br>What did you like or not like? What should we discuss next time? Let us know on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/queues-in-postgres">here's a good link</a> (and thank you!)</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 21 Apr 2023 13:30:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/e86cbb49/899178d5.mp3" length="38223481" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2388</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss queues in Postgres — the pros and cons vs dedicated queuing tools, and some tips for scaling.<br> <br>A couple of apologies-in-advance: </p><ol><li>Near the end, we incorrectly say "idempotent" when we meant "stateless", and also 50 TPS instead of 500 TPS</li><li>We also had a couple of audio issues, sorry!</li></ol><p><br>Here are links to a few things we mentioned: </p><ul><li><a href="https://news.ycombinator.com/item?id=35526846">Recent discussion on Hacker News</a></li><li><a href="https://github.com/pgq/pgq">PgQ</a></li><li><a href="https://www.2ndquadrant.com/en/blog/what-is-select-skip-locked-for-in-postgresql-9-5/">What is SKIP LOCKED</a> (blog post by Craig Ringer) </li><li><a href="https://www.postgresql.org/docs/current/runtime-config-autovacuum.html">autovacuum</a></li><li><a href="https://brandur.org/postgres-queues">Postgres queues</a> (blog post by Brandur)</li><li><a href="https://github.com/reorg/pg_repack">pg_repack</a></li><li><a href="https://postgres.fm/episodes/partitioning">Our episode on partitioning</a></li><li><a href="https://twitter.com/samokhvalov/status/1648193088547082240">Nikolay’s Twitter poll</a></li><li><a href="https://postgres.ai/blog/20210831-postgresql-subtransactions-considered-harmful">Subtransactions Considered Harmful</a> (blog post by Nikolay)</li></ul><p><br>~~~</p><p><br>What did you like or not like? What should we discuss next time? Let us know on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/queues-in-postgres">here's a good link</a> (and thank you!)</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/e86cbb49/transcript.txt" type="text/plain"/>
    </item>
    <item>
      <title>Read-only considerations</title>
      <itunes:episode>41</itunes:episode>
      <podcast:episode>41</podcast:episode>
      <itunes:title>Read-only considerations</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">0b4ef742-2549-45ff-b321-82d3d87d7777</guid>
      <link>https://share.transistor.fm/s/3b242ada</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss a listener request — special considerations for databases that are used in a read-only mode all day, and get an update at night with additional data.</p><p>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/docs/current/indexes-index-only-scans.html">Index-only scans</a></li><li><a href="https://www.postgresql.org/docs/current/sql-vacuum.html">Vacuum</a></li><li><a href="https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/uk-covid-19-dashboard-built-using-postgres-and-citus-for/ba-p/3036276">UK Covid-19 dashboard</a></li><li><a href="https://github.com/reorg/pg_repack">pg_repack</a></li><li><a href="https://www.postgresql.org/docs/current/ddl-partitioning.html">Partitioning</a></li><li><a href="https://postgres.fm/episodes/brin-indexes">Our episode on BRIN indexes</a></li><li><a href="https://hakibenita.com/sql-tricks-application-dba#always-load-sorted-data">Always load sorted data</a> (blog post by Haki Benita)</li><li><a href="https://pganalyze.com/blog/gin-index">GIN indexes: the good and the bad</a> (blog post by Lukas Fittl)</li><li><a href="https://postgres.fm/episodes/materialized-views">Our episode on materialised views</a></li><li><a href="https://www.postgresql.org/docs/current/pgbuffercache.html">pg_buffercache</a></li><li><a href="https://akorotkov.github.io/blog/2016/05/09/scalability-towards-millions-tps/">Towards Millions TPS</a> (blog post by Alexander Korotkov)</li><li><a href="https://supabase.com/blog/postgres-wasm">Postgres WASM</a> (by Snaplet and Supabase)</li><li><a href="https://www.yugabyte.com/">Yugabyte</a></li><li><a href="https://aws.amazon.com/rds/aurora/">AWS Aurora</a> </li><li><a href="https://www.postgresql.org/docs/current/continuous-archiving.html">Continuous Archiving and Point-in-Time Recovery</a> (docs)</li><li><a href="https://postgres.fm/episodes/wal-and-checkpoint-tuning">Our episode on checkpoint tuning</a></li><li><a href="https://postgres.fm/episodes/partitioning">Our episode on partitioning</a></li><li><a href="https://wiki.postgresql.org/wiki/SkyTools#PgQ">PgQ</a></li><li><a href="https://neon.tech/docs/introduction/branching">Neon branching</a></li><li><a href="https://github.com/postgres-ai/database-lab-engine#readme">Database Lab Engine</a></li><li><a href="https://www.postgresql.org/docs/current/sql-cluster.html">Cluster</a><p></p></li></ul><p>~~~</p><p><br>What did you like or not like? What should we discuss next time? Let us know on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/read-only-considerations">here's a good link</a> (and thank you!)</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss a listener request — special considerations for databases that are used in a read-only mode all day, and get an update at night with additional data.</p><p>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/docs/current/indexes-index-only-scans.html">Index-only scans</a></li><li><a href="https://www.postgresql.org/docs/current/sql-vacuum.html">Vacuum</a></li><li><a href="https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/uk-covid-19-dashboard-built-using-postgres-and-citus-for/ba-p/3036276">UK Covid-19 dashboard</a></li><li><a href="https://github.com/reorg/pg_repack">pg_repack</a></li><li><a href="https://www.postgresql.org/docs/current/ddl-partitioning.html">Partitioning</a></li><li><a href="https://postgres.fm/episodes/brin-indexes">Our episode on BRIN indexes</a></li><li><a href="https://hakibenita.com/sql-tricks-application-dba#always-load-sorted-data">Always load sorted data</a> (blog post by Haki Benita)</li><li><a href="https://pganalyze.com/blog/gin-index">GIN indexes: the good and the bad</a> (blog post by Lukas Fittl)</li><li><a href="https://postgres.fm/episodes/materialized-views">Our episode on materialised views</a></li><li><a href="https://www.postgresql.org/docs/current/pgbuffercache.html">pg_buffercache</a></li><li><a href="https://akorotkov.github.io/blog/2016/05/09/scalability-towards-millions-tps/">Towards Millions TPS</a> (blog post by Alexander Korotkov)</li><li><a href="https://supabase.com/blog/postgres-wasm">Postgres WASM</a> (by Snaplet and Supabase)</li><li><a href="https://www.yugabyte.com/">Yugabyte</a></li><li><a href="https://aws.amazon.com/rds/aurora/">AWS Aurora</a> </li><li><a href="https://www.postgresql.org/docs/current/continuous-archiving.html">Continuous Archiving and Point-in-Time Recovery</a> (docs)</li><li><a href="https://postgres.fm/episodes/wal-and-checkpoint-tuning">Our episode on checkpoint tuning</a></li><li><a href="https://postgres.fm/episodes/partitioning">Our episode on partitioning</a></li><li><a href="https://wiki.postgresql.org/wiki/SkyTools#PgQ">PgQ</a></li><li><a href="https://neon.tech/docs/introduction/branching">Neon branching</a></li><li><a href="https://github.com/postgres-ai/database-lab-engine#readme">Database Lab Engine</a></li><li><a href="https://www.postgresql.org/docs/current/sql-cluster.html">Cluster</a><p></p></li></ul><p>~~~</p><p><br>What did you like or not like? What should we discuss next time? Let us know on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/read-only-considerations">here's a good link</a> (and thank you!)</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 14 Apr 2023 13:30:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/3b242ada/08dd5daa.mp3" length="38268208" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2390</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss a listener request — special considerations for databases that are used in a read-only mode all day, and get an update at night with additional data.</p><p>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/docs/current/indexes-index-only-scans.html">Index-only scans</a></li><li><a href="https://www.postgresql.org/docs/current/sql-vacuum.html">Vacuum</a></li><li><a href="https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/uk-covid-19-dashboard-built-using-postgres-and-citus-for/ba-p/3036276">UK Covid-19 dashboard</a></li><li><a href="https://github.com/reorg/pg_repack">pg_repack</a></li><li><a href="https://www.postgresql.org/docs/current/ddl-partitioning.html">Partitioning</a></li><li><a href="https://postgres.fm/episodes/brin-indexes">Our episode on BRIN indexes</a></li><li><a href="https://hakibenita.com/sql-tricks-application-dba#always-load-sorted-data">Always load sorted data</a> (blog post by Haki Benita)</li><li><a href="https://pganalyze.com/blog/gin-index">GIN indexes: the good and the bad</a> (blog post by Lukas Fittl)</li><li><a href="https://postgres.fm/episodes/materialized-views">Our episode on materialised views</a></li><li><a href="https://www.postgresql.org/docs/current/pgbuffercache.html">pg_buffercache</a></li><li><a href="https://akorotkov.github.io/blog/2016/05/09/scalability-towards-millions-tps/">Towards Millions TPS</a> (blog post by Alexander Korotkov)</li><li><a href="https://supabase.com/blog/postgres-wasm">Postgres WASM</a> (by Snaplet and Supabase)</li><li><a href="https://www.yugabyte.com/">Yugabyte</a></li><li><a href="https://aws.amazon.com/rds/aurora/">AWS Aurora</a> </li><li><a href="https://www.postgresql.org/docs/current/continuous-archiving.html">Continuous Archiving and Point-in-Time Recovery</a> (docs)</li><li><a href="https://postgres.fm/episodes/wal-and-checkpoint-tuning">Our episode on checkpoint tuning</a></li><li><a href="https://postgres.fm/episodes/partitioning">Our episode on partitioning</a></li><li><a href="https://wiki.postgresql.org/wiki/SkyTools#PgQ">PgQ</a></li><li><a href="https://neon.tech/docs/introduction/branching">Neon branching</a></li><li><a href="https://github.com/postgres-ai/database-lab-engine#readme">Database Lab Engine</a></li><li><a href="https://www.postgresql.org/docs/current/sql-cluster.html">Cluster</a><p></p></li></ul><p>~~~</p><p><br>What did you like or not like? What should we discuss next time? Let us know on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/read-only-considerations">here's a good link</a> (and thank you!)</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/3b242ada/transcript.txt" type="text/plain"/>
    </item>
    <item>
      <title>Partitioning</title>
      <itunes:episode>40</itunes:episode>
      <podcast:episode>40</podcast:episode>
      <itunes:title>Partitioning</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">c32f77f4-be88-425e-b257-ca74651fd4b4</guid>
      <link>https://share.transistor.fm/s/f7bf1092</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss table partitioning — what it is, why and when it's helpful, and some considerations for your partition key.<br> <br>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/docs/current/ddl-partitioning.html">Partitioning docs</a></li><li><a href="https://github.com/pgpartman/pg_partman">pg_partman</a></li><li><a href="https://postgres.fm/episodes/index-maintenance">Index maintenance episode</a> </li><li><a href="https://docs.timescale.com/use-timescale/latest/hypertables/about-hypertables/">Timescale partitioning</a></li><li><a href="https://github.com/citusdata/pg_cron">pg_cron</a></li><li><a href="https://www.youtube.com/watch?v=EjhcLMrpZeI&amp;t=149s">Xtreme PostgreSQL</a> (talk by Christophe Pettus)</li><li><a href="https://thebuild.com/presentations/antipatterns-scale-20x-2023.pdf">Database Antipatterns</a> (also by Christophe, slides 46-49)</li><li><a href="https://duffel.com/blog/understanding-outage-concurrency-vacuum-postgresql">Understanding an outage</a> (blog post by Duffel)</li></ul><p><br></p><p>~~~</p><p><br>What did you like or not like? What should we discuss next time? Let us know on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/partitioning">here's a good link</a> (and thank you!)</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss table partitioning — what it is, why and when it's helpful, and some considerations for your partition key.<br> <br>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/docs/current/ddl-partitioning.html">Partitioning docs</a></li><li><a href="https://github.com/pgpartman/pg_partman">pg_partman</a></li><li><a href="https://postgres.fm/episodes/index-maintenance">Index maintenance episode</a> </li><li><a href="https://docs.timescale.com/use-timescale/latest/hypertables/about-hypertables/">Timescale partitioning</a></li><li><a href="https://github.com/citusdata/pg_cron">pg_cron</a></li><li><a href="https://www.youtube.com/watch?v=EjhcLMrpZeI&amp;t=149s">Xtreme PostgreSQL</a> (talk by Christophe Pettus)</li><li><a href="https://thebuild.com/presentations/antipatterns-scale-20x-2023.pdf">Database Antipatterns</a> (also by Christophe, slides 46-49)</li><li><a href="https://duffel.com/blog/understanding-outage-concurrency-vacuum-postgresql">Understanding an outage</a> (blog post by Duffel)</li></ul><p><br></p><p>~~~</p><p><br>What did you like or not like? What should we discuss next time? Let us know on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/partitioning">here's a good link</a> (and thank you!)</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 07 Apr 2023 13:30:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/f7bf1092/895de5c8.mp3" length="32722658" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2044</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss table partitioning — what it is, why and when it's helpful, and some considerations for your partition key.<br> <br>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/docs/current/ddl-partitioning.html">Partitioning docs</a></li><li><a href="https://github.com/pgpartman/pg_partman">pg_partman</a></li><li><a href="https://postgres.fm/episodes/index-maintenance">Index maintenance episode</a> </li><li><a href="https://docs.timescale.com/use-timescale/latest/hypertables/about-hypertables/">Timescale partitioning</a></li><li><a href="https://github.com/citusdata/pg_cron">pg_cron</a></li><li><a href="https://www.youtube.com/watch?v=EjhcLMrpZeI&amp;t=149s">Xtreme PostgreSQL</a> (talk by Christophe Pettus)</li><li><a href="https://thebuild.com/presentations/antipatterns-scale-20x-2023.pdf">Database Antipatterns</a> (also by Christophe, slides 46-49)</li><li><a href="https://duffel.com/blog/understanding-outage-concurrency-vacuum-postgresql">Understanding an outage</a> (blog post by Duffel)</li></ul><p><br></p><p>~~~</p><p><br>What did you like or not like? What should we discuss next time? Let us know on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/partitioning">here's a good link</a> (and thank you!)</p><p><br>~~~</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/f7bf1092/transcript.txt" type="text/plain"/>
    </item>
    <item>
      <title>Peter Zaitsev</title>
      <itunes:episode>39</itunes:episode>
      <podcast:episode>39</podcast:episode>
      <itunes:title>Peter Zaitsev</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">c0313a3e-7240-4fba-99c4-dbe1cc0c3800</guid>
      <link>https://share.transistor.fm/s/776315d1</link>
      <description>
        <![CDATA[<p>This week we're sharing an edited version of Nikolay's recent interview with Peter Zaitsev from Percona — they discuss MySQL vs Postgres, Percona’s success, open source licenses, FerretDB, and databases on Kubernetes… phew!<br> <br>And here are some links to a few things mentioned: </p><ul><li><a href="https://www.percona.com/">Percona</a></li><li><a href="https://gitlab.com/postgres-ai/pgcloudhacker">pgCloudHacker browser extension</a> </li><li><a href="https://www.percona.com/software/database-tools/percona-monitoring-and-management">PMM</a></li><li><a href="https://www.percona.com/software/postgresql-distribution">Percona Distribution for PostgreSQL</a></li><li><a href="https://www.ferretdb.io/">FerretDB</a></li><li><a href="https://twitter.com/PeterZaitsev">Peter's Twitter profile</a></li><li><a href="https://www.linkedin.com/in/peterzaitsev/">Peter's LinkedIn profile</a></li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/peter-zaitsev">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>This week we're sharing an edited version of Nikolay's recent interview with Peter Zaitsev from Percona — they discuss MySQL vs Postgres, Percona’s success, open source licenses, FerretDB, and databases on Kubernetes… phew!<br> <br>And here are some links to a few things mentioned: </p><ul><li><a href="https://www.percona.com/">Percona</a></li><li><a href="https://gitlab.com/postgres-ai/pgcloudhacker">pgCloudHacker browser extension</a> </li><li><a href="https://www.percona.com/software/database-tools/percona-monitoring-and-management">PMM</a></li><li><a href="https://www.percona.com/software/postgresql-distribution">Percona Distribution for PostgreSQL</a></li><li><a href="https://www.ferretdb.io/">FerretDB</a></li><li><a href="https://twitter.com/PeterZaitsev">Peter's Twitter profile</a></li><li><a href="https://www.linkedin.com/in/peterzaitsev/">Peter's LinkedIn profile</a></li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/peter-zaitsev">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 31 Mar 2023 16:12:52 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/776315d1/441cb0c7.mp3" length="41539541" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2595</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>This week we're sharing an edited version of Nikolay's recent interview with Peter Zaitsev from Percona — they discuss MySQL vs Postgres, Percona’s success, open source licenses, FerretDB, and databases on Kubernetes… phew!<br> <br>And here are some links to a few things mentioned: </p><ul><li><a href="https://www.percona.com/">Percona</a></li><li><a href="https://gitlab.com/postgres-ai/pgcloudhacker">pgCloudHacker browser extension</a> </li><li><a href="https://www.percona.com/software/database-tools/percona-monitoring-and-management">PMM</a></li><li><a href="https://www.percona.com/software/postgresql-distribution">Percona Distribution for PostgreSQL</a></li><li><a href="https://www.ferretdb.io/">FerretDB</a></li><li><a href="https://twitter.com/PeterZaitsev">Peter's Twitter profile</a></li><li><a href="https://www.linkedin.com/in/peterzaitsev/">Peter's LinkedIn profile</a></li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/peter-zaitsev">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Guest" href="http://www.percona.com" img="https://img.transistorcdn.com/8qb_ztnrQMDzO2Cn8LrDiH_5DqEhxSrqO558_47veYY/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vZGUyNDNiM2Mt/YjM5MC00ZDIxLWFj/ZjYtY2YwNWJhMjY0/NTQ5LzE2ODAyNzQx/MzItaW1hZ2UuanBn.jpg">Peter Zaitsev</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/776315d1/transcript.txt" type="text/plain"/>
    </item>
    <item>
      <title>psql vs GUIs</title>
      <itunes:episode>38</itunes:episode>
      <podcast:episode>38</podcast:episode>
      <itunes:title>psql vs GUIs</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">f7d0af81-99fa-42fd-ad1d-34172ad3fb3c</guid>
      <link>https://share.transistor.fm/s/adb2aa49</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss command line and graphical user interfaces for Postgres — what they are, some tips and tricks for learning, and what we each use and prefer.<br> <br>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/docs/current/app-psql.html">psql</a> (docs)</li><li><a href="https://www.youtube.com/watch?v=2oFbnJDlwIw">psql is awesome!</a> (talk by Lætitia Avrot)</li><li><a href="https://psql-tips.org/">psql tips</a> (site by Lætitia Avrot)</li><li><a href="https://www.pgadmin.org/">pgAdmin</a></li><li><a href="https://eggerapps.at/postico2/">Postico</a> </li><li><a href="https://dbeaver.io/">DBeaver</a></li><li><a href="https://www.jetbrains.com/datagrip/">DataGrip</a></li><li><a href="https://www.commandprompt.com/blog/announcing-pgmanage-10a/">PgManage</a> (new Command Prompt fork of OmniDB) </li><li><a href="https://popsql.com/">PopSQL</a></li><li><a href="https://github.com/NikolayS/postgres_dba">postgres_dba</a></li><li><a href="https://github.com/okbob/pspg">pspg</a></li><li><a href="https://postgres.fm/episodes/materialized-views">Materialized views episode</a></li><li><a href="https://www.pgcli.com/">pgcli</a></li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/psql-vs-guis">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss command line and graphical user interfaces for Postgres — what they are, some tips and tricks for learning, and what we each use and prefer.<br> <br>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/docs/current/app-psql.html">psql</a> (docs)</li><li><a href="https://www.youtube.com/watch?v=2oFbnJDlwIw">psql is awesome!</a> (talk by Lætitia Avrot)</li><li><a href="https://psql-tips.org/">psql tips</a> (site by Lætitia Avrot)</li><li><a href="https://www.pgadmin.org/">pgAdmin</a></li><li><a href="https://eggerapps.at/postico2/">Postico</a> </li><li><a href="https://dbeaver.io/">DBeaver</a></li><li><a href="https://www.jetbrains.com/datagrip/">DataGrip</a></li><li><a href="https://www.commandprompt.com/blog/announcing-pgmanage-10a/">PgManage</a> (new Command Prompt fork of OmniDB) </li><li><a href="https://popsql.com/">PopSQL</a></li><li><a href="https://github.com/NikolayS/postgres_dba">postgres_dba</a></li><li><a href="https://github.com/okbob/pspg">pspg</a></li><li><a href="https://postgres.fm/episodes/materialized-views">Materialized views episode</a></li><li><a href="https://www.pgcli.com/">pgcli</a></li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/psql-vs-guis">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 24 Mar 2023 13:30:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/adb2aa49/3540e144.mp3" length="29972975" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>1872</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss command line and graphical user interfaces for Postgres — what they are, some tips and tricks for learning, and what we each use and prefer.<br> <br>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/docs/current/app-psql.html">psql</a> (docs)</li><li><a href="https://www.youtube.com/watch?v=2oFbnJDlwIw">psql is awesome!</a> (talk by Lætitia Avrot)</li><li><a href="https://psql-tips.org/">psql tips</a> (site by Lætitia Avrot)</li><li><a href="https://www.pgadmin.org/">pgAdmin</a></li><li><a href="https://eggerapps.at/postico2/">Postico</a> </li><li><a href="https://dbeaver.io/">DBeaver</a></li><li><a href="https://www.jetbrains.com/datagrip/">DataGrip</a></li><li><a href="https://www.commandprompt.com/blog/announcing-pgmanage-10a/">PgManage</a> (new Command Prompt fork of OmniDB) </li><li><a href="https://popsql.com/">PopSQL</a></li><li><a href="https://github.com/NikolayS/postgres_dba">postgres_dba</a></li><li><a href="https://github.com/okbob/pspg">pspg</a></li><li><a href="https://postgres.fm/episodes/materialized-views">Materialized views episode</a></li><li><a href="https://www.pgcli.com/">pgcli</a></li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/psql-vs-guis">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/adb2aa49/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Upgrades</title>
      <itunes:episode>37</itunes:episode>
      <podcast:episode>37</podcast:episode>
      <itunes:title>Upgrades</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">35491f36-b02d-45ba-83a2-2bdefa841966</guid>
      <link>https://share.transistor.fm/s/c7a6cda9</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss major and minor version Postgres upgrades — what they are, how often they come out, and how regularly we should be upgrading.<br> <br>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/support/versioning/">Postgres versioning policy</a> </li><li><a href="https://why-upgrade.depesz.com/">why-upgrade</a> (by depesz)</li><li><a href="https://postgresqlco.nf/doc/en/param/">postgresqlco.nf</a> (by Ongres)</li><li><a href="https://pgconfig.rustprooflabs.com/param/change/14/15">postgresql.conf comparison</a> (by Rustproof Labs) </li><li><a href="https://www.postgresql.org/docs/current/pgupgrade.html">pg_upgrade</a></li><li><a href="https://www.postgresql.org/docs/current/logical-replication.html">Logical replication</a> </li><li><a href="https://www.postgresql.org/docs/current/sql-checkpoint.html">CHECKPOINT</a></li><li><a href="https://www.postgresql.org/docs/current/amcheck.html">amcheck</a></li><li><a href="https://wiki.postgresql.org/wiki/Locale_data_changes">Locale data changes</a> (e.g. glibc upgrades)</li><li><a href="https://www.postgresql.org/docs/current/sql-analyze.html">ANALYZE</a></li><li><a href="https://andreas.scherbaum.la/blog/archives/1116-PostgreSQL-Upgrades-are-hard!.html">Upgrades are hard</a> (summary of panel discussion by Andreas 'ads' Scherbaum)</li><li><a href="https://github.com/zalando/spilo">spilo</a></li><li><a href="https://www.postgresql.org/message-id/flat/20230217075433.u5mjly4d5cr4hcfe%40jrouhaud">Recent pgsql hackers discussion about using logical and pg_upgrade together</a></li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/upgrades">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss major and minor version Postgres upgrades — what they are, how often they come out, and how regularly we should be upgrading.<br> <br>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/support/versioning/">Postgres versioning policy</a> </li><li><a href="https://why-upgrade.depesz.com/">why-upgrade</a> (by depesz)</li><li><a href="https://postgresqlco.nf/doc/en/param/">postgresqlco.nf</a> (by Ongres)</li><li><a href="https://pgconfig.rustprooflabs.com/param/change/14/15">postgresql.conf comparison</a> (by Rustproof Labs) </li><li><a href="https://www.postgresql.org/docs/current/pgupgrade.html">pg_upgrade</a></li><li><a href="https://www.postgresql.org/docs/current/logical-replication.html">Logical replication</a> </li><li><a href="https://www.postgresql.org/docs/current/sql-checkpoint.html">CHECKPOINT</a></li><li><a href="https://www.postgresql.org/docs/current/amcheck.html">amcheck</a></li><li><a href="https://wiki.postgresql.org/wiki/Locale_data_changes">Locale data changes</a> (e.g. glibc upgrades)</li><li><a href="https://www.postgresql.org/docs/current/sql-analyze.html">ANALYZE</a></li><li><a href="https://andreas.scherbaum.la/blog/archives/1116-PostgreSQL-Upgrades-are-hard!.html">Upgrades are hard</a> (summary of panel discussion by Andreas 'ads' Scherbaum)</li><li><a href="https://github.com/zalando/spilo">spilo</a></li><li><a href="https://www.postgresql.org/message-id/flat/20230217075433.u5mjly4d5cr4hcfe%40jrouhaud">Recent pgsql hackers discussion about using logical and pg_upgrade together</a></li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/upgrades">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 17 Mar 2023 13:30:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/c7a6cda9/cf9e420b.mp3" length="38710330" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2418</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss major and minor version Postgres upgrades — what they are, how often they come out, and how regularly we should be upgrading.<br> <br>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/support/versioning/">Postgres versioning policy</a> </li><li><a href="https://why-upgrade.depesz.com/">why-upgrade</a> (by depesz)</li><li><a href="https://postgresqlco.nf/doc/en/param/">postgresqlco.nf</a> (by Ongres)</li><li><a href="https://pgconfig.rustprooflabs.com/param/change/14/15">postgresql.conf comparison</a> (by Rustproof Labs) </li><li><a href="https://www.postgresql.org/docs/current/pgupgrade.html">pg_upgrade</a></li><li><a href="https://www.postgresql.org/docs/current/logical-replication.html">Logical replication</a> </li><li><a href="https://www.postgresql.org/docs/current/sql-checkpoint.html">CHECKPOINT</a></li><li><a href="https://www.postgresql.org/docs/current/amcheck.html">amcheck</a></li><li><a href="https://wiki.postgresql.org/wiki/Locale_data_changes">Locale data changes</a> (e.g. glibc upgrades)</li><li><a href="https://www.postgresql.org/docs/current/sql-analyze.html">ANALYZE</a></li><li><a href="https://andreas.scherbaum.la/blog/archives/1116-PostgreSQL-Upgrades-are-hard!.html">Upgrades are hard</a> (summary of panel discussion by Andreas 'ads' Scherbaum)</li><li><a href="https://github.com/zalando/spilo">spilo</a></li><li><a href="https://www.postgresql.org/message-id/flat/20230217075433.u5mjly4d5cr4hcfe%40jrouhaud">Recent pgsql hackers discussion about using logical and pg_upgrade together</a></li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know on <a href="https://postgres.fm/people">social media,</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/upgrades">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/c7a6cda9/transcript.txt" type="text/plain"/>
    </item>
    <item>
      <title>Wait events</title>
      <itunes:episode>36</itunes:episode>
      <podcast:episode>36</podcast:episode>
      <itunes:title>Wait events</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">81f42810-43da-43fb-9bb1-f9a50be69a67</guid>
      <link>https://share.transistor.fm/s/abdf4576</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss wait events — what they are, why we have them, and how to use them to help diagnose performance issues.<br> <br>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/docs/current/monitoring-stats.html#WAIT-EVENT-TABLE">Wait events table</a> (docs)</li><li><a href="https://www.postgresql.org/docs/release/9.6.0/">9.6 release notes</a></li><li><a href="https://akorotkov.github.io/blog/2016/05/09/scalability-towards-millions-tps/">PostgreSQL Scalability</a> (blog post by Alexander Korotkov)</li><li><a href="https://pganalyze.com/blog/postgres-connection-tracing-wait-event-analysis-and-vacuum-monitoring">Wait event analysis in pganalyze</a></li><li><a href="https://www.postgresql.org/docs/current/auto-explain.html">auto_explain</a></li><li><a href="https://github.com/postgres-ai/database-lab-engine">Database Lab Engine</a></li><li><a href="https://pgpedia.info/t/track_io_timing.html">track_io_timing</a></li><li><a href="https://www.postgresql.org/docs/current/pgtesttiming.html">pg_test_timing</a></li><li><a href="https://github.com/darold/pgbadger">pgBadger</a></li><li><a href="https://coroot.com/">Coroot</a></li><li><a href="https://okmeter.io/">Okmeter</a></li><li><a href="https://gitlab.com/postgres-ai/pgwatch2">pgwatch2 Postgres.ai Edition</a></li><li><a href="https://github.com/postgrespro/pg_wait_sampling">pg_wait_sampling</a></li><li><a href="https://github.com/pgsentinel/pgsentinel">pgsentinel</a></li><li><a href="https://www.datadoghq.com/">Datadog</a></li><li><a href="https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Tuning.concepts.summary.html">AWS RDS docs for PostgreSQL wait events</a></li><li><a href="https://www.pgmustard.com/newsletter">pgMustard newsletter</a></li><li><a href="https://github.com/dbacvetkov/PASH-Viewer">PASH Viewer</a></li><li><a href="https://github.com/lesovsky/pgcenter">pgCenter</a></li><li><a href="https://postgres.fm/episodes/intro-to-query-optimization">Intro to query optimisation episode</a></li><li><a href="https://postgres.fm/episodes/monitoring-checklist">Monitoring checklist episode</a></li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> / <a href="https://twitter.com/michristofides">@michristofides</a> / <a href="https://twitter.com/PostgresFM">@PostgresFM</a>, or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/wait-events">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss wait events — what they are, why we have them, and how to use them to help diagnose performance issues.<br> <br>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/docs/current/monitoring-stats.html#WAIT-EVENT-TABLE">Wait events table</a> (docs)</li><li><a href="https://www.postgresql.org/docs/release/9.6.0/">9.6 release notes</a></li><li><a href="https://akorotkov.github.io/blog/2016/05/09/scalability-towards-millions-tps/">PostgreSQL Scalability</a> (blog post by Alexander Korotkov)</li><li><a href="https://pganalyze.com/blog/postgres-connection-tracing-wait-event-analysis-and-vacuum-monitoring">Wait event analysis in pganalyze</a></li><li><a href="https://www.postgresql.org/docs/current/auto-explain.html">auto_explain</a></li><li><a href="https://github.com/postgres-ai/database-lab-engine">Database Lab Engine</a></li><li><a href="https://pgpedia.info/t/track_io_timing.html">track_io_timing</a></li><li><a href="https://www.postgresql.org/docs/current/pgtesttiming.html">pg_test_timing</a></li><li><a href="https://github.com/darold/pgbadger">pgBadger</a></li><li><a href="https://coroot.com/">Coroot</a></li><li><a href="https://okmeter.io/">Okmeter</a></li><li><a href="https://gitlab.com/postgres-ai/pgwatch2">pgwatch2 Postgres.ai Edition</a></li><li><a href="https://github.com/postgrespro/pg_wait_sampling">pg_wait_sampling</a></li><li><a href="https://github.com/pgsentinel/pgsentinel">pgsentinel</a></li><li><a href="https://www.datadoghq.com/">Datadog</a></li><li><a href="https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Tuning.concepts.summary.html">AWS RDS docs for PostgreSQL wait events</a></li><li><a href="https://www.pgmustard.com/newsletter">pgMustard newsletter</a></li><li><a href="https://github.com/dbacvetkov/PASH-Viewer">PASH Viewer</a></li><li><a href="https://github.com/lesovsky/pgcenter">pgCenter</a></li><li><a href="https://postgres.fm/episodes/intro-to-query-optimization">Intro to query optimisation episode</a></li><li><a href="https://postgres.fm/episodes/monitoring-checklist">Monitoring checklist episode</a></li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> / <a href="https://twitter.com/michristofides">@michristofides</a> / <a href="https://twitter.com/PostgresFM">@PostgresFM</a>, or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/wait-events">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 10 Mar 2023 13:30:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/abdf4576/c8e47d33.mp3" length="30148933" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>1883</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss wait events — what they are, why we have them, and how to use them to help diagnose performance issues.<br> <br>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/docs/current/monitoring-stats.html#WAIT-EVENT-TABLE">Wait events table</a> (docs)</li><li><a href="https://www.postgresql.org/docs/release/9.6.0/">9.6 release notes</a></li><li><a href="https://akorotkov.github.io/blog/2016/05/09/scalability-towards-millions-tps/">PostgreSQL Scalability</a> (blog post by Alexander Korotkov)</li><li><a href="https://pganalyze.com/blog/postgres-connection-tracing-wait-event-analysis-and-vacuum-monitoring">Wait event analysis in pganalyze</a></li><li><a href="https://www.postgresql.org/docs/current/auto-explain.html">auto_explain</a></li><li><a href="https://github.com/postgres-ai/database-lab-engine">Database Lab Engine</a></li><li><a href="https://pgpedia.info/t/track_io_timing.html">track_io_timing</a></li><li><a href="https://www.postgresql.org/docs/current/pgtesttiming.html">pg_test_timing</a></li><li><a href="https://github.com/darold/pgbadger">pgBadger</a></li><li><a href="https://coroot.com/">Coroot</a></li><li><a href="https://okmeter.io/">Okmeter</a></li><li><a href="https://gitlab.com/postgres-ai/pgwatch2">pgwatch2 Postgres.ai Edition</a></li><li><a href="https://github.com/postgrespro/pg_wait_sampling">pg_wait_sampling</a></li><li><a href="https://github.com/pgsentinel/pgsentinel">pgsentinel</a></li><li><a href="https://www.datadoghq.com/">Datadog</a></li><li><a href="https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Tuning.concepts.summary.html">AWS RDS docs for PostgreSQL wait events</a></li><li><a href="https://www.pgmustard.com/newsletter">pgMustard newsletter</a></li><li><a href="https://github.com/dbacvetkov/PASH-Viewer">PASH Viewer</a></li><li><a href="https://github.com/lesovsky/pgcenter">pgCenter</a></li><li><a href="https://postgres.fm/episodes/intro-to-query-optimization">Intro to query optimisation episode</a></li><li><a href="https://postgres.fm/episodes/monitoring-checklist">Monitoring checklist episode</a></li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> / <a href="https://twitter.com/michristofides">@michristofides</a> / <a href="https://twitter.com/PostgresFM">@PostgresFM</a>, or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/wait-events">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/abdf4576/transcript.txt" type="text/plain"/>
    </item>
    <item>
      <title>TOAST</title>
      <itunes:episode>35</itunes:episode>
      <podcast:episode>35</podcast:episode>
      <itunes:title>TOAST</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">d530bd70-ede6-4c38-a1c5-d4202655c3b2</guid>
      <link>https://share.transistor.fm/s/b2b9b7ec</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss TOAST (The Oversized-Attribute Storage Technique) — what it is, how it works, and some general things to be aware of.<br> <br>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/docs/current/storage-toast.html">TOAST docs</a></li><li><a href="https://wiki.postgresql.org/wiki/TOAST">TOAST wiki</a></li><li><a href="https://twitter.com/hnasr/status/1627876515491766273">Hussein Nasser on rows per page</a> (Twitter)</li><li><a href="https://www.dbi-services.com/blog/toasting-in-postgresql-lets-see-it-in-action/">Toasting in action</a> (dbi services blog)</li><li><a href="https://www.youtube.com/watch?v=curz6Tx81FU">Interview with Peter Zaitsev</a> (Postgres TV)</li><li><a href="https://www.timescale.com/blog/building-columnar-compression-in-a-row-oriented-database/">Building columnar compression in a row-oriented database</a> (Timescale blog post)</li><li><a href="https://hakibenita.com/sql-medium-text-performance">The Surprising Impact of Medium-Size Texts on PostgreSQL Performance</a> (blog post by Haki Benita<a href="https://medium.com/paypal-tech/postgresql-at-scale-saving-space-basically-for-free-d94483d9ed9a">)</a></li><li><a href="https://medium.com/paypal-tech/postgresql-at-scale-saving-space-basically-for-free-d94483d9ed9a">PostgreSQL at Scale: Saving Space Basically for Free</a> (blog post by Braintree on column Tetris)</li><li><a href="https://github.com/NikolayS/postgres_dba/blob/master/sql/p1_alignment_padding.sql">postgres_dba alignment padding query</a> </li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> / <a href="https://twitter.com/michristofides">@michristofides</a> / <a href="https://twitter.com/PostgresFM">@PostgresFM</a>, or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/toast">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss TOAST (The Oversized-Attribute Storage Technique) — what it is, how it works, and some general things to be aware of.<br> <br>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/docs/current/storage-toast.html">TOAST docs</a></li><li><a href="https://wiki.postgresql.org/wiki/TOAST">TOAST wiki</a></li><li><a href="https://twitter.com/hnasr/status/1627876515491766273">Hussein Nasser on rows per page</a> (Twitter)</li><li><a href="https://www.dbi-services.com/blog/toasting-in-postgresql-lets-see-it-in-action/">Toasting in action</a> (dbi services blog)</li><li><a href="https://www.youtube.com/watch?v=curz6Tx81FU">Interview with Peter Zaitsev</a> (Postgres TV)</li><li><a href="https://www.timescale.com/blog/building-columnar-compression-in-a-row-oriented-database/">Building columnar compression in a row-oriented database</a> (Timescale blog post)</li><li><a href="https://hakibenita.com/sql-medium-text-performance">The Surprising Impact of Medium-Size Texts on PostgreSQL Performance</a> (blog post by Haki Benita<a href="https://medium.com/paypal-tech/postgresql-at-scale-saving-space-basically-for-free-d94483d9ed9a">)</a></li><li><a href="https://medium.com/paypal-tech/postgresql-at-scale-saving-space-basically-for-free-d94483d9ed9a">PostgreSQL at Scale: Saving Space Basically for Free</a> (blog post by Braintree on column Tetris)</li><li><a href="https://github.com/NikolayS/postgres_dba/blob/master/sql/p1_alignment_padding.sql">postgres_dba alignment padding query</a> </li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> / <a href="https://twitter.com/michristofides">@michristofides</a> / <a href="https://twitter.com/PostgresFM">@PostgresFM</a>, or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/toast">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 03 Mar 2023 13:30:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/b2b9b7ec/1626296c.mp3" length="27085793" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>1691</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss TOAST (The Oversized-Attribute Storage Technique) — what it is, how it works, and some general things to be aware of.<br> <br>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/docs/current/storage-toast.html">TOAST docs</a></li><li><a href="https://wiki.postgresql.org/wiki/TOAST">TOAST wiki</a></li><li><a href="https://twitter.com/hnasr/status/1627876515491766273">Hussein Nasser on rows per page</a> (Twitter)</li><li><a href="https://www.dbi-services.com/blog/toasting-in-postgresql-lets-see-it-in-action/">Toasting in action</a> (dbi services blog)</li><li><a href="https://www.youtube.com/watch?v=curz6Tx81FU">Interview with Peter Zaitsev</a> (Postgres TV)</li><li><a href="https://www.timescale.com/blog/building-columnar-compression-in-a-row-oriented-database/">Building columnar compression in a row-oriented database</a> (Timescale blog post)</li><li><a href="https://hakibenita.com/sql-medium-text-performance">The Surprising Impact of Medium-Size Texts on PostgreSQL Performance</a> (blog post by Haki Benita<a href="https://medium.com/paypal-tech/postgresql-at-scale-saving-space-basically-for-free-d94483d9ed9a">)</a></li><li><a href="https://medium.com/paypal-tech/postgresql-at-scale-saving-space-basically-for-free-d94483d9ed9a">PostgreSQL at Scale: Saving Space Basically for Free</a> (blog post by Braintree on column Tetris)</li><li><a href="https://github.com/NikolayS/postgres_dba/blob/master/sql/p1_alignment_padding.sql">postgres_dba alignment padding query</a> </li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> / <a href="https://twitter.com/michristofides">@michristofides</a> / <a href="https://twitter.com/PostgresFM">@PostgresFM</a>, or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/toast">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/b2b9b7ec/transcript.txt" type="text/plain"/>
    </item>
    <item>
      <title>JSON</title>
      <itunes:episode>34</itunes:episode>
      <podcast:episode>34</podcast:episode>
      <itunes:title>JSON</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">46ae5803-8915-48ec-9dea-5c8344c6a99d</guid>
      <link>https://share.transistor.fm/s/5fffe467</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss JSON — our options for storing it in Postgres, whether or when we should, as well as a brief intro and some tips for JSON functions available.<br> <br>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/docs/current/hstore.html">hstore</a></li><li><a href="https://www.postgresql.org/docs/current/datatype-xml.html">XML type</a></li><li><a href="https://www.postgresql.org/docs/current/functions-xml.html">XML functions</a></li><li><a href="https://www.postgresql.org/docs/current/datatype-json.html">JSON types</a></li><li><a href="https://www.postgresql.org/docs/current/functions-json.html">JSON functions</a></li><li><a href="https://www.postgresql.org/docs/current/datatype-json.html#JSON-INDEXING">JSONB indexing</a></li><li><a href="https://postgres.fm/episodes/nulls-the-good-the-bad-the-ugly-and-the-unknown">NULLS episode</a></li><li><a href="https://postgres.fm/episodes/why-is-postgres-popular">Why Postgres is popular episode</a></li><li><a href="https://www.postgresql.org/docs/release/12.0/">PostgreSQL 12 release notes</a></li><li><a href="https://modern-sql.com/blog/2017-06/whats-new-in-sql-2016">What’s New in SQL:2016</a> (blog post by Markus Winand)</li><li><a href="https://www.depesz.com/2022/09/02/sql-json-is-postponed/">SQL/JSON is postponed</a> (blog post by depesz) </li><li><a href="https://www.youtube.com/watch?v=tF3Lb2BvGpk">JSON[b] Roadmap</a> (talk by Oleg Bartunov)</li><li><a href="http://www.sai.msu.su/~megera/postgres/talks/jsonb-pgconfnyc-2021.pdf">Slides, with benchmarks</a></li><li><a href="https://github.com/postgrespro/rum">RUM access method</a></li><li><a href="https://www.cybertec-postgresql.com/en/json-postgresql-how-to-use-it-right/">JSON in PostgreSQL: how to use it right</a> (blog post by Laurenz Albe from Cybertec)</li><li><a href="https://github.com/supabase/pg_jsonschema">pg_jsonschema</a></li><li><a href="https://www.postgresql.org/docs/current/storage-toast.html#STORAGE-TOAST-ONDISK">TOAST_TUPLE_TARGET and TOAST_TUPLE_THRESHOLD</a> </li><li><a href="https://hakibenita.com/sql-medium-text-performance">The Surprising Impact of Medium-Size Texts on PostgreSQL Performance</a> (blog post by Haki Benita) </li><li><a href="https://www.postgresql.org/docs/current/functions-aggregate.html">Aggregate functions</a></li><li><a href="https://scalegrid.io/blog/using-jsonb-in-postgresql-how-to-effectively-store-index-json-data-in-postgresql/">How to store and index json data</a> (blog post by ScaleGrid)</li><li><a href="https://www.heap.io/blog/when-to-avoid-jsonb-in-a-postgresql-schema">When to avoid JSONB</a> (blog post by Heap)</li><li><a href="https://www.ferretdb.io/">FerretDB</a></li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> / <a href="https://twitter.com/michristofides">@michristofides</a> / <a href="https://twitter.com/PostgresFM">@PostgresFM</a>, or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/json">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss JSON — our options for storing it in Postgres, whether or when we should, as well as a brief intro and some tips for JSON functions available.<br> <br>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/docs/current/hstore.html">hstore</a></li><li><a href="https://www.postgresql.org/docs/current/datatype-xml.html">XML type</a></li><li><a href="https://www.postgresql.org/docs/current/functions-xml.html">XML functions</a></li><li><a href="https://www.postgresql.org/docs/current/datatype-json.html">JSON types</a></li><li><a href="https://www.postgresql.org/docs/current/functions-json.html">JSON functions</a></li><li><a href="https://www.postgresql.org/docs/current/datatype-json.html#JSON-INDEXING">JSONB indexing</a></li><li><a href="https://postgres.fm/episodes/nulls-the-good-the-bad-the-ugly-and-the-unknown">NULLS episode</a></li><li><a href="https://postgres.fm/episodes/why-is-postgres-popular">Why Postgres is popular episode</a></li><li><a href="https://www.postgresql.org/docs/release/12.0/">PostgreSQL 12 release notes</a></li><li><a href="https://modern-sql.com/blog/2017-06/whats-new-in-sql-2016">What’s New in SQL:2016</a> (blog post by Markus Winand)</li><li><a href="https://www.depesz.com/2022/09/02/sql-json-is-postponed/">SQL/JSON is postponed</a> (blog post by depesz) </li><li><a href="https://www.youtube.com/watch?v=tF3Lb2BvGpk">JSON[b] Roadmap</a> (talk by Oleg Bartunov)</li><li><a href="http://www.sai.msu.su/~megera/postgres/talks/jsonb-pgconfnyc-2021.pdf">Slides, with benchmarks</a></li><li><a href="https://github.com/postgrespro/rum">RUM access method</a></li><li><a href="https://www.cybertec-postgresql.com/en/json-postgresql-how-to-use-it-right/">JSON in PostgreSQL: how to use it right</a> (blog post by Laurenz Albe from Cybertec)</li><li><a href="https://github.com/supabase/pg_jsonschema">pg_jsonschema</a></li><li><a href="https://www.postgresql.org/docs/current/storage-toast.html#STORAGE-TOAST-ONDISK">TOAST_TUPLE_TARGET and TOAST_TUPLE_THRESHOLD</a> </li><li><a href="https://hakibenita.com/sql-medium-text-performance">The Surprising Impact of Medium-Size Texts on PostgreSQL Performance</a> (blog post by Haki Benita) </li><li><a href="https://www.postgresql.org/docs/current/functions-aggregate.html">Aggregate functions</a></li><li><a href="https://scalegrid.io/blog/using-jsonb-in-postgresql-how-to-effectively-store-index-json-data-in-postgresql/">How to store and index json data</a> (blog post by ScaleGrid)</li><li><a href="https://www.heap.io/blog/when-to-avoid-jsonb-in-a-postgresql-schema">When to avoid JSONB</a> (blog post by Heap)</li><li><a href="https://www.ferretdb.io/">FerretDB</a></li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> / <a href="https://twitter.com/michristofides">@michristofides</a> / <a href="https://twitter.com/PostgresFM">@PostgresFM</a>, or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/json">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 24 Feb 2023 13:30:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/5fffe467/60962def.mp3" length="30733398" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>1919</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss JSON — our options for storing it in Postgres, whether or when we should, as well as a brief intro and some tips for JSON functions available.<br> <br>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/docs/current/hstore.html">hstore</a></li><li><a href="https://www.postgresql.org/docs/current/datatype-xml.html">XML type</a></li><li><a href="https://www.postgresql.org/docs/current/functions-xml.html">XML functions</a></li><li><a href="https://www.postgresql.org/docs/current/datatype-json.html">JSON types</a></li><li><a href="https://www.postgresql.org/docs/current/functions-json.html">JSON functions</a></li><li><a href="https://www.postgresql.org/docs/current/datatype-json.html#JSON-INDEXING">JSONB indexing</a></li><li><a href="https://postgres.fm/episodes/nulls-the-good-the-bad-the-ugly-and-the-unknown">NULLS episode</a></li><li><a href="https://postgres.fm/episodes/why-is-postgres-popular">Why Postgres is popular episode</a></li><li><a href="https://www.postgresql.org/docs/release/12.0/">PostgreSQL 12 release notes</a></li><li><a href="https://modern-sql.com/blog/2017-06/whats-new-in-sql-2016">What’s New in SQL:2016</a> (blog post by Markus Winand)</li><li><a href="https://www.depesz.com/2022/09/02/sql-json-is-postponed/">SQL/JSON is postponed</a> (blog post by depesz) </li><li><a href="https://www.youtube.com/watch?v=tF3Lb2BvGpk">JSON[b] Roadmap</a> (talk by Oleg Bartunov)</li><li><a href="http://www.sai.msu.su/~megera/postgres/talks/jsonb-pgconfnyc-2021.pdf">Slides, with benchmarks</a></li><li><a href="https://github.com/postgrespro/rum">RUM access method</a></li><li><a href="https://www.cybertec-postgresql.com/en/json-postgresql-how-to-use-it-right/">JSON in PostgreSQL: how to use it right</a> (blog post by Laurenz Albe from Cybertec)</li><li><a href="https://github.com/supabase/pg_jsonschema">pg_jsonschema</a></li><li><a href="https://www.postgresql.org/docs/current/storage-toast.html#STORAGE-TOAST-ONDISK">TOAST_TUPLE_TARGET and TOAST_TUPLE_THRESHOLD</a> </li><li><a href="https://hakibenita.com/sql-medium-text-performance">The Surprising Impact of Medium-Size Texts on PostgreSQL Performance</a> (blog post by Haki Benita) </li><li><a href="https://www.postgresql.org/docs/current/functions-aggregate.html">Aggregate functions</a></li><li><a href="https://scalegrid.io/blog/using-jsonb-in-postgresql-how-to-effectively-store-index-json-data-in-postgresql/">How to store and index json data</a> (blog post by ScaleGrid)</li><li><a href="https://www.heap.io/blog/when-to-avoid-jsonb-in-a-postgresql-schema">When to avoid JSONB</a> (blog post by Heap)</li><li><a href="https://www.ferretdb.io/">FerretDB</a></li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> / <a href="https://twitter.com/michristofides">@michristofides</a> / <a href="https://twitter.com/PostgresFM">@PostgresFM</a>, or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/json">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/5fffe467/transcript.txt" type="text/plain"/>
    </item>
    <item>
      <title> Real-time analytics</title>
      <itunes:episode>33</itunes:episode>
      <podcast:episode>33</podcast:episode>
      <itunes:title> Real-time analytics</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">fb9e40ad-608c-4a08-8d20-2781b56da080</guid>
      <link>https://share.transistor.fm/s/88fc3f64</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss real-time analytics — what it means, what the options are, and some tips if you're trying to implement it within Postgres.<br> <br>Here are links to a few things we mentioned: </p><ul><li><a href="https://wiki.postgresql.org/wiki/Loose_indexscan">Loose index scan / skip scan with recursive CTE</a> (wiki)</li><li><a href="https://wiki.postgresql.org/wiki/Zheap">Zheap</a> (wiki)</li><li><a href="https://github.com/citusdata/cstore_fdw">cstore_fdw</a> (now part of Citus)</li><li><a href="https://docs.timescale.com/timescaledb/latest/how-to-guides/compression/">Timescale compression docs</a></li><li><a href="https://www.youtube.com/watch?v=71eD53ltbMs">Hydra founders interview</a> (on Postgres TV)</li><li><a href="https://postgres.fm/episodes/materialized-views">Materialised views episode</a> </li><li><a href="https://github.com/sraoss/pg_ivm">pg_ivm</a></li><li><a href="https://docs.timescale.com/timescaledb/latest/how-to-guides/continuous-aggregates/">Timescale continuous aggregates docs</a></li><li><a href="https://clickhouse.com/">Clickhouse</a></li><li><a href="https://www.snowflake.com/en/">Snowflake</a></li><li><a href="https://postgres.fm/episodes/replication">Replication episode</a></li><li><a href="https://www.timescale.com/blog/expanding-the-boundaries-of-postgresql-announcing-a-bottomless-consumption-based-object-storage-layer-built-on-amazon-s3/">Timescale bottomless storage on S3</a> (blog post)</li><li><a href="https://github.com/pgpartman/pg_partman">pg_partman</a></li><li><a href="https://duckdb.org/2022/09/30/postgres-scanner.html">Querying Postgres from DuckDB</a> (blog post)</li><li><a href="https://www.heap.io/blog%20">Heap blog</a> (filter by “Engineering”)</li><li><a href="https://wiki.postgresql.org/wiki/Incremental_View_Maintenance">Incremental View Maintenance</a> (wiki)</li><li><a href="https://github.com/citusdata/postgresql-hll">PostgreSQL HyperLogLog</a>  </li><li><a href="https://www.citusdata.com/blog/2016/10/12/count-performance/">Faster counting</a> (by Joe Nelson on the Citus blog)</li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> / <a href="https://twitter.com/michristofides">@michristofides</a> / <a href="https://twitter.com/PostgresFM">@PostgresFM</a>, or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/real-time-analytics">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss real-time analytics — what it means, what the options are, and some tips if you're trying to implement it within Postgres.<br> <br>Here are links to a few things we mentioned: </p><ul><li><a href="https://wiki.postgresql.org/wiki/Loose_indexscan">Loose index scan / skip scan with recursive CTE</a> (wiki)</li><li><a href="https://wiki.postgresql.org/wiki/Zheap">Zheap</a> (wiki)</li><li><a href="https://github.com/citusdata/cstore_fdw">cstore_fdw</a> (now part of Citus)</li><li><a href="https://docs.timescale.com/timescaledb/latest/how-to-guides/compression/">Timescale compression docs</a></li><li><a href="https://www.youtube.com/watch?v=71eD53ltbMs">Hydra founders interview</a> (on Postgres TV)</li><li><a href="https://postgres.fm/episodes/materialized-views">Materialised views episode</a> </li><li><a href="https://github.com/sraoss/pg_ivm">pg_ivm</a></li><li><a href="https://docs.timescale.com/timescaledb/latest/how-to-guides/continuous-aggregates/">Timescale continuous aggregates docs</a></li><li><a href="https://clickhouse.com/">Clickhouse</a></li><li><a href="https://www.snowflake.com/en/">Snowflake</a></li><li><a href="https://postgres.fm/episodes/replication">Replication episode</a></li><li><a href="https://www.timescale.com/blog/expanding-the-boundaries-of-postgresql-announcing-a-bottomless-consumption-based-object-storage-layer-built-on-amazon-s3/">Timescale bottomless storage on S3</a> (blog post)</li><li><a href="https://github.com/pgpartman/pg_partman">pg_partman</a></li><li><a href="https://duckdb.org/2022/09/30/postgres-scanner.html">Querying Postgres from DuckDB</a> (blog post)</li><li><a href="https://www.heap.io/blog%20">Heap blog</a> (filter by “Engineering”)</li><li><a href="https://wiki.postgresql.org/wiki/Incremental_View_Maintenance">Incremental View Maintenance</a> (wiki)</li><li><a href="https://github.com/citusdata/postgresql-hll">PostgreSQL HyperLogLog</a>  </li><li><a href="https://www.citusdata.com/blog/2016/10/12/count-performance/">Faster counting</a> (by Joe Nelson on the Citus blog)</li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> / <a href="https://twitter.com/michristofides">@michristofides</a> / <a href="https://twitter.com/PostgresFM">@PostgresFM</a>, or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/real-time-analytics">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 17 Feb 2023 13:30:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/88fc3f64/43657259.mp3" length="32693279" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2042</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss real-time analytics — what it means, what the options are, and some tips if you're trying to implement it within Postgres.<br> <br>Here are links to a few things we mentioned: </p><ul><li><a href="https://wiki.postgresql.org/wiki/Loose_indexscan">Loose index scan / skip scan with recursive CTE</a> (wiki)</li><li><a href="https://wiki.postgresql.org/wiki/Zheap">Zheap</a> (wiki)</li><li><a href="https://github.com/citusdata/cstore_fdw">cstore_fdw</a> (now part of Citus)</li><li><a href="https://docs.timescale.com/timescaledb/latest/how-to-guides/compression/">Timescale compression docs</a></li><li><a href="https://www.youtube.com/watch?v=71eD53ltbMs">Hydra founders interview</a> (on Postgres TV)</li><li><a href="https://postgres.fm/episodes/materialized-views">Materialised views episode</a> </li><li><a href="https://github.com/sraoss/pg_ivm">pg_ivm</a></li><li><a href="https://docs.timescale.com/timescaledb/latest/how-to-guides/continuous-aggregates/">Timescale continuous aggregates docs</a></li><li><a href="https://clickhouse.com/">Clickhouse</a></li><li><a href="https://www.snowflake.com/en/">Snowflake</a></li><li><a href="https://postgres.fm/episodes/replication">Replication episode</a></li><li><a href="https://www.timescale.com/blog/expanding-the-boundaries-of-postgresql-announcing-a-bottomless-consumption-based-object-storage-layer-built-on-amazon-s3/">Timescale bottomless storage on S3</a> (blog post)</li><li><a href="https://github.com/pgpartman/pg_partman">pg_partman</a></li><li><a href="https://duckdb.org/2022/09/30/postgres-scanner.html">Querying Postgres from DuckDB</a> (blog post)</li><li><a href="https://www.heap.io/blog%20">Heap blog</a> (filter by “Engineering”)</li><li><a href="https://wiki.postgresql.org/wiki/Incremental_View_Maintenance">Incremental View Maintenance</a> (wiki)</li><li><a href="https://github.com/citusdata/postgresql-hll">PostgreSQL HyperLogLog</a>  </li><li><a href="https://www.citusdata.com/blog/2016/10/12/count-performance/">Faster counting</a> (by Joe Nelson on the Citus blog)</li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> / <a href="https://twitter.com/michristofides">@michristofides</a> / <a href="https://twitter.com/PostgresFM">@PostgresFM</a>, or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/real-time-analytics">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/88fc3f64/transcript.txt" type="text/plain"/>
    </item>
    <item>
      <title>Benchmarking</title>
      <itunes:episode>32</itunes:episode>
      <podcast:episode>32</podcast:episode>
      <itunes:title>Benchmarking</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">3022002c-a380-426e-b724-732b8074370c</guid>
      <link>https://share.transistor.fm/s/7b27b461</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss benchmarking — reasons to do it, and some approaches, tools, and resources that can help.<br> <br>Here are links to a few things we mentioned: </p><ul><li><a href="https://akorotkov.github.io/blog/2016/05/09/scalability-towards-millions-tps/">Towards Millions TPS</a> (blog post by Alexander Korotkov)</li><li><a href="https://postgres.fm/episodes/database-branching">Episode on testing</a> </li><li><a href="https://postgres.fm/episodes/buffers-by-default">Episode on buffers</a> </li><li><a href="https://www.postgresql.org/docs/current/pgbench.html">pgbench</a></li><li><a href="https://github.com/akopytov/sysbench">sysbench</a></li><li><a href="https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/improving-postgres-connection-scalability-snapshots/ba-p/1806462">Improving Postgres Connection Scalability</a> (blog post by Andres Freund)</li><li><a href="https://github.com/laurenz/pgreplay">pgreplay</a></li><li><a href="https://github.com/gocardless/pgreplay-go">pgreplay-go</a></li><li><a href="https://jmeter.apache.org/">JMeter</a></li><li><a href="https://github.com/powa-team/pg_qualstats">pg_qualstats</a></li><li><a href="https://github.com/pganalyze/libpg_query">pg_query</a></li><li><a href="https://www.slideshare.net/samokhvalov/the-art-of-database-experiments-postgresconf-silicon-valley-2018-san-jose">Database experimenting/benchmarking</a> (talk by Nikolay, 2018)</li><li><a href="https://www.pgcon.org/events/pgcon_2022/schedule/session/267-advanced-database-testing-in-cicd-pipelines/">Database testing</a> (talk by Nikolay at PGCon, 2022)</li><li><a href="https://www.brendangregg.com/sysperfbook.html">Systems Performance</a> (Brendan Gregg’s book, chapter 12)</li><li><a href="https://github.com/axboe/fio">fio</a></li><li><a href="https://www.netdata.cloud/">Netdata</a></li><li><a href="https://postgres.ai/blog/20210831-postgresql-subtransactions-considered-harmful">Subtransactions Considered Harmful</a> (blog post by Nikolay including Netdata exports)</li><li><a href="https://gitlab.com/postgres-ai/postgresql-consulting/tests-and-benchmarks/-/issues/15">WAL compression benchmarks</a> (by Vitaly from Postgres.ai)</li><li><a href="https://gitlab.com/postgres-ai/postgresql-consulting/tests-and-benchmarks/-/issues/23">Dumping/restoring a 1 TiB database benchmarks</a> (by Vitaly from Postgres.ai)</li><li><a href="https://blog.pgaddict.com/pdf/filesystem-benchmark-pgconfeu-2015.pdf">PostgreSQL on EXT3/4, XFS, BTRFS and ZFS</a> (talk slides from Tomas Vondra)</li><li><a href="https://smalldatum.blogspot.com/2023/01/the-insert-benchmark-on-arm-and-x86.html">Insert benchmark on ARM and x86 cloud servers</a> (blog post by Mark Callaghan)</li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> / <a href="https://twitter.com/michristofides">@michristofides</a> / <a href="https://twitter.com/PostgresFM">@PostgresFM</a>, or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/benchmarking">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss benchmarking — reasons to do it, and some approaches, tools, and resources that can help.<br> <br>Here are links to a few things we mentioned: </p><ul><li><a href="https://akorotkov.github.io/blog/2016/05/09/scalability-towards-millions-tps/">Towards Millions TPS</a> (blog post by Alexander Korotkov)</li><li><a href="https://postgres.fm/episodes/database-branching">Episode on testing</a> </li><li><a href="https://postgres.fm/episodes/buffers-by-default">Episode on buffers</a> </li><li><a href="https://www.postgresql.org/docs/current/pgbench.html">pgbench</a></li><li><a href="https://github.com/akopytov/sysbench">sysbench</a></li><li><a href="https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/improving-postgres-connection-scalability-snapshots/ba-p/1806462">Improving Postgres Connection Scalability</a> (blog post by Andres Freund)</li><li><a href="https://github.com/laurenz/pgreplay">pgreplay</a></li><li><a href="https://github.com/gocardless/pgreplay-go">pgreplay-go</a></li><li><a href="https://jmeter.apache.org/">JMeter</a></li><li><a href="https://github.com/powa-team/pg_qualstats">pg_qualstats</a></li><li><a href="https://github.com/pganalyze/libpg_query">pg_query</a></li><li><a href="https://www.slideshare.net/samokhvalov/the-art-of-database-experiments-postgresconf-silicon-valley-2018-san-jose">Database experimenting/benchmarking</a> (talk by Nikolay, 2018)</li><li><a href="https://www.pgcon.org/events/pgcon_2022/schedule/session/267-advanced-database-testing-in-cicd-pipelines/">Database testing</a> (talk by Nikolay at PGCon, 2022)</li><li><a href="https://www.brendangregg.com/sysperfbook.html">Systems Performance</a> (Brendan Gregg’s book, chapter 12)</li><li><a href="https://github.com/axboe/fio">fio</a></li><li><a href="https://www.netdata.cloud/">Netdata</a></li><li><a href="https://postgres.ai/blog/20210831-postgresql-subtransactions-considered-harmful">Subtransactions Considered Harmful</a> (blog post by Nikolay including Netdata exports)</li><li><a href="https://gitlab.com/postgres-ai/postgresql-consulting/tests-and-benchmarks/-/issues/15">WAL compression benchmarks</a> (by Vitaly from Postgres.ai)</li><li><a href="https://gitlab.com/postgres-ai/postgresql-consulting/tests-and-benchmarks/-/issues/23">Dumping/restoring a 1 TiB database benchmarks</a> (by Vitaly from Postgres.ai)</li><li><a href="https://blog.pgaddict.com/pdf/filesystem-benchmark-pgconfeu-2015.pdf">PostgreSQL on EXT3/4, XFS, BTRFS and ZFS</a> (talk slides from Tomas Vondra)</li><li><a href="https://smalldatum.blogspot.com/2023/01/the-insert-benchmark-on-arm-and-x86.html">Insert benchmark on ARM and x86 cloud servers</a> (blog post by Mark Callaghan)</li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> / <a href="https://twitter.com/michristofides">@michristofides</a> / <a href="https://twitter.com/PostgresFM">@PostgresFM</a>, or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/benchmarking">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 10 Feb 2023 13:30:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/7b27b461/e52018f2.mp3" length="35321588" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2206</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss benchmarking — reasons to do it, and some approaches, tools, and resources that can help.<br> <br>Here are links to a few things we mentioned: </p><ul><li><a href="https://akorotkov.github.io/blog/2016/05/09/scalability-towards-millions-tps/">Towards Millions TPS</a> (blog post by Alexander Korotkov)</li><li><a href="https://postgres.fm/episodes/database-branching">Episode on testing</a> </li><li><a href="https://postgres.fm/episodes/buffers-by-default">Episode on buffers</a> </li><li><a href="https://www.postgresql.org/docs/current/pgbench.html">pgbench</a></li><li><a href="https://github.com/akopytov/sysbench">sysbench</a></li><li><a href="https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/improving-postgres-connection-scalability-snapshots/ba-p/1806462">Improving Postgres Connection Scalability</a> (blog post by Andres Freund)</li><li><a href="https://github.com/laurenz/pgreplay">pgreplay</a></li><li><a href="https://github.com/gocardless/pgreplay-go">pgreplay-go</a></li><li><a href="https://jmeter.apache.org/">JMeter</a></li><li><a href="https://github.com/powa-team/pg_qualstats">pg_qualstats</a></li><li><a href="https://github.com/pganalyze/libpg_query">pg_query</a></li><li><a href="https://www.slideshare.net/samokhvalov/the-art-of-database-experiments-postgresconf-silicon-valley-2018-san-jose">Database experimenting/benchmarking</a> (talk by Nikolay, 2018)</li><li><a href="https://www.pgcon.org/events/pgcon_2022/schedule/session/267-advanced-database-testing-in-cicd-pipelines/">Database testing</a> (talk by Nikolay at PGCon, 2022)</li><li><a href="https://www.brendangregg.com/sysperfbook.html">Systems Performance</a> (Brendan Gregg’s book, chapter 12)</li><li><a href="https://github.com/axboe/fio">fio</a></li><li><a href="https://www.netdata.cloud/">Netdata</a></li><li><a href="https://postgres.ai/blog/20210831-postgresql-subtransactions-considered-harmful">Subtransactions Considered Harmful</a> (blog post by Nikolay including Netdata exports)</li><li><a href="https://gitlab.com/postgres-ai/postgresql-consulting/tests-and-benchmarks/-/issues/15">WAL compression benchmarks</a> (by Vitaly from Postgres.ai)</li><li><a href="https://gitlab.com/postgres-ai/postgresql-consulting/tests-and-benchmarks/-/issues/23">Dumping/restoring a 1 TiB database benchmarks</a> (by Vitaly from Postgres.ai)</li><li><a href="https://blog.pgaddict.com/pdf/filesystem-benchmark-pgconfeu-2015.pdf">PostgreSQL on EXT3/4, XFS, BTRFS and ZFS</a> (talk slides from Tomas Vondra)</li><li><a href="https://smalldatum.blogspot.com/2023/01/the-insert-benchmark-on-arm-and-x86.html">Insert benchmark on ARM and x86 cloud servers</a> (blog post by Mark Callaghan)</li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> / <a href="https://twitter.com/michristofides">@michristofides</a> / <a href="https://twitter.com/PostgresFM">@PostgresFM</a>, or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/benchmarking">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/7b27b461/transcript.txt" type="text/plain"/>
    </item>
    <item>
      <title>Default configuration</title>
      <itunes:episode>31</itunes:episode>
      <podcast:episode>31</podcast:episode>
      <itunes:title>Default configuration</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">2c1f83e9-b8f3-445b-81dc-c774e8ef7bf7</guid>
      <link>https://share.transistor.fm/s/bbe6cd84</link>
      <description>
        <![CDATA[<p>Nikolay and Michael discuss the default config — some tools and principles you can use to customise it, as well as several parameters you probably always want to change.</p><p>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/docs/current/runtime-config-resource.html">shared_buffers</a></li><li><a href="https://twitter.com/AndresFreundTec/status/1438591082770563077">Andres Freund tweets about shared_buffers</a> </li><li><a href="https://pgtune.leopard.in.ua/">PGTune Leopard</a> </li><li><a href="https://pgconfigurator.cybertec.at/">Cybertec Configurator</a></li><li><a href="https://www.postgresql.org/docs/current/pgstatstatements.html">pg_stat_statements</a></li><li><a href="https://www.postgresql.org/docs/current/jit-configuration.html">JIT configuration</a></li><li><a href="https://postgresqlco.nf/">postgresqlco.nf</a></li><li><a href="https://github.com/jberkus/annotated.conf">annotated.conf</a></li><li><a href="https://ottertune.com/">OtterTune</a></li><li><a href="https://www.postgresql.org/docs/current/runtime-config-resource.html#GUC-WORK-MEM">work_mem</a></li><li><a href="https://www.postgresql.org/docs/current/runtime-config-query.html#GUC-RANDOM-PAGE-COST">random_page_cost</a></li><li><a href="https://www.postgresql.org/docs/current/runtime-config-connection.html#GUC-MAX-CONNECTIONS">max_connections</a></li><li><a href="https://www.postgresql.org/docs/current/runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-WHAT">What to log</a></li><li><a href="https://www.postgresql.org/docs/current/runtime-config-wal.html#GUC-MAX-WAL-SIZE">max_wal_size</a></li><li><a href="https://postgres.fm/episodes/wal-and-checkpoint-tuning">WAL and checkpoint tuning episode</a> </li><li><a href="https://www.postgresql.org/docs/current/runtime-config-query.html#GUC-EFFECTIVE-CACHE-SIZE">effective_cache_size</a></li><li><a href="https://www.enterprisedb.com/postgres-tutorials/introduction-postgresql-performance-tuning-and-optimization">Intro to Performance Tuning and Optimization</a> (EDB guide)</li><li><a href="https://www.postgresql.org/docs/current/runtime-config-resource.html#GUC-MAX-PARALLEL-WORKERS-PER-GATHER">max_parallel_workers_per_gather</a> </li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> / <a href="https://twitter.com/michristofides">@michristofides</a> / <a href="https://twitter.com/PostgresFM">@PostgresFM</a>, or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/default-configuration">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Nikolay and Michael discuss the default config — some tools and principles you can use to customise it, as well as several parameters you probably always want to change.</p><p>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/docs/current/runtime-config-resource.html">shared_buffers</a></li><li><a href="https://twitter.com/AndresFreundTec/status/1438591082770563077">Andres Freund tweets about shared_buffers</a> </li><li><a href="https://pgtune.leopard.in.ua/">PGTune Leopard</a> </li><li><a href="https://pgconfigurator.cybertec.at/">Cybertec Configurator</a></li><li><a href="https://www.postgresql.org/docs/current/pgstatstatements.html">pg_stat_statements</a></li><li><a href="https://www.postgresql.org/docs/current/jit-configuration.html">JIT configuration</a></li><li><a href="https://postgresqlco.nf/">postgresqlco.nf</a></li><li><a href="https://github.com/jberkus/annotated.conf">annotated.conf</a></li><li><a href="https://ottertune.com/">OtterTune</a></li><li><a href="https://www.postgresql.org/docs/current/runtime-config-resource.html#GUC-WORK-MEM">work_mem</a></li><li><a href="https://www.postgresql.org/docs/current/runtime-config-query.html#GUC-RANDOM-PAGE-COST">random_page_cost</a></li><li><a href="https://www.postgresql.org/docs/current/runtime-config-connection.html#GUC-MAX-CONNECTIONS">max_connections</a></li><li><a href="https://www.postgresql.org/docs/current/runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-WHAT">What to log</a></li><li><a href="https://www.postgresql.org/docs/current/runtime-config-wal.html#GUC-MAX-WAL-SIZE">max_wal_size</a></li><li><a href="https://postgres.fm/episodes/wal-and-checkpoint-tuning">WAL and checkpoint tuning episode</a> </li><li><a href="https://www.postgresql.org/docs/current/runtime-config-query.html#GUC-EFFECTIVE-CACHE-SIZE">effective_cache_size</a></li><li><a href="https://www.enterprisedb.com/postgres-tutorials/introduction-postgresql-performance-tuning-and-optimization">Intro to Performance Tuning and Optimization</a> (EDB guide)</li><li><a href="https://www.postgresql.org/docs/current/runtime-config-resource.html#GUC-MAX-PARALLEL-WORKERS-PER-GATHER">max_parallel_workers_per_gather</a> </li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> / <a href="https://twitter.com/michristofides">@michristofides</a> / <a href="https://twitter.com/PostgresFM">@PostgresFM</a>, or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/default-configuration">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 03 Feb 2023 13:30:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/bbe6cd84/2f1ab369.mp3" length="31079125" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>1941</itunes:duration>
      <itunes:summary>
        <![CDATA[<p>Nikolay and Michael discuss the default config — some tools and principles you can use to customise it, as well as several parameters you probably always want to change.</p><p>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/docs/current/runtime-config-resource.html">shared_buffers</a></li><li><a href="https://twitter.com/AndresFreundTec/status/1438591082770563077">Andres Freund tweets about shared_buffers</a> </li><li><a href="https://pgtune.leopard.in.ua/">PGTune Leopard</a> </li><li><a href="https://pgconfigurator.cybertec.at/">Cybertec Configurator</a></li><li><a href="https://www.postgresql.org/docs/current/pgstatstatements.html">pg_stat_statements</a></li><li><a href="https://www.postgresql.org/docs/current/jit-configuration.html">JIT configuration</a></li><li><a href="https://postgresqlco.nf/">postgresqlco.nf</a></li><li><a href="https://github.com/jberkus/annotated.conf">annotated.conf</a></li><li><a href="https://ottertune.com/">OtterTune</a></li><li><a href="https://www.postgresql.org/docs/current/runtime-config-resource.html#GUC-WORK-MEM">work_mem</a></li><li><a href="https://www.postgresql.org/docs/current/runtime-config-query.html#GUC-RANDOM-PAGE-COST">random_page_cost</a></li><li><a href="https://www.postgresql.org/docs/current/runtime-config-connection.html#GUC-MAX-CONNECTIONS">max_connections</a></li><li><a href="https://www.postgresql.org/docs/current/runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-WHAT">What to log</a></li><li><a href="https://www.postgresql.org/docs/current/runtime-config-wal.html#GUC-MAX-WAL-SIZE">max_wal_size</a></li><li><a href="https://postgres.fm/episodes/wal-and-checkpoint-tuning">WAL and checkpoint tuning episode</a> </li><li><a href="https://www.postgresql.org/docs/current/runtime-config-query.html#GUC-EFFECTIVE-CACHE-SIZE">effective_cache_size</a></li><li><a href="https://www.enterprisedb.com/postgres-tutorials/introduction-postgresql-performance-tuning-and-optimization">Intro to Performance Tuning and Optimization</a> (EDB guide)</li><li><a href="https://www.postgresql.org/docs/current/runtime-config-resource.html#GUC-MAX-PARALLEL-WORKERS-PER-GATHER">max_parallel_workers_per_gather</a> </li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> / <a href="https://twitter.com/michristofides">@michristofides</a> / <a href="https://twitter.com/PostgresFM">@PostgresFM</a>, or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/default-configuration">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </itunes:summary>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
    </item>
    <item>
      <title>Infra cost optimization</title>
      <itunes:episode>30</itunes:episode>
      <podcast:episode>30</podcast:episode>
      <itunes:title>Infra cost optimization</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">594fb424-38eb-42f6-b944-d352333263e9</guid>
      <link>https://share.transistor.fm/s/bf95e990</link>
      <description>
        <![CDATA[<p>Here are links to a few things we mentioned: </p><ul><li><a href="https://a16z.com/2021/05/27/cost-of-cloud-paradox-market-cap-cloud-lifecycle-scale-growth-repatriation-optimization/">The Cost of Cloud, a Trillion Dollar Paradox</a> (blog post from Andreessen Horowitz)</li><li><a href="https://www.ovhcloud.com/en-gb/">OVH</a></li><li><a href="https://www.hetzner.com/">Hetzner</a></li><li><a href="https://github.com/vitabaks/postgresql_cluster">postgresql_cluster</a></li><li><a href="https://world.hey.com/dhh/why-we-re-leaving-the-cloud-654b47e0">Why we're leaving the cloud</a> (blog post by DHH from Basecamp)</li><li><a href="https://postgres.fm/episodes/managed-services-vs-diy">Managed services vs. DIY episode</a></li><li><a href="http://ec2instances.info">ec2instances.info</a></li><li><a href="https://www.vantage.sh/">Vantage</a></li><li><a href="https://www.youtube.com/watch?v=ZPL-j0pJPiY">Postgres TV episode with Everett Berry from Vantage</a></li><li><a href="https://gridium.com/migrating-to-aurora-easy-except-the-bill/">Migrating to Aurora: easy except the bill</a> (blog post by Kimberly Nicholls from Gridium)</li><li><a href="https://github.com/postgres-ai/database-lab-engine">Database Lab Engine</a></li><li><a href="https://postgres.ai/consulting">Postgres.ai consulting</a></li><li><a href="https://www.netdata.cloud/">Netdata</a></li><li><a href="https://github.com/akopytov/sysbench">sysbench</a></li><li><a href="https://github.com/axboe/fio">fio</a></li><li><a href="https://postgres.fm/episodes/macro-query-analysis-intro">Query macro analysis episode</a></li><li><a href="https://gist.github.com/mchristofides/3609be1ebd96a8bdba10446c35ca482c">Top queries by buffers</a> (Gist from Michael)</li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> / <a href="https://twitter.com/michristofides">@michristofides</a> / <a href="https://twitter.com/PostgresFM">@PostgresFM</a>, or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/infra-cost-optimization">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Here are links to a few things we mentioned: </p><ul><li><a href="https://a16z.com/2021/05/27/cost-of-cloud-paradox-market-cap-cloud-lifecycle-scale-growth-repatriation-optimization/">The Cost of Cloud, a Trillion Dollar Paradox</a> (blog post from Andreessen Horowitz)</li><li><a href="https://www.ovhcloud.com/en-gb/">OVH</a></li><li><a href="https://www.hetzner.com/">Hetzner</a></li><li><a href="https://github.com/vitabaks/postgresql_cluster">postgresql_cluster</a></li><li><a href="https://world.hey.com/dhh/why-we-re-leaving-the-cloud-654b47e0">Why we're leaving the cloud</a> (blog post by DHH from Basecamp)</li><li><a href="https://postgres.fm/episodes/managed-services-vs-diy">Managed services vs. DIY episode</a></li><li><a href="http://ec2instances.info">ec2instances.info</a></li><li><a href="https://www.vantage.sh/">Vantage</a></li><li><a href="https://www.youtube.com/watch?v=ZPL-j0pJPiY">Postgres TV episode with Everett Berry from Vantage</a></li><li><a href="https://gridium.com/migrating-to-aurora-easy-except-the-bill/">Migrating to Aurora: easy except the bill</a> (blog post by Kimberly Nicholls from Gridium)</li><li><a href="https://github.com/postgres-ai/database-lab-engine">Database Lab Engine</a></li><li><a href="https://postgres.ai/consulting">Postgres.ai consulting</a></li><li><a href="https://www.netdata.cloud/">Netdata</a></li><li><a href="https://github.com/akopytov/sysbench">sysbench</a></li><li><a href="https://github.com/axboe/fio">fio</a></li><li><a href="https://postgres.fm/episodes/macro-query-analysis-intro">Query macro analysis episode</a></li><li><a href="https://gist.github.com/mchristofides/3609be1ebd96a8bdba10446c35ca482c">Top queries by buffers</a> (Gist from Michael)</li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> / <a href="https://twitter.com/michristofides">@michristofides</a> / <a href="https://twitter.com/PostgresFM">@PostgresFM</a>, or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/infra-cost-optimization">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 27 Jan 2023 13:30:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/bf95e990/6c0dfaf0.mp3" length="26910086" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>1680</itunes:duration>
      <itunes:summary>Nikolay and Michael discuss some options for reducing costs — from big-effort-big-reward items, to some smaller things that could also be very impactful.</itunes:summary>
      <itunes:subtitle>Nikolay and Michael discuss some options for reducing costs — from big-effort-big-reward items, to some smaller things that could also be very impactful.</itunes:subtitle>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/bf95e990/transcript.txt" type="text/plain"/>
    </item>
    <item>
      <title>Auditing</title>
      <itunes:episode>29</itunes:episode>
      <podcast:episode>29</podcast:episode>
      <itunes:title>Auditing</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">732eac1f-650e-41e1-b4ff-fe3388459938</guid>
      <link>https://share.transistor.fm/s/ccba2f3a</link>
      <description>
        <![CDATA[<p>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.crunchydata.com/blog/announcing-the-crunchy-data-postgresql-stig">Crunchy Data PostgreSQL Security Technical Implementation Guide</a> (STIG)</li><li><a href="https://www.pgaudit.org/">pgAudit</a> (site)</li><li><a href="https://github.com/pgaudit/pgaudit">pgAudit</a> (repo)</li><li><a href="https://gitlab.com/ongresinc/extensions/noset/">noset</a> (extension)</li><li><a href="https://www.splunk.com/">Splunk</a></li><li><a href="https://www.elastic.co/kibana/">Kibana</a></li><li><a href="https://www.timescale.com/">Timescale</a></li><li><a href="https://www.postgresql.org/docs/current/sql-createtrigger.html">CREATE TRIGGER docs</a></li><li><a href="http://databasedoings.blogspot.com/2017/07/cool-stuff-in-postgresql-10-transition.html">Transition table triggers</a> (blog post by David Fetter)</li><li><a href="https://www.alberton.info/postgresql_table_audit.html">Table Audit</a> (blog post by Lorenzo Alberton)</li><li><a href="https://www.cybertec-postgresql.com/en/row-change-auditing-options-for-postgresql/">Row change auditing options</a> (blog post by CYBERTEC)</li><li><a href="https://www.youtube.com/watch?v=71eD53ltbMs">Hydra founders interview</a> (on Postgres TV)</li><li><a href="https://pgpedia.info/m/max_slot_wal_keep_size.html">max_slot_wal_keep_size</a></li><li><a href="https://en.wikipedia.org/wiki/EBPF">eBPF</a></li><li><a href="https://www.youtube.com/watch?v=tvJgMV-8nfU">Building a perf-like tool for PostgreSQL</a> (talk by Ronan Dunklau)</li><li><a href="https://www.youtube.com/watch?v=J9CegWlWyKo">Party tricks for PostgreSQL: perf, ftrace and bpftrace</a> (talk by Dmitry Dolgov)</li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> / <a href="https://twitter.com/michristofides">@michristofides</a> / <a href="https://twitter.com/PostgresFM">@PostgresFM</a>, or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/auditing">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.crunchydata.com/blog/announcing-the-crunchy-data-postgresql-stig">Crunchy Data PostgreSQL Security Technical Implementation Guide</a> (STIG)</li><li><a href="https://www.pgaudit.org/">pgAudit</a> (site)</li><li><a href="https://github.com/pgaudit/pgaudit">pgAudit</a> (repo)</li><li><a href="https://gitlab.com/ongresinc/extensions/noset/">noset</a> (extension)</li><li><a href="https://www.splunk.com/">Splunk</a></li><li><a href="https://www.elastic.co/kibana/">Kibana</a></li><li><a href="https://www.timescale.com/">Timescale</a></li><li><a href="https://www.postgresql.org/docs/current/sql-createtrigger.html">CREATE TRIGGER docs</a></li><li><a href="http://databasedoings.blogspot.com/2017/07/cool-stuff-in-postgresql-10-transition.html">Transition table triggers</a> (blog post by David Fetter)</li><li><a href="https://www.alberton.info/postgresql_table_audit.html">Table Audit</a> (blog post by Lorenzo Alberton)</li><li><a href="https://www.cybertec-postgresql.com/en/row-change-auditing-options-for-postgresql/">Row change auditing options</a> (blog post by CYBERTEC)</li><li><a href="https://www.youtube.com/watch?v=71eD53ltbMs">Hydra founders interview</a> (on Postgres TV)</li><li><a href="https://pgpedia.info/m/max_slot_wal_keep_size.html">max_slot_wal_keep_size</a></li><li><a href="https://en.wikipedia.org/wiki/EBPF">eBPF</a></li><li><a href="https://www.youtube.com/watch?v=tvJgMV-8nfU">Building a perf-like tool for PostgreSQL</a> (talk by Ronan Dunklau)</li><li><a href="https://www.youtube.com/watch?v=J9CegWlWyKo">Party tricks for PostgreSQL: perf, ftrace and bpftrace</a> (talk by Dmitry Dolgov)</li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> / <a href="https://twitter.com/michristofides">@michristofides</a> / <a href="https://twitter.com/PostgresFM">@PostgresFM</a>, or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/auditing">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 20 Jan 2023 13:30:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/ccba2f3a/9f3f1072.mp3" length="34138184" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2132</itunes:duration>
      <itunes:summary>Nikolay and Michael discuss auditing — why we might want it, what the options are, and even an idea for a future solution...</itunes:summary>
      <itunes:subtitle>Nikolay and Michael discuss auditing — why we might want it, what the options are, and even an idea for a future solution...</itunes:subtitle>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/ccba2f3a/transcript.txt" type="text/plain"/>
    </item>
    <item>
      <title>Copying a database</title>
      <itunes:episode>28</itunes:episode>
      <podcast:episode>28</podcast:episode>
      <itunes:title>Copying a database</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">f21ed25d-76d0-44ca-b203-f5f80e214413</guid>
      <link>https://share.transistor.fm/s/2fce9ce9</link>
      <description>
        <![CDATA[<p>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/docs/current/app-pgdump.html%20">pg_dump</a> </li><li><a href="https://www.postgresql.org/docs/current/app-pgrestore.html">pg_restore</a>  </li><li><a href="https://github.com/dimitri/pgcopydb">pgcopydb</a> (tool by Dimitri Fontaine)  </li><li><a href="https://paquier.xyz/postgresql-2/postgres-9-5-feature-highlight-pg-dump-snapshots/">pg_dump and external snapshots</a> (blog post by Michael Paquier) </li><li><a href="https://www.brendangregg.com/systems-performance-2nd-edition-book.html">Systems Performance</a> (book by Brendan Gregg)  </li><li><a href="https://www.youtube.com/watch?v=FJW8nGV4jxY">Performance troubleshooting methodologies</a> (two part talk by Brendan Gregg)  </li><li><a href="https://www.postgresql.org/docs/current/app-pgbasebackup.html">pg_basebackup</a>  </li><li><a href="https://github.com/wal-g/wal-g">wal-g</a> </li><li><a href="https://pgbackrest.org/">pgBackRest</a> </li><li><a href="https://github.com/postgres-ai/database-lab-engine">Database Lab Engine</a>  </li><li><a href="https://postgres.fm/episodes/database-branching">Database branching episode</a>  </li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> / <a href="https://twitter.com/michristofides">@michristofides</a> / <a href="https://twitter.com/PostgresFM">@PostgresFM</a>, or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/copying-a-database">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/docs/current/app-pgdump.html%20">pg_dump</a> </li><li><a href="https://www.postgresql.org/docs/current/app-pgrestore.html">pg_restore</a>  </li><li><a href="https://github.com/dimitri/pgcopydb">pgcopydb</a> (tool by Dimitri Fontaine)  </li><li><a href="https://paquier.xyz/postgresql-2/postgres-9-5-feature-highlight-pg-dump-snapshots/">pg_dump and external snapshots</a> (blog post by Michael Paquier) </li><li><a href="https://www.brendangregg.com/systems-performance-2nd-edition-book.html">Systems Performance</a> (book by Brendan Gregg)  </li><li><a href="https://www.youtube.com/watch?v=FJW8nGV4jxY">Performance troubleshooting methodologies</a> (two part talk by Brendan Gregg)  </li><li><a href="https://www.postgresql.org/docs/current/app-pgbasebackup.html">pg_basebackup</a>  </li><li><a href="https://github.com/wal-g/wal-g">wal-g</a> </li><li><a href="https://pgbackrest.org/">pgBackRest</a> </li><li><a href="https://github.com/postgres-ai/database-lab-engine">Database Lab Engine</a>  </li><li><a href="https://postgres.fm/episodes/database-branching">Database branching episode</a>  </li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> / <a href="https://twitter.com/michristofides">@michristofides</a> / <a href="https://twitter.com/PostgresFM">@PostgresFM</a>, or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/copying-a-database">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 13 Jan 2023 13:30:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/2fce9ce9/e2812ae1.mp3" length="33132556" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2365</itunes:duration>
      <itunes:summary>Nikolay and Michael discuss copying a database — what the various options are, how to copy large databases, and some pointers on performance.</itunes:summary>
      <itunes:subtitle>Nikolay and Michael discuss copying a database — what the various options are, how to copy large databases, and some pointers on performance.</itunes:subtitle>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/2fce9ce9/transcript.txt" type="text/plain"/>
    </item>
    <item>
      <title>Transaction ID wraparound</title>
      <itunes:episode>27</itunes:episode>
      <podcast:episode>27</podcast:episode>
      <itunes:title>Transaction ID wraparound</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">4315e4ff-ad9e-45d8-9a3f-660c7b71f6d8</guid>
      <link>https://share.transistor.fm/s/aacb5162</link>
      <description>
        <![CDATA[<p>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.interdb.jp/pg/pgsql05.html">The Internals of PostgreSQL chapter 5</a> (book by Hironobu SUZUKI) </li><li><a href="https://edu.postgrespro.com/postgresql_internals-14_parts1-4_en.pdf">PostgreSQL 14 internals chapter 7</a> (book by Egor Rogov)  </li><li><a href="https://blog.sentry.io/2015/07/23/transaction-id-wraparound-in-postgres/">Transaction ID Wraparound</a> (blog post from Sentry) </li><li><a href="https://mailchimp.com/en-gb/what-we-learned-from-the-recent-mandrill-outage/">What We Learned from the Recent Mandrill Outage</a> (blog post from Mailchimp) </li><li><a href="https://fatdba.com/2021/07/20/how-to-simulate-the-deadly-transaction-wraparound-problem-in-postgresql/">How to simulate transaction ID wraparound</a> (blog post by Prashant Dixit)</li><li><a href="https://commitfest.postgresql.org/41/3594/">Add 64-bit XIDs into PostgreSQL 16</a> (commitfest entry)  </li><li><a href="https://www.postgresql.org/docs/current/ddl-partitioning.html">Partitioning</a> (docs)  </li><li><a href="https://twitter.com/petervgeoghegan/status/1350259956117692425">Consider using VACUUM’s INDEX_CLEANUP option</a> (tweet by Peter Geoghan) </li><li><a href="https://github.com/postgres/postgres/commit/1e55e7d1755cefbb44982fbacc7da461fa8684e6">Add wraparound failsafe to VACUUM</a> (commit) </li><li><a href="https://www.youtube.com/watch?v=JcRi8Z7rkPg&amp;themeRefresh=1">Do you vacuum everyday?</a> (talk by Hannu Krosing) </li><li><a href="https://www.postgresql.org/message-id/flat/B38B34EC5621E34DABCE13E8B18936E602DC2C14BE57%40EXSERV.Gallup.tns">Multixacts wraparound monitoring</a> (mailing list thread) </li><li><a href="https://postgres.ai/blog/20210831-postgresql-subtransactions-considered-harmful">Subtransactions Considered Harmful</a> (blog post by Nikolay) </li><li><a href="https://www.youtube.com/watch?v=9Veg6ATpK2o">Buffer management in PostgreSQL</a> (talk by Alexander Korotkov) </li><li><a href="https://github.com/orioledb/orioledb">OrioleDB</a> </li><li><a href="https://www.postgresql.org/docs/current/pageinspect.html">pageinspect</a></li><li><a href="https://github.com/petergeoghegan/pg_hexedit">pg_hexedit</a>  </li><li><a href="https://www.postgresql.org/docs/current/pgvisibility.html">pg_visibility</a>  </li><li><a href="https://www.postgresql.org/docs/current/storage-vm.html">Visibility Map</a> (docs)</li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> / <a href="https://twitter.com/michristofides">@michristofides</a> / <a href="https://twitter.com/PostgresFM">@PostgresFM</a>, or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/transaction-id-wraparound">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.interdb.jp/pg/pgsql05.html">The Internals of PostgreSQL chapter 5</a> (book by Hironobu SUZUKI) </li><li><a href="https://edu.postgrespro.com/postgresql_internals-14_parts1-4_en.pdf">PostgreSQL 14 internals chapter 7</a> (book by Egor Rogov)  </li><li><a href="https://blog.sentry.io/2015/07/23/transaction-id-wraparound-in-postgres/">Transaction ID Wraparound</a> (blog post from Sentry) </li><li><a href="https://mailchimp.com/en-gb/what-we-learned-from-the-recent-mandrill-outage/">What We Learned from the Recent Mandrill Outage</a> (blog post from Mailchimp) </li><li><a href="https://fatdba.com/2021/07/20/how-to-simulate-the-deadly-transaction-wraparound-problem-in-postgresql/">How to simulate transaction ID wraparound</a> (blog post by Prashant Dixit)</li><li><a href="https://commitfest.postgresql.org/41/3594/">Add 64-bit XIDs into PostgreSQL 16</a> (commitfest entry)  </li><li><a href="https://www.postgresql.org/docs/current/ddl-partitioning.html">Partitioning</a> (docs)  </li><li><a href="https://twitter.com/petervgeoghegan/status/1350259956117692425">Consider using VACUUM’s INDEX_CLEANUP option</a> (tweet by Peter Geoghan) </li><li><a href="https://github.com/postgres/postgres/commit/1e55e7d1755cefbb44982fbacc7da461fa8684e6">Add wraparound failsafe to VACUUM</a> (commit) </li><li><a href="https://www.youtube.com/watch?v=JcRi8Z7rkPg&amp;themeRefresh=1">Do you vacuum everyday?</a> (talk by Hannu Krosing) </li><li><a href="https://www.postgresql.org/message-id/flat/B38B34EC5621E34DABCE13E8B18936E602DC2C14BE57%40EXSERV.Gallup.tns">Multixacts wraparound monitoring</a> (mailing list thread) </li><li><a href="https://postgres.ai/blog/20210831-postgresql-subtransactions-considered-harmful">Subtransactions Considered Harmful</a> (blog post by Nikolay) </li><li><a href="https://www.youtube.com/watch?v=9Veg6ATpK2o">Buffer management in PostgreSQL</a> (talk by Alexander Korotkov) </li><li><a href="https://github.com/orioledb/orioledb">OrioleDB</a> </li><li><a href="https://www.postgresql.org/docs/current/pageinspect.html">pageinspect</a></li><li><a href="https://github.com/petergeoghegan/pg_hexedit">pg_hexedit</a>  </li><li><a href="https://www.postgresql.org/docs/current/pgvisibility.html">pg_visibility</a>  </li><li><a href="https://www.postgresql.org/docs/current/storage-vm.html">Visibility Map</a> (docs)</li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> / <a href="https://twitter.com/michristofides">@michristofides</a> / <a href="https://twitter.com/PostgresFM">@PostgresFM</a>, or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/transaction-id-wraparound">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 06 Jan 2023 13:30:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/aacb5162/d67d43ce.mp3" length="33840661" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2114</itunes:duration>
      <itunes:summary>Nikolay and Michael discuss transaction ID wraparound — what it is, and some ideas to minimise the risk of it ever happening to you!</itunes:summary>
      <itunes:subtitle>Nikolay and Michael discuss transaction ID wraparound — what it is, and some ideas to minimise the risk of it ever happening to you!</itunes:subtitle>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
    </item>
    <item>
      <title>Postgres year in review 2022</title>
      <itunes:episode>26</itunes:episode>
      <podcast:episode>26</podcast:episode>
      <itunes:title>Postgres year in review 2022</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">aa8020ce-e925-47a3-858c-6e01693486a4</guid>
      <link>https://share.transistor.fm/s/c70fa15f</link>
      <description>
        <![CDATA[<p>Here are links to a few things we mentioned: </p><p>1. Startups building momentum</p><ul><li><a href="https://aiven.io/press/Aiven-raises-210M-to-invest-in-sustainable-open-source-cloud">Aiven raised $210m</a>  </li><li><a href="https://www.timescale.com/blog/year-of-the-tiger-110-million-to-build-the-future-of-data-for-developers-worldwide/">Timescale raised $110m</a>  </li><li><a href="https://hasura.io/blog/seriesc-100m-graphql-for-everyone/">Hasura raised $100m</a>  </li><li><a href="https://supabase.com/blog/supabase-series-b">Supabase raised $80m</a>  </li><li><a href="https://neon.tech/blog/funding-a1/%20">Neon raised $30m</a> </li><li><a href="https://hydra.so/">Hydra</a>  </li><li><a href="https://www.orioledata.com/">OrioleDB</a>  </li></ul><p>2. Educational resources</p><ul><li><a href="https://postgres.fm/">Postgres FM started</a> 👋</li><li><a href="https://www.youtube.com/PostgresTV">Postgres TV became more active</a> (including topic playlists)  </li><li><a href="https://twitter.com/tobias_petry">Tobias Petry tips on Twitter</a> and <a href="https://sqlfordevs.com/">SQL for Devs</a>  </li><li><a href="https://www.youtube.com/@hnasr%20">Hussein Nasser YouTube channel</a> (backend engineering) </li><li><a href="https://postgresweekly.com/">Postgres Weekly</a> (newsletter) </li></ul><p>3. Sharding progress</p><ul><li><a href="https://www.citusdata.com/blog/2022/06/17/citus-11-goes-fully-open-source/">Citus goes fully open source</a>  </li><li><a href="https://github.com/pg-sharding/spqr">SPQR</a>  </li><li><a href="https://github.com/levkk/pgcat%20">pgcat</a> </li><li><a href="https://www.notion.so/blog/sharding-postgres-at-notion%20">Sharding Postgres at Notion</a> (blog post) </li><li><a href="https://planetscale.com/">PlanetScale</a> (MySQL) </li></ul><p>4. Database branching is coming</p><ul><li><a href="https://github.com/postgres-ai/database-lab-engine">Database Lab Engine</a>  </li><li><a href="https://neon.tech/docs/introduction/branching/">Neon branching</a> </li><li><a href="https://github.com/orioledb/orioledb/wiki/Database-branching">OrioleDB branching</a>  </li><li><a href="https://www.crunchydata.com/products/crunchy-bridge%20">Crunchy Bridge</a> </li><li><a href="https://postgres.fm/episodes/database-branching">Database branching episode</a>  </li></ul><p>5. Postgres is everywhere</p><ul><li>All cloud providers</li><li><a href="https://cloud.google.com/alloydb">AlloyDB announced</a> </li><li><a href="https://blog.palark.com/cloudnativepg-and-other-kubernetes-operators-for-postgresql/%20">Kubernetes operators</a> (comparison blog post) </li></ul><p><br></p><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> / <a href="https://twitter.com/michristofides">@michristofides</a> / <a href="https://twitter.com/PostgresFM">@PostgresFM</a>, or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/postgres-year-in-review-2022">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Here are links to a few things we mentioned: </p><p>1. Startups building momentum</p><ul><li><a href="https://aiven.io/press/Aiven-raises-210M-to-invest-in-sustainable-open-source-cloud">Aiven raised $210m</a>  </li><li><a href="https://www.timescale.com/blog/year-of-the-tiger-110-million-to-build-the-future-of-data-for-developers-worldwide/">Timescale raised $110m</a>  </li><li><a href="https://hasura.io/blog/seriesc-100m-graphql-for-everyone/">Hasura raised $100m</a>  </li><li><a href="https://supabase.com/blog/supabase-series-b">Supabase raised $80m</a>  </li><li><a href="https://neon.tech/blog/funding-a1/%20">Neon raised $30m</a> </li><li><a href="https://hydra.so/">Hydra</a>  </li><li><a href="https://www.orioledata.com/">OrioleDB</a>  </li></ul><p>2. Educational resources</p><ul><li><a href="https://postgres.fm/">Postgres FM started</a> 👋</li><li><a href="https://www.youtube.com/PostgresTV">Postgres TV became more active</a> (including topic playlists)  </li><li><a href="https://twitter.com/tobias_petry">Tobias Petry tips on Twitter</a> and <a href="https://sqlfordevs.com/">SQL for Devs</a>  </li><li><a href="https://www.youtube.com/@hnasr%20">Hussein Nasser YouTube channel</a> (backend engineering) </li><li><a href="https://postgresweekly.com/">Postgres Weekly</a> (newsletter) </li></ul><p>3. Sharding progress</p><ul><li><a href="https://www.citusdata.com/blog/2022/06/17/citus-11-goes-fully-open-source/">Citus goes fully open source</a>  </li><li><a href="https://github.com/pg-sharding/spqr">SPQR</a>  </li><li><a href="https://github.com/levkk/pgcat%20">pgcat</a> </li><li><a href="https://www.notion.so/blog/sharding-postgres-at-notion%20">Sharding Postgres at Notion</a> (blog post) </li><li><a href="https://planetscale.com/">PlanetScale</a> (MySQL) </li></ul><p>4. Database branching is coming</p><ul><li><a href="https://github.com/postgres-ai/database-lab-engine">Database Lab Engine</a>  </li><li><a href="https://neon.tech/docs/introduction/branching/">Neon branching</a> </li><li><a href="https://github.com/orioledb/orioledb/wiki/Database-branching">OrioleDB branching</a>  </li><li><a href="https://www.crunchydata.com/products/crunchy-bridge%20">Crunchy Bridge</a> </li><li><a href="https://postgres.fm/episodes/database-branching">Database branching episode</a>  </li></ul><p>5. Postgres is everywhere</p><ul><li>All cloud providers</li><li><a href="https://cloud.google.com/alloydb">AlloyDB announced</a> </li><li><a href="https://blog.palark.com/cloudnativepg-and-other-kubernetes-operators-for-postgresql/%20">Kubernetes operators</a> (comparison blog post) </li></ul><p><br></p><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> / <a href="https://twitter.com/michristofides">@michristofides</a> / <a href="https://twitter.com/PostgresFM">@PostgresFM</a>, or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/postgres-year-in-review-2022">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 30 Dec 2022 13:30:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/c70fa15f/1ce986bd.mp3" length="32111188" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2006</itunes:duration>
      <itunes:summary>Nikolay and Michael discuss some highlights from the Postgres ecosystem this year — including exciting startups, educational resources, sharding, and more.</itunes:summary>
      <itunes:subtitle>Nikolay and Michael discuss some highlights from the Postgres ecosystem this year — including exciting startups, educational resources, sharding, and more.</itunes:subtitle>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/c70fa15f/transcript.txt" type="text/plain"/>
    </item>
    <item>
      <title>Row estimates</title>
      <itunes:episode>25</itunes:episode>
      <podcast:episode>25</podcast:episode>
      <itunes:title>Row estimates</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">24ad286f-92ad-4def-a91f-7a9573c9cc2e</guid>
      <link>https://share.transistor.fm/s/eb8e9b53</link>
      <description>
        <![CDATA[<p>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/docs/current/sql-analyze.html">ANALYZE</a> (docs)</li><li><a href="https://www.postgresql.org/docs/current/runtime-config-autovacuum.html">Autovacuum config</a> (docs)</li><li><a href="https://www.postgresql.org/docs/current/planner-stats.html">Statistics used by the planner</a> (docs) </li><li><a href="https://www.postgresql.org/docs/current/sql-createstatistics.html">CREATE STATISTICS</a> (docs) </li><li><a href="https://www.pgmustard.com/blog/2018/12/14/row-count-estimates-in-postgres">Row count estimates</a> (pgMustard blog post) </li><li><a href="https://github.com/ossc-db/pg_hint_plan">pg_hint_plan</a> </li><li><a href="https://www.youtube.com/watch?v=XA3SBgcZwtE">Optimizer methodology</a> (talk by Robert Haas) </li><li><a href="https://www.youtube.com/watch?v=8la-OWfD3VI">Tomáš Vondra on statistics and hints</a> (an excellent interview we forgot to mention, sorry!) </li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> / <a href="https://twitter.com/michristofides">@michristofides</a> / <a href="https://twitter.com/PostgresFM">@PostgresFM</a>, or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/row-estimates">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/docs/current/sql-analyze.html">ANALYZE</a> (docs)</li><li><a href="https://www.postgresql.org/docs/current/runtime-config-autovacuum.html">Autovacuum config</a> (docs)</li><li><a href="https://www.postgresql.org/docs/current/planner-stats.html">Statistics used by the planner</a> (docs) </li><li><a href="https://www.postgresql.org/docs/current/sql-createstatistics.html">CREATE STATISTICS</a> (docs) </li><li><a href="https://www.pgmustard.com/blog/2018/12/14/row-count-estimates-in-postgres">Row count estimates</a> (pgMustard blog post) </li><li><a href="https://github.com/ossc-db/pg_hint_plan">pg_hint_plan</a> </li><li><a href="https://www.youtube.com/watch?v=XA3SBgcZwtE">Optimizer methodology</a> (talk by Robert Haas) </li><li><a href="https://www.youtube.com/watch?v=8la-OWfD3VI">Tomáš Vondra on statistics and hints</a> (an excellent interview we forgot to mention, sorry!) </li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> / <a href="https://twitter.com/michristofides">@michristofides</a> / <a href="https://twitter.com/PostgresFM">@PostgresFM</a>, or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/row-estimates">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 23 Dec 2022 13:30:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/eb8e9b53/0fa506db.mp3" length="30593538" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>1911</itunes:duration>
      <itunes:summary>Nikolay and Michael discuss planner row estimation — how it can cause performance issues, how to spot problems, and various options we have to fix them.</itunes:summary>
      <itunes:subtitle>Nikolay and Michael discuss planner row estimation — how it can cause performance issues, how to spot problems, and various options we have to fix them.</itunes:subtitle>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/eb8e9b53/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Replication</title>
      <itunes:episode>24</itunes:episode>
      <podcast:episode>24</podcast:episode>
      <itunes:title>Replication</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">13a3b9bb-d04f-47b4-af61-0ccb81daa44f</guid>
      <link>https://share.transistor.fm/s/0d10e639</link>
      <description>
        <![CDATA[<p>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/docs/current/runtime-config-replication.html">Replication</a> (docs) </li><li><a href="https://www.postgresql.org/docs/9.0/release-9-0.html">9.0 release notes</a> (including built-in replication) </li><li><a href="https://www.slony.info/">Slony</a></li><li><a href="https://github.com/pgq/londiste">Londiste</a></li><li><a href="https://pgpedia.info/p/pg_is_in_recovery.html">pg_is_in_recovery</a> (pgPedia page) </li><li><a href="https://github.com/zalando/patroni">Patroni</a> </li><li><a href="https://guides.rubyonrails.org/active_record_multiple_databases.html">Multiple Databases with Active Record</a></li><li><a href="https://www.postgresql.org/docs/current/runtime-config-replication.html#GUC-HOT-STANDBY-FEEDBACK">hot_standby_feedback</a> (docs) </li><li><a href="https://postgresqlco.nf/doc/en/param/max_standby_archive_delay/">max_standby_archive_delay</a> or <a href="https://postgresqlco.nf/doc/en/param/max_standby_streaming_delay/">max_standby_streaming_delay</a> (for WAL-shipping and WAL-streaming respectively)</li><li><a href="https://postgresqlco.nf/doc/en/param/synchronous_commit/">synchronous_commit</a></li><li><a href="https://postgresqlco.nf/doc/en/param/synchronous_standby_names/">Synchronous replicas</a></li><li><a href="https://postgres.ai/docs/database-lab">Database Lab Engine</a> </li><li><a href="https://neon.tech/docs/introduction/branching/">Neon Branching</a>  </li><li><a href="https://www.youtube.com/watch?v=ILRdoq7UT3g">Past, Present, and Future of Logical Replication</a> (Postgres TV with Amit Kapila)  </li><li><a href="https://www.youtube.com/watch?v=SllJsbPVaow">Failover of logical replication slots in Patroni</a> (Postgres TV with Alexander Kukushkin)  </li><li><a href="https://postgres.ai/blog/20210831-postgresql-subtransactions-considered-harmful">PostgreSQL Subtransactions Considered Harmful</a> (blog post by Nikolay) </li><li><a href="https://about.gitlab.com/blog/2021/09/29/why-we-spent-the-last-month-eliminating-postgresql-subtransactions/">Why we spent the last month eliminating PostgreSQL subtransactions</a> (blog post by GitLab) </li><li><a href="https://www.fivetran.com/">Fivetran</a> </li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> / <a href="https://twitter.com/michristofides">@michristofides</a> / <a href="https://twitter.com/PostgresFM">@PostgresFM</a>, or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/replication">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/docs/current/runtime-config-replication.html">Replication</a> (docs) </li><li><a href="https://www.postgresql.org/docs/9.0/release-9-0.html">9.0 release notes</a> (including built-in replication) </li><li><a href="https://www.slony.info/">Slony</a></li><li><a href="https://github.com/pgq/londiste">Londiste</a></li><li><a href="https://pgpedia.info/p/pg_is_in_recovery.html">pg_is_in_recovery</a> (pgPedia page) </li><li><a href="https://github.com/zalando/patroni">Patroni</a> </li><li><a href="https://guides.rubyonrails.org/active_record_multiple_databases.html">Multiple Databases with Active Record</a></li><li><a href="https://www.postgresql.org/docs/current/runtime-config-replication.html#GUC-HOT-STANDBY-FEEDBACK">hot_standby_feedback</a> (docs) </li><li><a href="https://postgresqlco.nf/doc/en/param/max_standby_archive_delay/">max_standby_archive_delay</a> or <a href="https://postgresqlco.nf/doc/en/param/max_standby_streaming_delay/">max_standby_streaming_delay</a> (for WAL-shipping and WAL-streaming respectively)</li><li><a href="https://postgresqlco.nf/doc/en/param/synchronous_commit/">synchronous_commit</a></li><li><a href="https://postgresqlco.nf/doc/en/param/synchronous_standby_names/">Synchronous replicas</a></li><li><a href="https://postgres.ai/docs/database-lab">Database Lab Engine</a> </li><li><a href="https://neon.tech/docs/introduction/branching/">Neon Branching</a>  </li><li><a href="https://www.youtube.com/watch?v=ILRdoq7UT3g">Past, Present, and Future of Logical Replication</a> (Postgres TV with Amit Kapila)  </li><li><a href="https://www.youtube.com/watch?v=SllJsbPVaow">Failover of logical replication slots in Patroni</a> (Postgres TV with Alexander Kukushkin)  </li><li><a href="https://postgres.ai/blog/20210831-postgresql-subtransactions-considered-harmful">PostgreSQL Subtransactions Considered Harmful</a> (blog post by Nikolay) </li><li><a href="https://about.gitlab.com/blog/2021/09/29/why-we-spent-the-last-month-eliminating-postgresql-subtransactions/">Why we spent the last month eliminating PostgreSQL subtransactions</a> (blog post by GitLab) </li><li><a href="https://www.fivetran.com/">Fivetran</a> </li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> / <a href="https://twitter.com/michristofides">@michristofides</a> / <a href="https://twitter.com/PostgresFM">@PostgresFM</a>, or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/replication">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 16 Dec 2022 14:53:46 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/0d10e639/b2f197a6.mp3" length="36437889" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2276</itunes:duration>
      <itunes:summary>Nikolay takes Michael through the different replication options for Postgres — looking at different use cases, the options for each, and some things to be careful with.</itunes:summary>
      <itunes:subtitle>Nikolay takes Michael through the different replication options for Postgres — looking at different use cases, the options for each, and some things to be careful with.</itunes:subtitle>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/0d10e639/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Timestamps</title>
      <itunes:episode>23</itunes:episode>
      <podcast:episode>23</podcast:episode>
      <itunes:title>Timestamps</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">0e011f42-24bc-4aa6-9ee6-b3eb60b0a87e</guid>
      <link>https://share.transistor.fm/s/bdff626d</link>
      <description>
        <![CDATA[<p>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/docs/current/datatype-datetime.html%20">Date/Time Types</a> (docs) </li><li><a href="https://wiki.postgresql.org/wiki/Don't_Do_This#Don.27t_use_timestamp_.28without_time_zone.29">Don’t use timestamp without time zone</a> (wiki)  </li><li><a href="https://www.postgresql.org/docs/current/functions-datetime.html">Date/Time functions and operators</a> (docs)  </li><li><a href="https://www.enterprisedb.com/postgres-tutorials/postgres-time-zone-explained">Postgres AT TIME ZONE explained</a> (blog post by Bruce Momjian) </li><li><a href="https://postgres.fm/episodes/brin-indexes">Our episode on BRIN indexes</a>  </li><li><a href="https://github.com/postgrespro/rum">RUM indexes</a> </li><li><a href="https://www.postgresql.org/message-id/flat/6EE64EF3AB31D5448D0007DD34EEB3412A75D9%40Herge.rcsinc.local">allballs</a> (mailing list thread) </li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> / <a href="https://twitter.com/michristofides">@michristofides</a> / <a href="https://twitter.com/PostgresFM">@PostgresFM</a>, or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/timestamps">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/docs/current/datatype-datetime.html%20">Date/Time Types</a> (docs) </li><li><a href="https://wiki.postgresql.org/wiki/Don't_Do_This#Don.27t_use_timestamp_.28without_time_zone.29">Don’t use timestamp without time zone</a> (wiki)  </li><li><a href="https://www.postgresql.org/docs/current/functions-datetime.html">Date/Time functions and operators</a> (docs)  </li><li><a href="https://www.enterprisedb.com/postgres-tutorials/postgres-time-zone-explained">Postgres AT TIME ZONE explained</a> (blog post by Bruce Momjian) </li><li><a href="https://postgres.fm/episodes/brin-indexes">Our episode on BRIN indexes</a>  </li><li><a href="https://github.com/postgrespro/rum">RUM indexes</a> </li><li><a href="https://www.postgresql.org/message-id/flat/6EE64EF3AB31D5448D0007DD34EEB3412A75D9%40Herge.rcsinc.local">allballs</a> (mailing list thread) </li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> / <a href="https://twitter.com/michristofides">@michristofides</a> / <a href="https://twitter.com/PostgresFM">@PostgresFM</a>, or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/timestamps">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 09 Dec 2022 13:30:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/bdff626d/8fb0525c.mp3" length="22110291" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>1578</itunes:duration>
      <itunes:summary>Nikolay and Michael discuss timestamps and time math in Postgres — particularly around data type choice, functions available, and some things to watch out for.</itunes:summary>
      <itunes:subtitle>Nikolay and Michael discuss timestamps and time math in Postgres — particularly around data type choice, functions available, and some things to watch out for.</itunes:subtitle>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/bdff626d/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>PostgREST</title>
      <itunes:episode>22</itunes:episode>
      <podcast:episode>22</podcast:episode>
      <itunes:title>PostgREST</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">e03efdbf-42bb-4eb4-ac87-d01e21c193fe</guid>
      <link>https://share.transistor.fm/s/b1a85300</link>
      <description>
        <![CDATA[<p>Here are links to a few things we mentioned: </p><ul><li><a href="https://postgrest.org/en/stable/">PostgREST documentation</a></li><li><a href="https://supabase.com/">Supabase</a></li><li><a href="https://use-the-index-luke.com/no-offset">No offset</a> (blog post by Markus Winand)</li><li><a href="https://www.postgresql.org/docs/current/functions-json.html">JSON functions and operators</a> (PostgreSQL docs)</li><li><a href="https://postgres.fm/episodes/stored-procedures">Stored procedures</a> (a previous Postgres FM episode)</li><li><a href="https://www.graphile.org/postgraphile/">PostGraphile</a> </li><li><a href="https://hasura.io/">Hasura</a> </li><li><a href="https://en.wikipedia.org/wiki/Parse,_Inc.">Parse, Inc.</a> </li><li><a href="https://firebase.google.com/">Firebase</a></li><li><a href="https://postgresml.org/">PostgresML</a></li><li><a href="https://github.com/pgq/pgq">PgQ</a> </li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> / <a href="https://twitter.com/michristofides">@michristofides</a> / <a href="https://twitter.com/PostgresFM">@PostgresFM</a>, or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/postgrest">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Here are links to a few things we mentioned: </p><ul><li><a href="https://postgrest.org/en/stable/">PostgREST documentation</a></li><li><a href="https://supabase.com/">Supabase</a></li><li><a href="https://use-the-index-luke.com/no-offset">No offset</a> (blog post by Markus Winand)</li><li><a href="https://www.postgresql.org/docs/current/functions-json.html">JSON functions and operators</a> (PostgreSQL docs)</li><li><a href="https://postgres.fm/episodes/stored-procedures">Stored procedures</a> (a previous Postgres FM episode)</li><li><a href="https://www.graphile.org/postgraphile/">PostGraphile</a> </li><li><a href="https://hasura.io/">Hasura</a> </li><li><a href="https://en.wikipedia.org/wiki/Parse,_Inc.">Parse, Inc.</a> </li><li><a href="https://firebase.google.com/">Firebase</a></li><li><a href="https://postgresml.org/">PostgresML</a></li><li><a href="https://github.com/pgq/pgq">PgQ</a> </li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> / <a href="https://twitter.com/michristofides">@michristofides</a> / <a href="https://twitter.com/PostgresFM">@PostgresFM</a>, or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/postgrest">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 02 Dec 2022 15:59:16 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/b1a85300/50d28c7b.mp3" length="27940691" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>1745</itunes:duration>
      <itunes:summary>Nikolay and Michael discuss PostgREST (and some similar projects) — what it is, as well as the pros and cons of using it.</itunes:summary>
      <itunes:subtitle>Nikolay and Michael discuss PostgREST (and some similar projects) — what it is, as well as the pros and cons of using it.</itunes:subtitle>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/b1a85300/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Materialized views</title>
      <itunes:episode>21</itunes:episode>
      <podcast:episode>21</podcast:episode>
      <itunes:title>Materialized views</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">31edfa9b-ef61-400e-b510-1c79f60059cf</guid>
      <link>https://share.transistor.fm/s/1cdb196c</link>
      <description>
        <![CDATA[<p>Apologies, Michael's audio is not great in this, we'll hopefully be back to normal next week!</p><p>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/docs/current/rules-materializedviews.html">Materialized views</a> (docs)</li><li><a href="https://www.postgresql.org/docs/current/sql-refreshmaterializedview.html">Refresh materialized view</a> (docs)</li><li><a href="https://www.timescale.com/blog/how-postgresql-views-and-materialized-views-work-and-how-they-influenced-timescaledb-continuous-aggregates/">Timescale blog post</a></li><li><a href="https://web.archive.org/web/20240423051436/https://planetscale.com/blog/how-planetscale-boost-serves-your-sql-queries-instantly">PlanetScale Boost</a> (content warning: MySQL) </li><li><a href="https://www.youtube.com/watch?v=GqODV9ATASU">Incremental Materialized Views with pg_ivm</a> (video by Lukas Fittl) </li><li>Articles on how to do your own incremental updates(?)</li><li><a href="https://materialize.com/">Materialize</a> (company) </li><li><a href="https://youtu.be/9XTg09W5USM">Materialize talk</a></li><li><a href="https://wiki.postgresql.org/wiki/Incremental_View_Maintenance">Incremental View Maintenance</a> (Postgres wiki)  </li><li><a href="https://www.postgresql.org/message-id/flat/20181227215726.4d166b4874f8983a641123f5@sraoss.co.jp">Implementing Incremental View Maintenance</a> (mailing list thread) </li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> / <a href="https://twitter.com/michristofides">@michristofides</a> / <a href="https://twitter.com/PostgresFM">@PostgresFM</a>, or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/materialized-views">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Apologies, Michael's audio is not great in this, we'll hopefully be back to normal next week!</p><p>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/docs/current/rules-materializedviews.html">Materialized views</a> (docs)</li><li><a href="https://www.postgresql.org/docs/current/sql-refreshmaterializedview.html">Refresh materialized view</a> (docs)</li><li><a href="https://www.timescale.com/blog/how-postgresql-views-and-materialized-views-work-and-how-they-influenced-timescaledb-continuous-aggregates/">Timescale blog post</a></li><li><a href="https://web.archive.org/web/20240423051436/https://planetscale.com/blog/how-planetscale-boost-serves-your-sql-queries-instantly">PlanetScale Boost</a> (content warning: MySQL) </li><li><a href="https://www.youtube.com/watch?v=GqODV9ATASU">Incremental Materialized Views with pg_ivm</a> (video by Lukas Fittl) </li><li>Articles on how to do your own incremental updates(?)</li><li><a href="https://materialize.com/">Materialize</a> (company) </li><li><a href="https://youtu.be/9XTg09W5USM">Materialize talk</a></li><li><a href="https://wiki.postgresql.org/wiki/Incremental_View_Maintenance">Incremental View Maintenance</a> (Postgres wiki)  </li><li><a href="https://www.postgresql.org/message-id/flat/20181227215726.4d166b4874f8983a641123f5@sraoss.co.jp">Implementing Incremental View Maintenance</a> (mailing list thread) </li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> / <a href="https://twitter.com/michristofides">@michristofides</a> / <a href="https://twitter.com/PostgresFM">@PostgresFM</a>, or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/materialized-views">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 25 Nov 2022 13:30:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/1cdb196c/9b398898.mp3" length="39437540" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2463</itunes:duration>
      <itunes:summary>Nikolay and Michael discuss materialized views — what they are, the pros/cons, and some areas they can improve (and hopefully will!)</itunes:summary>
      <itunes:subtitle>Nikolay and Michael discuss materialized views — what they are, the pros/cons, and some areas they can improve (and hopefully will!)</itunes:subtitle>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/1cdb196c/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>HOT updates</title>
      <itunes:episode>20</itunes:episode>
      <podcast:episode>20</podcast:episode>
      <itunes:title>HOT updates</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">8a8c0061-ec5e-4d26-8fc1-feb402197322</guid>
      <link>https://share.transistor.fm/s/a43dda7b</link>
      <description>
        <![CDATA[<p>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/docs/current/storage-hot.html">Heap-only tuple updates</a> (docs)</li><li><a href="https://github.com/postgres/postgres/blob/master/src/backend/access/heap/README.HOT">README file</a> (source code)</li><li><a href="https://www.interdb.jp/pg/pgsql07.html">Heap Only Tuple chapter</a> (Internals of PostgreSQL by Hironobu SUZUKI) </li><li><a href="https://postgres.ai/blog/20211029-how-partial-and-covering-indexes-affect-update-performance-in-postgresql">How partial, covering, and multicolumn indexes may slow down UPDATEs</a> (blog post by Nikolay) </li><li><a href="https://www.uber.com/en-GB/blog/postgres-to-mysql-migration/">Why Uber switched from Postgres to MySQL</a> (blog post)  </li><li><a href="https://www.adyen.com/knowledge-hub/postgresql-hot-updates">Fighting write amplification with HOT updates</a> (Adyen blog post) </li><li><a href="https://www.youtube.com/watch?v=qOBRcDEvcbM">HOT Updates vs Bottom-Up Index Deletion</a> (video by Lukas Fittl from pganalyze) </li><li><a href="https://www.percona.com/blog/postgresql-14-b-tree-index-reduced-bloat-with-bottom-up-deletion/">Reduced Bloat with Bottom-Up Deletion</a> (blog post by Hamid Akthar from Percona) </li><li><a href="https://www.cybertec-postgresql.com/en/what-is-fillfactor-and-how-does-it-affect-postgresql-performance/">What is fillfactor and how does it affect performance?</a> (blog post by Kaarel Moppel from Cybertec)</li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> / <a href="https://twitter.com/michristofides">@michristofides</a> / <a href="https://twitter.com/PostgresFM">@PostgresFM</a>, or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/hot-updates">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/docs/current/storage-hot.html">Heap-only tuple updates</a> (docs)</li><li><a href="https://github.com/postgres/postgres/blob/master/src/backend/access/heap/README.HOT">README file</a> (source code)</li><li><a href="https://www.interdb.jp/pg/pgsql07.html">Heap Only Tuple chapter</a> (Internals of PostgreSQL by Hironobu SUZUKI) </li><li><a href="https://postgres.ai/blog/20211029-how-partial-and-covering-indexes-affect-update-performance-in-postgresql">How partial, covering, and multicolumn indexes may slow down UPDATEs</a> (blog post by Nikolay) </li><li><a href="https://www.uber.com/en-GB/blog/postgres-to-mysql-migration/">Why Uber switched from Postgres to MySQL</a> (blog post)  </li><li><a href="https://www.adyen.com/knowledge-hub/postgresql-hot-updates">Fighting write amplification with HOT updates</a> (Adyen blog post) </li><li><a href="https://www.youtube.com/watch?v=qOBRcDEvcbM">HOT Updates vs Bottom-Up Index Deletion</a> (video by Lukas Fittl from pganalyze) </li><li><a href="https://www.percona.com/blog/postgresql-14-b-tree-index-reduced-bloat-with-bottom-up-deletion/">Reduced Bloat with Bottom-Up Deletion</a> (blog post by Hamid Akthar from Percona) </li><li><a href="https://www.cybertec-postgresql.com/en/what-is-fillfactor-and-how-does-it-affect-postgresql-performance/">What is fillfactor and how does it affect performance?</a> (blog post by Kaarel Moppel from Cybertec)</li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> / <a href="https://twitter.com/michristofides">@michristofides</a> / <a href="https://twitter.com/PostgresFM">@PostgresFM</a>, or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/hot-updates">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 18 Nov 2022 13:30:00 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/a43dda7b/3d0a3170.mp3" length="29025311" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>1813</itunes:duration>
      <itunes:summary>Nikolay and Michael discuss Heap-Only Tuple (HOT) updates — what they are, the benefits, and things you can do to optimize for them.</itunes:summary>
      <itunes:subtitle>Nikolay and Michael discuss Heap-Only Tuple (HOT) updates — what they are, the benefits, and things you can do to optimize for them.</itunes:subtitle>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/a43dda7b/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Database branching</title>
      <itunes:episode>19</itunes:episode>
      <podcast:episode>19</podcast:episode>
      <itunes:title>Database branching</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">c02987b6-7494-43d8-97bb-c5502c6b0ae5</guid>
      <link>https://share.transistor.fm/s/0933cda0</link>
      <description>
        <![CDATA[<p>Here are links to a few things we mentioned: </p><ul><li><a href="https://github.com/postgres-ai/database-lab-engine">Database Lab Engine</a></li><li><a href="https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Managing.Clone.html#Aurora.Clone.Overview">Overview of Aurora cloning</a> </li><li><a href="https://planetscale.com/docs/concepts/branching">PlanetScale branching</a></li><li><a href="https://postgres.ai/blog/20220525-common-db-schema-change-mistakes">Common DB schema change mistakes</a> (blog post by Nikolay)</li><li><a href="https://supabase.com/blog/supabase-series-a#phase-3-cloud-native-postgresql">Supabase vision</a></li><li><a href="https://neon.tech/docs/conceptual-guides/branching/">Neon branching</a></li><li><a href="https://en.wikipedia.org/wiki/Shift-left_testing">Shift-left testing</a></li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> / <a href="https://twitter.com/michristofides">@michristofides</a> / <a href="https://twitter.com/PostgresFM">@PostgresFM</a>, or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/database-branching">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Here are links to a few things we mentioned: </p><ul><li><a href="https://github.com/postgres-ai/database-lab-engine">Database Lab Engine</a></li><li><a href="https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Managing.Clone.html#Aurora.Clone.Overview">Overview of Aurora cloning</a> </li><li><a href="https://planetscale.com/docs/concepts/branching">PlanetScale branching</a></li><li><a href="https://postgres.ai/blog/20220525-common-db-schema-change-mistakes">Common DB schema change mistakes</a> (blog post by Nikolay)</li><li><a href="https://supabase.com/blog/supabase-series-a#phase-3-cloud-native-postgresql">Supabase vision</a></li><li><a href="https://neon.tech/docs/conceptual-guides/branching/">Neon branching</a></li><li><a href="https://en.wikipedia.org/wiki/Shift-left_testing">Shift-left testing</a></li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> / <a href="https://twitter.com/michristofides">@michristofides</a> / <a href="https://twitter.com/PostgresFM">@PostgresFM</a>, or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/database-branching">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 11 Nov 2022 13:43:02 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/0933cda0/22559bbd.mp3" length="30025005" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>1875</itunes:duration>
      <itunes:summary>Nikolay and Michael discuss database branching — how to define it, and the current state of tools and approaches.</itunes:summary>
      <itunes:subtitle>Nikolay and Michael discuss database branching — how to define it, and the current state of tools and approaches.</itunes:subtitle>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/0933cda0/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Version control for databases</title>
      <itunes:episode>18</itunes:episode>
      <podcast:episode>18</podcast:episode>
      <itunes:title>Version control for databases</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">c399a1c1-8ab7-46fd-b591-901bc9a0bd25</guid>
      <link>https://share.transistor.fm/s/b357741a</link>
      <description>
        <![CDATA[<p>Here are links to a few things we mentioned: </p><ul><li><a href="https://medium.com/@mehran.hrajabi98/a-brief-history-of-version-control-systems-vcss-5881f07ba0e1">A brief history of Version Control Systems</a> (blog post by Mehran Hajirajabi)</li><li><a href="https://www.red-gate.com/products/oracle-development/source-control-for-oracle/">Redgate Source Control for Oracle</a> (and SQL Server)</li><li><a href="https://flywaydb.org/">Flyway</a> </li><li><a href="https://sqitch.org/">Sqitch</a> </li><li><a href="https://www.liquibase.org/">Liquibase</a> </li><li><a href="https://www.pgadmin.org/docs/pgadmin4/latest/schema_diff.html">pgAdmin Schema Diff</a> </li><li><a href="https://github.com/djrobstep/migra">Migra</a> </li><li><a href="https://www.postgrescompare.com/">PostgresCompare</a> </li><li><a href="http://tech.valgog.com/2012/01/schema-based-versioning-and-deployment.html">Schema based versioning and deployment</a> (blog post by Valentine Gogichashvili)</li><li><a href="https://wiki.postgresql.org/wiki/Change_management_tools_and_techniques">Change management tools and techniques</a> (PostgreSQL Wiki)</li><li><a href="https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/database/migration_helpers.rb">GitLab migration_helpers.rb</a> </li><li><a href="https://medium.com/paypal-tech/postgresql-at-scale-database-schema-changes-without-downtime-20d3749ed680">Database schema changes without downtime</a> (blog post by James Coleman from Braintree/PayPal) </li><li><a href="https://postgres.ai/blog/20210923-zero-downtime-postgres-schema-migrations-lock-timeout-and-retries">Zero-downtime Postgres schema migrations need lock_timeout and retries</a> (blog post by Nikolay) </li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> / <a href="https://twitter.com/michristofides">@michristofides</a> / <a href="https://twitter.com/PostgresFM">@PostgresFM</a>, or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/contributing-to-postgres">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Here are links to a few things we mentioned: </p><ul><li><a href="https://medium.com/@mehran.hrajabi98/a-brief-history-of-version-control-systems-vcss-5881f07ba0e1">A brief history of Version Control Systems</a> (blog post by Mehran Hajirajabi)</li><li><a href="https://www.red-gate.com/products/oracle-development/source-control-for-oracle/">Redgate Source Control for Oracle</a> (and SQL Server)</li><li><a href="https://flywaydb.org/">Flyway</a> </li><li><a href="https://sqitch.org/">Sqitch</a> </li><li><a href="https://www.liquibase.org/">Liquibase</a> </li><li><a href="https://www.pgadmin.org/docs/pgadmin4/latest/schema_diff.html">pgAdmin Schema Diff</a> </li><li><a href="https://github.com/djrobstep/migra">Migra</a> </li><li><a href="https://www.postgrescompare.com/">PostgresCompare</a> </li><li><a href="http://tech.valgog.com/2012/01/schema-based-versioning-and-deployment.html">Schema based versioning and deployment</a> (blog post by Valentine Gogichashvili)</li><li><a href="https://wiki.postgresql.org/wiki/Change_management_tools_and_techniques">Change management tools and techniques</a> (PostgreSQL Wiki)</li><li><a href="https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/database/migration_helpers.rb">GitLab migration_helpers.rb</a> </li><li><a href="https://medium.com/paypal-tech/postgresql-at-scale-database-schema-changes-without-downtime-20d3749ed680">Database schema changes without downtime</a> (blog post by James Coleman from Braintree/PayPal) </li><li><a href="https://postgres.ai/blog/20210923-zero-downtime-postgres-schema-migrations-lock-timeout-and-retries">Zero-downtime Postgres schema migrations need lock_timeout and retries</a> (blog post by Nikolay) </li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> / <a href="https://twitter.com/michristofides">@michristofides</a> / <a href="https://twitter.com/PostgresFM">@PostgresFM</a>, or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/contributing-to-postgres">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 04 Nov 2022 15:40:03 +0000</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/b357741a/9b9fd3b9.mp3" length="26361321" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>1881</itunes:duration>
      <itunes:summary>Nikolay and Michael discuss database schema version control — what we've seen, some options, and where we'd like to see improvements.</itunes:summary>
      <itunes:subtitle>Nikolay and Michael discuss database schema version control — what we've seen, some options, and where we'd like to see improvements.</itunes:subtitle>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/b357741a/transcript.srt" type="application/x-subrip" rel="captions"/>
      <podcast:chapters url="https://share.transistor.fm/s/b357741a/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Contributing to Postgres</title>
      <itunes:episode>17</itunes:episode>
      <podcast:episode>17</podcast:episode>
      <itunes:title>Contributing to Postgres</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">7f1281c8-ee87-4aa7-b493-c27e8610e071</guid>
      <link>https://share.transistor.fm/s/c737d1ca</link>
      <description>
        <![CDATA[<p>Here are links to a few things we mentioned: </p><ul><li><a href="https://twitter.com/samokhvalov/status/1466930619162644481">PostgreSQL 14 coin</a> (upside down!)</li><li><a href="https://www.youtube.com/watch?v=j7UPVU5UCV4">Intro to Planner Hacking</a> (talk by Melanie Plageman)</li><li><a href="https://www.youtube.com/watch?v=uSwd-VPV9u8">Demystifying contributing to PostgreSQL</a> (talk by Lætitia Avrot)</li><li><a href="https://www.timescale.com/blog/how-and-why-to-become-a-postgresql-contributor/">How to become a PostgreSQL contributor</a> (blog post by Aleksander Alekseev)</li><li><a href="https://wiki.postgresql.org/wiki/Compile_and_Install_from_source_code">Compile and install from source code</a> (PostgreSQL Wiki)</li><li><a href="https://www.postgresql.org/list/">PostgreSQL mailing lists</a></li><li><a href="https://github.com/postgres/postgres">GitHub PostgreSQL mirror</a></li><li><a href="https://gitlab.com/postgres/postgres">GitLab PostgreSQL mirror</a></li><li><a href="https://commitfest.postgresql.org/">Commitfests</a></li><li><a href="https://wiki.postgresql.org/wiki/So,_you_want_to_be_a_developer%3F">So, you want to be a developer?</a> (PostgreSQL Wiki)</li><li><a href="https://www.postgresql.org/message-id/flat/20210612202912.hw3ppjzxoto3ldtx%40alap3.anarazel.de">Resolving the search engine issue</a> (mailing list thread)</li><li><a href="https://planet.postgresql.org/">Planet PostgreSQL</a></li><li><a href="https://github.com/percona/pg_stat_monitor">pg_stat_monitor</a> (extension by Percona)</li><li><a href="https://github.com/zombodb/zombodb">ZomboDB</a></li><li><a href="https://github.com/tcdi/pgx">pgx</a> (framework for developing extensions)</li><li><a href="https://github.com/dhamaniasad/awesome-postgres">Awesome Postgres</a></li><li><a href="https://www.depesz.com/%20">Depesz blog</a> </li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> / <a href="https://twitter.com/michristofides">@michristofides</a> / <a href="https://twitter.com/PostgresFM">@PostgresFM</a>, or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/contributing-to-postgres">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Here are links to a few things we mentioned: </p><ul><li><a href="https://twitter.com/samokhvalov/status/1466930619162644481">PostgreSQL 14 coin</a> (upside down!)</li><li><a href="https://www.youtube.com/watch?v=j7UPVU5UCV4">Intro to Planner Hacking</a> (talk by Melanie Plageman)</li><li><a href="https://www.youtube.com/watch?v=uSwd-VPV9u8">Demystifying contributing to PostgreSQL</a> (talk by Lætitia Avrot)</li><li><a href="https://www.timescale.com/blog/how-and-why-to-become-a-postgresql-contributor/">How to become a PostgreSQL contributor</a> (blog post by Aleksander Alekseev)</li><li><a href="https://wiki.postgresql.org/wiki/Compile_and_Install_from_source_code">Compile and install from source code</a> (PostgreSQL Wiki)</li><li><a href="https://www.postgresql.org/list/">PostgreSQL mailing lists</a></li><li><a href="https://github.com/postgres/postgres">GitHub PostgreSQL mirror</a></li><li><a href="https://gitlab.com/postgres/postgres">GitLab PostgreSQL mirror</a></li><li><a href="https://commitfest.postgresql.org/">Commitfests</a></li><li><a href="https://wiki.postgresql.org/wiki/So,_you_want_to_be_a_developer%3F">So, you want to be a developer?</a> (PostgreSQL Wiki)</li><li><a href="https://www.postgresql.org/message-id/flat/20210612202912.hw3ppjzxoto3ldtx%40alap3.anarazel.de">Resolving the search engine issue</a> (mailing list thread)</li><li><a href="https://planet.postgresql.org/">Planet PostgreSQL</a></li><li><a href="https://github.com/percona/pg_stat_monitor">pg_stat_monitor</a> (extension by Percona)</li><li><a href="https://github.com/zombodb/zombodb">ZomboDB</a></li><li><a href="https://github.com/tcdi/pgx">pgx</a> (framework for developing extensions)</li><li><a href="https://github.com/dhamaniasad/awesome-postgres">Awesome Postgres</a></li><li><a href="https://www.depesz.com/%20">Depesz blog</a> </li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> / <a href="https://twitter.com/michristofides">@michristofides</a> / <a href="https://twitter.com/PostgresFM">@PostgresFM</a>, or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/contributing-to-postgres">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 28 Oct 2022 21:32:22 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/c737d1ca/4f6c5567.mp3" length="31814737" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>1987</itunes:duration>
      <itunes:summary>Nikolay and Michael discuss contributing to Postgres — whether to the code, or in other ways.</itunes:summary>
      <itunes:subtitle>Nikolay and Michael discuss contributing to Postgres — whether to the code, or in other ways.</itunes:subtitle>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
    </item>
    <item>
      <title>Stored procedures</title>
      <itunes:episode>16</itunes:episode>
      <podcast:episode>16</podcast:episode>
      <itunes:title>Stored procedures</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">7923c8ca-6d36-456b-96a0-0a15ee1b3907</guid>
      <link>https://share.transistor.fm/s/3cf9cd75</link>
      <description>
        <![CDATA[<p>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/docs/current/extend.html">Extending SQL</a> </li><li><a href="https://postgrest.org/en/stable/">PostgREST</a>  </li><li><a href="https://www.postgresql.org/docs/current/plpgsql.html%20">PL/pgSQL</a> </li><li><a href="https://www.edgedb.com/">EdgeDB</a>  </li><li><a href="https://pgtap.org/">pgTAP</a>  </li><li><a href="https://sqitch.org/">Sqitch</a> </li><li><a href="https://flywaydb.org/">Flyway</a>  </li><li><a href="https://www.liquibase.org/">Liquibase</a>  </li><li><a href="https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-CLIENT-MIN-MESSAGES">client_min_messages</a>  </li><li><a href="https://www.postgresql.org/docs/current/runtime-config-logging.html#GUC-LOG-MIN-MESSAGES">log_min_messages</a></li><li><a href="https://www.postgresql.org/docs/current/plpgsql-errors-and-messages.html">RAISE DEBUG</a></li><li><a href="https://sive.rs/pg">Simplify: move code into database functions</a> (blog post by Derek Sivers)  </li><li><a href="https://github.com/petere/plsh">PL/sh</a>  </li><li><a href="https://supabase.com/">Supabase</a> </li><li><a href="https://www.postgresql.org/docs/current/auto-explain.html#id-1.11.7.13.5.3.11.1.3">auto_explain.log_nested_statements</a>  </li><li><a href="https://hasura.io/">Hasura</a>  </li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> / <a href="https://twitter.com/michristofides">@michristofides</a> / <a href="https://twitter.com/PostgresFM">@PostgresFM</a>, or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/stored-procedures">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/docs/current/extend.html">Extending SQL</a> </li><li><a href="https://postgrest.org/en/stable/">PostgREST</a>  </li><li><a href="https://www.postgresql.org/docs/current/plpgsql.html%20">PL/pgSQL</a> </li><li><a href="https://www.edgedb.com/">EdgeDB</a>  </li><li><a href="https://pgtap.org/">pgTAP</a>  </li><li><a href="https://sqitch.org/">Sqitch</a> </li><li><a href="https://flywaydb.org/">Flyway</a>  </li><li><a href="https://www.liquibase.org/">Liquibase</a>  </li><li><a href="https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-CLIENT-MIN-MESSAGES">client_min_messages</a>  </li><li><a href="https://www.postgresql.org/docs/current/runtime-config-logging.html#GUC-LOG-MIN-MESSAGES">log_min_messages</a></li><li><a href="https://www.postgresql.org/docs/current/plpgsql-errors-and-messages.html">RAISE DEBUG</a></li><li><a href="https://sive.rs/pg">Simplify: move code into database functions</a> (blog post by Derek Sivers)  </li><li><a href="https://github.com/petere/plsh">PL/sh</a>  </li><li><a href="https://supabase.com/">Supabase</a> </li><li><a href="https://www.postgresql.org/docs/current/auto-explain.html#id-1.11.7.13.5.3.11.1.3">auto_explain.log_nested_statements</a>  </li><li><a href="https://hasura.io/">Hasura</a>  </li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> / <a href="https://twitter.com/michristofides">@michristofides</a> / <a href="https://twitter.com/PostgresFM">@PostgresFM</a>, or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/stored-procedures">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 21 Oct 2022 13:30:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/3cf9cd75/a9bce686.mp3" length="34376382" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2147</itunes:duration>
      <itunes:summary>Nikolay and Michael discuss the age-old topic of implementing business logic on the database side versus the application side.</itunes:summary>
      <itunes:subtitle>Nikolay and Michael discuss the age-old topic of implementing business logic on the database side versus the application side.</itunes:subtitle>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/3cf9cd75/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>PostgreSQL 15</title>
      <itunes:episode>15</itunes:episode>
      <podcast:episode>15</podcast:episode>
      <itunes:title>PostgreSQL 15</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">48865092-7b94-47bd-b4db-ce4be04bfa72</guid>
      <link>https://share.transistor.fm/s/a87b688f</link>
      <description>
        <![CDATA[<p>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/docs/15/release-15.html">PostgreSQL 15 release notes</a></li><li><a href="https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/speeding-up-sort-performance-in-postgres-15/ba-p/3396953">Speeding up sort performance in Postgres 15</a> (blog post by David Rowley)</li><li><a href="https://www.youtube.com/watch?v=ILRdoq7UT3g">Past, Present, and Future of Logical Replication</a> (talk by Amit Kapila) </li><li><a href="https://blog.rustprooflabs.com/2022/07/postgres-15-unique-improvement-with-null">Postgres 15 improves UNIQUE and NULL</a> (blog post by Ryan Lambert) </li><li><a href="https://www.youtube.com/watch?v=JcRi8Z7rkPg">Do you vacuum everyday?</a> (talk by Hannu Krosing) </li><li><a href="https://why-upgrade.depesz.com/">Why upgrade PostgreSQL?</a> (by depesz)</li></ul><p><br></p><p>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/postgresfm">@PostgresFM</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our topic ideas Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/postgresql-15">here's a good link</a> (and thank you!)</p><p>------------------------</p><p>Postgres FM is brought to you by:</p><ul><li><a href="https://twitter.com/samokhvalov">Nikolay Samokhvalov</a>, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li><a href="https://twitter.com/michristofides">Michael Christofides</a>, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/docs/15/release-15.html">PostgreSQL 15 release notes</a></li><li><a href="https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/speeding-up-sort-performance-in-postgres-15/ba-p/3396953">Speeding up sort performance in Postgres 15</a> (blog post by David Rowley)</li><li><a href="https://www.youtube.com/watch?v=ILRdoq7UT3g">Past, Present, and Future of Logical Replication</a> (talk by Amit Kapila) </li><li><a href="https://blog.rustprooflabs.com/2022/07/postgres-15-unique-improvement-with-null">Postgres 15 improves UNIQUE and NULL</a> (blog post by Ryan Lambert) </li><li><a href="https://www.youtube.com/watch?v=JcRi8Z7rkPg">Do you vacuum everyday?</a> (talk by Hannu Krosing) </li><li><a href="https://why-upgrade.depesz.com/">Why upgrade PostgreSQL?</a> (by depesz)</li></ul><p><br></p><p>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/postgresfm">@PostgresFM</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our topic ideas Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/postgresql-15">here's a good link</a> (and thank you!)</p><p>------------------------</p><p>Postgres FM is brought to you by:</p><ul><li><a href="https://twitter.com/samokhvalov">Nikolay Samokhvalov</a>, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li><a href="https://twitter.com/michristofides">Michael Christofides</a>, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 14 Oct 2022 13:30:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/a87b688f/aa5e41fd.mp3" length="28482844" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>1779</itunes:duration>
      <itunes:summary>Nikolay and Michael discuss PostgreSQL 15 which was released yesterday! We go through our favourite features and some other ones that caught our eye.  </itunes:summary>
      <itunes:subtitle>Nikolay and Michael discuss PostgreSQL 15 which was released yesterday! We go through our favourite features and some other ones that caught our eye.  </itunes:subtitle>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/a87b688f/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>102 Query optimization</title>
      <itunes:episode>14</itunes:episode>
      <podcast:episode>14</podcast:episode>
      <itunes:title>102 Query optimization</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">daec1501-2161-42cf-881a-dc2eb7653d27</guid>
      <link>https://share.transistor.fm/s/a6f3d722</link>
      <description>
        <![CDATA[<p>Here are links to a few things we mentioned: </p><ul><li><a href="https://github.com/ossc-db/pg_plan_advsr">pg_plan_advsr</a> </li><li><a href="https://postgres.ai/blog/20211029-how-partial-and-covering-indexes-affect-update-performance-in-postgresql">How partial, covering, and multicolumn indexes may slow down UPDATEs</a> (blog post by Nikolay)</li><li><a href="https://www.uber.com/en-GB/blog/postgres-to-mysql-migration/">Why Uber Switched from Postgres to MySQL</a> (blog post)</li><li><a href="https://pganalyze.com/docs/index-advisor/getting-started">pganalyze index advisor</a></li><li><a href="https://gitlab.com/postgres-ai/nancy">Nancy bot</a> (project is not active)</li><li><a href="https://laurenz.github.io/pgreplay/">pgreplay</a></li><li><a href="https://github.com/gocardless/pgreplay-go">pgreplay go</a>  </li><li><a href="https://dev.to/yugabyte/real-application-testing-on-yugabytedb-with-pgreplay-4ibm">Real Application Testing on YugabyteDB with pgreplay</a> (blog post by Franck Pachot) </li><li><a href="https://github.com/pganalyze/pg_query">pg_query</a>  </li><li><a href="https://postgres.ai/products/how-it-works">Database Lab thin clones</a> </li><li><a href="https://gridium.com/migrating-to-aurora-easy-except-the-bill/">Migrating to Aurora: easy except the bill</a> (blog post by Kimberley Nicholls) </li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/postgresfm">@PostgresFM</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our topic ideas Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/102-query-optimization">here's a good link</a> (and thank you!)</p><p><br>Postgres FM is brought to you by:</p><ul><li><a href="https://twitter.com/samokhvalov">Nikolay Samokhvalov</a>, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li><a href="https://twitter.com/michristofides">Michael Christofides</a>, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Here are links to a few things we mentioned: </p><ul><li><a href="https://github.com/ossc-db/pg_plan_advsr">pg_plan_advsr</a> </li><li><a href="https://postgres.ai/blog/20211029-how-partial-and-covering-indexes-affect-update-performance-in-postgresql">How partial, covering, and multicolumn indexes may slow down UPDATEs</a> (blog post by Nikolay)</li><li><a href="https://www.uber.com/en-GB/blog/postgres-to-mysql-migration/">Why Uber Switched from Postgres to MySQL</a> (blog post)</li><li><a href="https://pganalyze.com/docs/index-advisor/getting-started">pganalyze index advisor</a></li><li><a href="https://gitlab.com/postgres-ai/nancy">Nancy bot</a> (project is not active)</li><li><a href="https://laurenz.github.io/pgreplay/">pgreplay</a></li><li><a href="https://github.com/gocardless/pgreplay-go">pgreplay go</a>  </li><li><a href="https://dev.to/yugabyte/real-application-testing-on-yugabytedb-with-pgreplay-4ibm">Real Application Testing on YugabyteDB with pgreplay</a> (blog post by Franck Pachot) </li><li><a href="https://github.com/pganalyze/pg_query">pg_query</a>  </li><li><a href="https://postgres.ai/products/how-it-works">Database Lab thin clones</a> </li><li><a href="https://gridium.com/migrating-to-aurora-easy-except-the-bill/">Migrating to Aurora: easy except the bill</a> (blog post by Kimberley Nicholls) </li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/postgresfm">@PostgresFM</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our topic ideas Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/102-query-optimization">here's a good link</a> (and thank you!)</p><p><br>Postgres FM is brought to you by:</p><ul><li><a href="https://twitter.com/samokhvalov">Nikolay Samokhvalov</a>, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li><a href="https://twitter.com/michristofides">Michael Christofides</a>, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 07 Oct 2022 13:30:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/a6f3d722/e565d8bc.mp3" length="30223324" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>1888</itunes:duration>
      <itunes:summary>Nikolay and Michael discuss the next step of query optimization work — the difficult topic of how to verify your changes won't make other things worse. </itunes:summary>
      <itunes:subtitle>Nikolay and Michael discuss the next step of query optimization work — the difficult topic of how to verify your changes won't make other things worse. </itunes:subtitle>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/a6f3d722/transcript.srt" type="application/x-subrip" rel="captions"/>
      <podcast:chapters url="https://share.transistor.fm/s/a6f3d722/chapters.json" type="application/json+chapters"/>
    </item>
    <item>
      <title>Why is Postgres popular?</title>
      <itunes:episode>13</itunes:episode>
      <podcast:episode>13</podcast:episode>
      <itunes:title>Why is Postgres popular?</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">249b9080-3220-47da-ba2d-d7556dfa26cc</guid>
      <link>https://share.transistor.fm/s/7cff49d0</link>
      <description>
        <![CDATA[<p>This episode was badly affected by internet issues. Hopefully the edit came out ok, but the quality should be back to a better level from next week.</p><p>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.softwareandbooz.com/introducing-psql-phriday/">Monthly blog event, PGSQL Phriday</a> (blog post from Ryan Booz) </li><li><a href="https://twitter.com/KennethCassel/status/1560000675395821577">Who or what made Postgres cool?</a> (tweet from Kenneth Cassel) </li><li><a href="https://postgis.net/">PostGIS</a> </li><li><a href="https://en.wikipedia.org/wiki/Acquisition_of_Sun_Microsystems_by_Oracle_Corporation">Acquisition of Sun by Oracle </a></li><li><a href="https://db-engines.com/en/ranking_trend">DB-Engines trend</a></li><li><a href="https://www.hntrends.com/2022/june.html?compare=Postgresql&amp;compare=MySQL&amp;compare=Oracle&amp;compare=mongodb">Hacker News hiring trends</a> </li><li><a href="https://github.com/supabase/supabase">Supabase on GitHub</a> (nearly 40k stars)</li><li><a href="https://wondery.com/shows/how-i-built-this/">How I Built This</a> (podcast) </li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/postgresfm">@PostgresFM</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our topic ideas Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/why-is-postgres-popular">here's a good link</a> (and thank you!)</p><p><br>Postgres FM is brought to you by:</p><ul><li><a href="https://twitter.com/samokhvalov">Nikolay Samokhvalov</a>, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li><a href="https://twitter.com/michristofides">Michael Christofides</a>, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>This episode was badly affected by internet issues. Hopefully the edit came out ok, but the quality should be back to a better level from next week.</p><p>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.softwareandbooz.com/introducing-psql-phriday/">Monthly blog event, PGSQL Phriday</a> (blog post from Ryan Booz) </li><li><a href="https://twitter.com/KennethCassel/status/1560000675395821577">Who or what made Postgres cool?</a> (tweet from Kenneth Cassel) </li><li><a href="https://postgis.net/">PostGIS</a> </li><li><a href="https://en.wikipedia.org/wiki/Acquisition_of_Sun_Microsystems_by_Oracle_Corporation">Acquisition of Sun by Oracle </a></li><li><a href="https://db-engines.com/en/ranking_trend">DB-Engines trend</a></li><li><a href="https://www.hntrends.com/2022/june.html?compare=Postgresql&amp;compare=MySQL&amp;compare=Oracle&amp;compare=mongodb">Hacker News hiring trends</a> </li><li><a href="https://github.com/supabase/supabase">Supabase on GitHub</a> (nearly 40k stars)</li><li><a href="https://wondery.com/shows/how-i-built-this/">How I Built This</a> (podcast) </li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/postgresfm">@PostgresFM</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our topic ideas Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/why-is-postgres-popular">here's a good link</a> (and thank you!)</p><p><br>Postgres FM is brought to you by:</p><ul><li><a href="https://twitter.com/samokhvalov">Nikolay Samokhvalov</a>, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li><a href="https://twitter.com/michristofides">Michael Christofides</a>, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 30 Sep 2022 13:30:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/7cff49d0/25327703.mp3" length="26084376" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>1861</itunes:duration>
      <itunes:summary>Nikolay and Michael discuss why (and how) Postgres has been gaining popularity in recent years.</itunes:summary>
      <itunes:subtitle>Nikolay and Michael discuss why (and how) Postgres has been gaining popularity in recent years.</itunes:subtitle>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/7cff49d0/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Index maintenance</title>
      <itunes:episode>12</itunes:episode>
      <podcast:episode>12</podcast:episode>
      <itunes:title>Index maintenance</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">7a7da5aa-0b87-42c4-b3d5-d339bf4454d0</guid>
      <link>https://share.transistor.fm/s/1d4d5694</link>
      <description>
        <![CDATA[<p>Important correction from this episode: amcheck promises no false positives, not no false negatives, sorry!</p><p>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/docs/current/pgstattuple.html">pgstattuple</a></li><li><a href="https://github.com/reorg/pg_repack">pg_repack</a></li><li><a href="https://gitlab.com/postgres-ai/postgres-checkup">postgres-checkup</a> </li><li><a href="https://handbook.gitlab.com/handbook/engineering/infrastructure-platforms/data-access/database-framework/doc/workload-analysis/">Workload Analysis for GitLab.com</a></li><li><a href="https://gitlab.com/gitlab-com/gl-infra/readiness/-/tree/master/library/database/postgres/bloat">Bloat Analysis</a> (also from GitLab)</li><li><a href="https://medium.com/miro-engineering/postgresql-bloat-pg-repack-and-deferred-constraints-d0ecf33337ec">Bloat, pg_repack, and deferred constraints</a> (blog post by Miro) </li><li><a href="https://www.postgresql.org/docs/current/amcheck.html">amcheck</a></li><li><a href="https://www.youtube.com/watch?v=iAPawr1DxhM">Peter Geoghegan interview</a> (on Postgres TV) </li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> and <a href="https://twitter.com/michristofides">@michristofides</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our topic ideas Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/index-maintenance">here's a good link</a> (and thank you!)</p><p><br>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Important correction from this episode: amcheck promises no false positives, not no false negatives, sorry!</p><p>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/docs/current/pgstattuple.html">pgstattuple</a></li><li><a href="https://github.com/reorg/pg_repack">pg_repack</a></li><li><a href="https://gitlab.com/postgres-ai/postgres-checkup">postgres-checkup</a> </li><li><a href="https://handbook.gitlab.com/handbook/engineering/infrastructure-platforms/data-access/database-framework/doc/workload-analysis/">Workload Analysis for GitLab.com</a></li><li><a href="https://gitlab.com/gitlab-com/gl-infra/readiness/-/tree/master/library/database/postgres/bloat">Bloat Analysis</a> (also from GitLab)</li><li><a href="https://medium.com/miro-engineering/postgresql-bloat-pg-repack-and-deferred-constraints-d0ecf33337ec">Bloat, pg_repack, and deferred constraints</a> (blog post by Miro) </li><li><a href="https://www.postgresql.org/docs/current/amcheck.html">amcheck</a></li><li><a href="https://www.youtube.com/watch?v=iAPawr1DxhM">Peter Geoghegan interview</a> (on Postgres TV) </li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> and <a href="https://twitter.com/michristofides">@michristofides</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our topic ideas Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/index-maintenance">here's a good link</a> (and thank you!)</p><p><br>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 23 Sep 2022 14:15:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/1d4d5694/0b7ffcd2.mp3" length="31406370" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>1961</itunes:duration>
      <itunes:summary>Nikolay and Michael discuss index maintenance — how do we know if or when we need it, and what we need to do.</itunes:summary>
      <itunes:subtitle>Nikolay and Michael discuss index maintenance — how do we know if or when we need it, and what we need to do.</itunes:subtitle>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/1d4d5694/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Query macro analysis intro</title>
      <itunes:episode>11</itunes:episode>
      <podcast:episode>11</podcast:episode>
      <itunes:title>Query macro analysis intro</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">d3c0f7ef-48f2-4ff7-9c18-bae0750ae40e</guid>
      <link>https://share.transistor.fm/s/bfdf0a5f</link>
      <description>
        <![CDATA[<p>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/docs/current/pgstatstatements.html">pg_stat_statements</a></li><li><a href="https://github.com/milo/pgFouine">pgFouine</a></li><li><a href="https://github.com/darold/pgbadger">pgBadger</a></li><li><a href="https://github.com/pganalyze/pg_query">pg_query</a></li><li><a href="https://www.postgresql.org/docs/current/monitoring-stats.html#MONITORING-PG-STAT-ACTIVITY-VIEW">pg_stat_activity</a></li><li><a href="https://www.postgresql.org/docs/current/auto-explain.html">auto_explain</a></li><li><a href="https://www.pgmustard.com/blog/auto-explain-overhead-with-timing">Can auto_explain (with timing) have low overhead?</a> (blog post by Michael)</li><li><a href="https://www.postgresql.org/docs/current/runtime-config-statistics.html#GUC-TRACK-IO-TIMING">track_io_timing</a></li><li><a href="https://www.postgresql.org/docs/current/pgbench.html">pgbench</a></li><li><a href="https://github.com/ankane/pghero">PgHero</a></li><li><a href="https://github.com/lesovsky/pgcenter">pgCenter</a></li><li><a href="https://gitlab.com/postgres-ai/pgwatch2">pgwatch2</a> (Postgres AI edition)</li><li><a href="https://github.com/powa-team/pg_stat_kcache">pg_stat_kcache</a></li><li><a href="https://github.com/dbacvetkov/PASH-Viewer">PASH Viewer</a></li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> and <a href="https://twitter.com/michristofides">@michristofides</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our topic ideas Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/macro-query-analysis-intro">here's a good link</a> (and thank you!)</p><p><br>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/docs/current/pgstatstatements.html">pg_stat_statements</a></li><li><a href="https://github.com/milo/pgFouine">pgFouine</a></li><li><a href="https://github.com/darold/pgbadger">pgBadger</a></li><li><a href="https://github.com/pganalyze/pg_query">pg_query</a></li><li><a href="https://www.postgresql.org/docs/current/monitoring-stats.html#MONITORING-PG-STAT-ACTIVITY-VIEW">pg_stat_activity</a></li><li><a href="https://www.postgresql.org/docs/current/auto-explain.html">auto_explain</a></li><li><a href="https://www.pgmustard.com/blog/auto-explain-overhead-with-timing">Can auto_explain (with timing) have low overhead?</a> (blog post by Michael)</li><li><a href="https://www.postgresql.org/docs/current/runtime-config-statistics.html#GUC-TRACK-IO-TIMING">track_io_timing</a></li><li><a href="https://www.postgresql.org/docs/current/pgbench.html">pgbench</a></li><li><a href="https://github.com/ankane/pghero">PgHero</a></li><li><a href="https://github.com/lesovsky/pgcenter">pgCenter</a></li><li><a href="https://gitlab.com/postgres-ai/pgwatch2">pgwatch2</a> (Postgres AI edition)</li><li><a href="https://github.com/powa-team/pg_stat_kcache">pg_stat_kcache</a></li><li><a href="https://github.com/dbacvetkov/PASH-Viewer">PASH Viewer</a></li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> and <a href="https://twitter.com/michristofides">@michristofides</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our topic ideas Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/macro-query-analysis-intro">here's a good link</a> (and thank you!)</p><p><br>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li><a href="https://jessiedraws.com/">Jessie Draws</a> for the amazing artwork </li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 16 Sep 2022 16:18:22 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/bfdf0a5f/74d52362.mp3" length="32173836" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2009</itunes:duration>
      <itunes:summary>Nikolay and Michael discuss query macro analysis — at the whole system level as opposed to an individual query.</itunes:summary>
      <itunes:subtitle>Nikolay and Michael discuss query macro analysis — at the whole system level as opposed to an individual query.</itunes:subtitle>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/bfdf0a5f/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>WAL and checkpoint tuning</title>
      <itunes:episode>10</itunes:episode>
      <podcast:episode>10</podcast:episode>
      <itunes:title>WAL and checkpoint tuning</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">2824b954-0955-4a61-afac-57c212978296</guid>
      <link>https://share.transistor.fm/s/2972e8e5</link>
      <description>
        <![CDATA[<p>Here are links to a few things we mentioned: </p><ul><li><a href="https://pgpedia.info/l/LSN-log-sequence-number.html">LSN (log sequence number)</a></li><li><a href="https://www.2ndquadrant.com/en/blog/on-the-impact-of-full-page-writes/">On the impact of full-page writes</a> (blog post by Tomas Vondra)</li><li><a href="https://www.youtube.com/watch?v=Ul-j5fKfv2k">Deep dive on Aurora Postgres</a> (talk by Grant McAlister) </li><li><a href="https://www.netdata.cloud/">Netdata monitoring </a></li><li><a href="https://postgresqlco.nf/doc/en/param/">PostgresqlCO.NF</a> </li><li><a href="https://pgpedia.info/">pgPedia</a> </li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> and <a href="https://twitter.com/michristofides">@michristofides</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/wal-and-checkpoint-tuning">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Here are links to a few things we mentioned: </p><ul><li><a href="https://pgpedia.info/l/LSN-log-sequence-number.html">LSN (log sequence number)</a></li><li><a href="https://www.2ndquadrant.com/en/blog/on-the-impact-of-full-page-writes/">On the impact of full-page writes</a> (blog post by Tomas Vondra)</li><li><a href="https://www.youtube.com/watch?v=Ul-j5fKfv2k">Deep dive on Aurora Postgres</a> (talk by Grant McAlister) </li><li><a href="https://www.netdata.cloud/">Netdata monitoring </a></li><li><a href="https://postgresqlco.nf/doc/en/param/">PostgresqlCO.NF</a> </li><li><a href="https://pgpedia.info/">pgPedia</a> </li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> and <a href="https://twitter.com/michristofides">@michristofides</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/wal-and-checkpoint-tuning">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 09 Sep 2022 13:30:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/2972e8e5/c5abefb0.mp3" length="31752904" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2266</itunes:duration>
      <itunes:summary>Nikolay talks Michael through a host of nuances about WAL and checkpoint tuning.</itunes:summary>
      <itunes:subtitle>Nikolay talks Michael through a host of nuances about WAL and checkpoint tuning.</itunes:subtitle>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/2972e8e5/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Intro to query optimization</title>
      <itunes:episode>9</itunes:episode>
      <podcast:episode>9</podcast:episode>
      <itunes:title>Intro to query optimization</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">6d75e20e-ac57-40e0-89a4-459c82226687</guid>
      <link>https://share.transistor.fm/s/abe46494</link>
      <description>
        <![CDATA[<p>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/docs/current/using-explain.html">Using EXPLAIN</a> (PostgreSQL documentation)</li><li><a href="https://explain.depesz.com/">explain.depesz.com</a></li><li><a href="https://explain.dalibo.com/">explain.dalibo.com</a></li><li><a href="https://www.pgmustard.com/">pgMustard</a> </li><li><a href="https://www.eversql.com/">EverSQL</a></li><li><a href="https://pganalyze.com/">pganalyze</a></li><li><a href="https://github.com/percona/pg_stat_monitor">pg_stat_monitor</a> (Extension by Percona)</li><li><a href="https://www.postgresql.org/message-id/flat/f1dcf048-36ba-2e78-2404-35468cce0c63%40timescale.com#cdc2b8c7c6f75405f6db6cf8f64007ce">Recent thread on hackers mailing list</a> about plan_id in pg_stat_activity</li><li><a href="https://www.postgresql.org/docs/current/auto-explain.html">auto_explain</a></li><li><a href="https://ongres.com/blog/explain_analyze_may_be_lying_to_you/">EXPLAIN observer effect</a> (Ongres blog post by Álvaro Hernández)</li><li><a href="https://www.pgmustard.com/blog/auto-explain-overhead-with-timing">auto_explain overhead</a> (blog post by Michael)  </li><li><a href="https://www.postgresql.org/docs/current/pgtesttiming.html">pg_test_timing</a></li><li><a href="https://github.com/postgres-ai/database-lab-engine">Database Lab Engine</a> (for thin clones)</li><li><a href="https://postgres.fm/episodes/buffers-by-default">Our previous episode on BUFFERS</a></li><li><a href="https://www.youtube.com/watch?app=desktop&amp;v=mCwwFAl1pBU">EXPLAIN Explained</a> (talk by Josh Berkus)</li><li><a href="https://www.youtube.com/watch?v=31EmOKBP1PY&amp;t=24s">A beginner's guide to EXPLAIN</a> (talk by Michael)</li><li><a href="https://www.youtube.com/watch?v=3_3pnn7_nnc">A deeper dive into EXPLAIN</a> (talk by Michael)</li><li><a href="https://www.pgmustard.com/docs/explain">EXPLAIN glossary</a> (pgMustard docs)</li><li><a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">Topic suggestions document</a></li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> and <a href="https://twitter.com/michristofides">@michristofides</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/intro-to-query-optimization">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/docs/current/using-explain.html">Using EXPLAIN</a> (PostgreSQL documentation)</li><li><a href="https://explain.depesz.com/">explain.depesz.com</a></li><li><a href="https://explain.dalibo.com/">explain.dalibo.com</a></li><li><a href="https://www.pgmustard.com/">pgMustard</a> </li><li><a href="https://www.eversql.com/">EverSQL</a></li><li><a href="https://pganalyze.com/">pganalyze</a></li><li><a href="https://github.com/percona/pg_stat_monitor">pg_stat_monitor</a> (Extension by Percona)</li><li><a href="https://www.postgresql.org/message-id/flat/f1dcf048-36ba-2e78-2404-35468cce0c63%40timescale.com#cdc2b8c7c6f75405f6db6cf8f64007ce">Recent thread on hackers mailing list</a> about plan_id in pg_stat_activity</li><li><a href="https://www.postgresql.org/docs/current/auto-explain.html">auto_explain</a></li><li><a href="https://ongres.com/blog/explain_analyze_may_be_lying_to_you/">EXPLAIN observer effect</a> (Ongres blog post by Álvaro Hernández)</li><li><a href="https://www.pgmustard.com/blog/auto-explain-overhead-with-timing">auto_explain overhead</a> (blog post by Michael)  </li><li><a href="https://www.postgresql.org/docs/current/pgtesttiming.html">pg_test_timing</a></li><li><a href="https://github.com/postgres-ai/database-lab-engine">Database Lab Engine</a> (for thin clones)</li><li><a href="https://postgres.fm/episodes/buffers-by-default">Our previous episode on BUFFERS</a></li><li><a href="https://www.youtube.com/watch?app=desktop&amp;v=mCwwFAl1pBU">EXPLAIN Explained</a> (talk by Josh Berkus)</li><li><a href="https://www.youtube.com/watch?v=31EmOKBP1PY&amp;t=24s">A beginner's guide to EXPLAIN</a> (talk by Michael)</li><li><a href="https://www.youtube.com/watch?v=3_3pnn7_nnc">A deeper dive into EXPLAIN</a> (talk by Michael)</li><li><a href="https://www.pgmustard.com/docs/explain">EXPLAIN glossary</a> (pgMustard docs)</li><li><a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">Topic suggestions document</a></li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> and <a href="https://twitter.com/michristofides">@michristofides</a> or by commenting on <a href="https://docs.google.com/document/d/1PNGSn_d0A7gTR4C0p6geQyHOTgdpitKCRvafCNnT-44/edit#heading=h.v4ncheatetql">our Google doc</a>.</p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/intro-to-query-optimization">here's a good link</a> (and thank you!)</p><p>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 02 Sep 2022 10:30:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/abe46494/e0ff1b1a.mp3" length="31929225" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>1994</itunes:duration>
      <itunes:summary>Nikolay and Michael discuss query optimization — specifically for a single query, not at the system level.</itunes:summary>
      <itunes:subtitle>Nikolay and Michael discuss query optimization — specifically for a single query, not at the system level.</itunes:subtitle>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/abe46494/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>How to become a DBA</title>
      <itunes:episode>8</itunes:episode>
      <podcast:episode>8</podcast:episode>
      <itunes:title>How to become a DBA</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">1bf235c1-09f5-47a9-bc69-8588b76f6e05</guid>
      <link>https://share.transistor.fm/s/bc042191</link>
      <description>
        <![CDATA[<p>And few things we mentioned: </p><ul><li><a href="https://www.reddit.com/r/PostgreSQL/comments/wjlqq0/comment/ijifysl/?context=3">Topic request on Reddit</a> — thanks HerbyHoover!</li><li><a href="https://hakibenita.com/">Haki Benita's blog</a> </li><li><a href="https://www.postgresql.org/docs/current/index.html">PostgreSQL documentation</a> (table of contents) </li><li><a href="https://planet.postgresql.org/">Planet PostgreSQL</a> (blog aggregator) </li><li><a href="https://momjian.us/main/writings/pgsql/mvcc.pdf">MVCC Unmasked</a> (by Bruce Momjian) </li><li><a href="https://www.interdb.jp/pg/">The Internals of PostgreSQL</a> (by Hironobu SUZUKI)</li><li><a href="https://edu.postgrespro.com/postgresql_internals-14_parts1-2_en.pdf">PostgreSQL 14 Internals — parts I and II</a> (by Egor Rogov)</li><li><a href="https://www.cybertec-postgresql.com/en/blog/">Cybertec blog</a></li><li><a href="https://modern-sql.com/">modern-sql.com</a> (by Markus Winand)</li><li><a href="https://use-the-index-luke.com/">use-the-index-luke.com</a> (by Markus Winand)</li><li><a href="https://theartofpostgresql.com/">The Art of PostgreSQL</a> (by Dimitri Fontaine) </li><li><a href="https://explain.depesz.com/">explain.depesz.com</a></li><li><a href="https://explain.dalibo.com/">explain.dalibo.com</a> </li></ul><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> and <a href="https://twitter.com/michristofides">@michristofides</a></p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/how-to-become-a-dba">here's a good link</a> (and thank you!)</p><p><br>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>And few things we mentioned: </p><ul><li><a href="https://www.reddit.com/r/PostgreSQL/comments/wjlqq0/comment/ijifysl/?context=3">Topic request on Reddit</a> — thanks HerbyHoover!</li><li><a href="https://hakibenita.com/">Haki Benita's blog</a> </li><li><a href="https://www.postgresql.org/docs/current/index.html">PostgreSQL documentation</a> (table of contents) </li><li><a href="https://planet.postgresql.org/">Planet PostgreSQL</a> (blog aggregator) </li><li><a href="https://momjian.us/main/writings/pgsql/mvcc.pdf">MVCC Unmasked</a> (by Bruce Momjian) </li><li><a href="https://www.interdb.jp/pg/">The Internals of PostgreSQL</a> (by Hironobu SUZUKI)</li><li><a href="https://edu.postgrespro.com/postgresql_internals-14_parts1-2_en.pdf">PostgreSQL 14 Internals — parts I and II</a> (by Egor Rogov)</li><li><a href="https://www.cybertec-postgresql.com/en/blog/">Cybertec blog</a></li><li><a href="https://modern-sql.com/">modern-sql.com</a> (by Markus Winand)</li><li><a href="https://use-the-index-luke.com/">use-the-index-luke.com</a> (by Markus Winand)</li><li><a href="https://theartofpostgresql.com/">The Art of PostgreSQL</a> (by Dimitri Fontaine) </li><li><a href="https://explain.depesz.com/">explain.depesz.com</a></li><li><a href="https://explain.dalibo.com/">explain.dalibo.com</a> </li></ul><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> and <a href="https://twitter.com/michristofides">@michristofides</a></p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/how-to-become-a-dba">here's a good link</a> (and thank you!)</p><p><br>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 26 Aug 2022 13:30:48 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/bc042191/e11b43d8.mp3" length="31248962" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>1951</itunes:duration>
      <itunes:summary>Michael and Nikolay discuss various tasks, expectations, and roles involved in both junior and senior DBA roles, as well as some good learning resources to help along the way. </itunes:summary>
      <itunes:subtitle>Michael and Nikolay discuss various tasks, expectations, and roles involved in both junior and senior DBA roles, as well as some good learning resources to help along the way. </itunes:subtitle>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/bc042191/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Monitoring checklist</title>
      <itunes:episode>7</itunes:episode>
      <podcast:episode>7</podcast:episode>
      <itunes:title>Monitoring checklist</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">8c0c9d17-460d-4dbf-943e-02310c447fee</guid>
      <link>https://share.transistor.fm/s/7d72daf7</link>
      <description>
        <![CDATA[<p>Monitoring checklist (dashboard 1):</p><ol><li>TPS and (optional but also desired) QPS</li><li>Latency (query duration) — at least average. Better: histogram, percentiles</li><li>Connections (sessions) — stacked graph of session counts by state (first of all: active and idle-in-transaction; also interesting: idle, others) and how far the sum is from max_connection (+pool size for PgBouncer).</li><li>Longest transactions (max transaction age or top-n transactions by age), excluding autovacuum activity</li><li>Commits vs rollbacks — how many transactions are rolled back</li><li>Transactions left till transaction ID wraparound</li><li>Replication lags / bytes in replication slot / unused replication slots</li><li>Count of WALs waiting to be archived (archiving lag)</li><li>WAL generation rates</li><li>Locks and deadlocks</li><li>Basic query analysis graph (top-n by total_time or by mean_time?)</li><li>Basic wait event analysis (a.k.a. “active session analysis” or “performance insights”)</li></ol><p>And links to a few things we mentioned: </p><ul><li><a href="https://docs.google.com/document/d/1VDMOQemf2XLWSD660GCMXSNC8tMY6Jg5K-nlxM2e2Ps/">Postgres monitoring review checklist</a> (community document) </li><li><a href="https://pgstats.ru/">pgstats.dev</a></li><li><a href="https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/improving-postgres-connection-scalability-snapshots/ba-p/1806462">Improving Postgres Connection Scalability: Snapshots</a> (blog post by Andres Freund) </li><li><a href="https://blog.sentry.io/2015/07/23/transaction-id-wraparound-in-postgres">Transaction ID Wraparound in Postgres</a> (blog post by David Cramer) </li><li><a href="https://postgres.ai/blog/20210831-postgresql-subtransactions-considered-harmful">Subtransactions Considered Harmful</a> (blog post by Nikolay)</li><li><a href="https://www.datadoghq.com/">datadoghq.com</a>  </li><li><a href="https://gitlab.com/postgres-ai/pgwatch2">pgwatch2</a> (Postgres.ai Edition) </li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> and <a href="https://twitter.com/michristofides">@michristofides</a></p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/monitoring-checklist">here's a good link</a> (and thank you!)</p><p><br>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Monitoring checklist (dashboard 1):</p><ol><li>TPS and (optional but also desired) QPS</li><li>Latency (query duration) — at least average. Better: histogram, percentiles</li><li>Connections (sessions) — stacked graph of session counts by state (first of all: active and idle-in-transaction; also interesting: idle, others) and how far the sum is from max_connection (+pool size for PgBouncer).</li><li>Longest transactions (max transaction age or top-n transactions by age), excluding autovacuum activity</li><li>Commits vs rollbacks — how many transactions are rolled back</li><li>Transactions left till transaction ID wraparound</li><li>Replication lags / bytes in replication slot / unused replication slots</li><li>Count of WALs waiting to be archived (archiving lag)</li><li>WAL generation rates</li><li>Locks and deadlocks</li><li>Basic query analysis graph (top-n by total_time or by mean_time?)</li><li>Basic wait event analysis (a.k.a. “active session analysis” or “performance insights”)</li></ol><p>And links to a few things we mentioned: </p><ul><li><a href="https://docs.google.com/document/d/1VDMOQemf2XLWSD660GCMXSNC8tMY6Jg5K-nlxM2e2Ps/">Postgres monitoring review checklist</a> (community document) </li><li><a href="https://pgstats.ru/">pgstats.dev</a></li><li><a href="https://techcommunity.microsoft.com/t5/azure-database-for-postgresql/improving-postgres-connection-scalability-snapshots/ba-p/1806462">Improving Postgres Connection Scalability: Snapshots</a> (blog post by Andres Freund) </li><li><a href="https://blog.sentry.io/2015/07/23/transaction-id-wraparound-in-postgres">Transaction ID Wraparound in Postgres</a> (blog post by David Cramer) </li><li><a href="https://postgres.ai/blog/20210831-postgresql-subtransactions-considered-harmful">Subtransactions Considered Harmful</a> (blog post by Nikolay)</li><li><a href="https://www.datadoghq.com/">datadoghq.com</a>  </li><li><a href="https://gitlab.com/postgres-ai/pgwatch2">pgwatch2</a> (Postgres.ai Edition) </li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> and <a href="https://twitter.com/michristofides">@michristofides</a></p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/monitoring-checklist">here's a good link</a> (and thank you!)</p><p><br>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 19 Aug 2022 13:30:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/7d72daf7/7ad613fd.mp3" length="25972925" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>1621</itunes:duration>
      <itunes:summary>Nikolay takes us through a checklist of important things to monitor, while Michael tries to keep up. </itunes:summary>
      <itunes:subtitle>Nikolay takes us through a checklist of important things to monitor, while Michael tries to keep up. </itunes:subtitle>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/7d72daf7/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Vacuum</title>
      <itunes:episode>6</itunes:episode>
      <podcast:episode>6</podcast:episode>
      <itunes:title>Vacuum</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">5eb910ca-eeef-4320-a002-ea5511c6bd1b</guid>
      <link>https://share.transistor.fm/s/94849b90</link>
      <description>
        <![CDATA[<p>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.youtube.com/watch?v=JcRi8Z7rkPg">Do you vacuum everyday?</a> (talk by Hannu Krosing)</li><li><a href="https://www.enterprisedb.com/postgres-tutorials/introduction-postgresql-performance-tuning-and-optimization#autovacuum">Autovacuum tuning</a> (EDB guide) </li><li><a href="https://www.2ndquadrant.com/en/blog/when-autovacuum-does-not-vacuum/">When autovacuum does not vacuum</a> (2ndQuadrant blog post by Tomas Vondra) </li><li><a href="https://web.archive.org/web/20210417030906/https://www.2ndquadrant.com/en/blog/autovacuum-tuning-basics/">Autovacuum tuning basics</a> (old 2ndQuadrant blog post)</li><li><a href="https://www.youtube.com/watch?v=gWNyLrUmi0w">Discussion with Anastasia Lubennikova</a> (on RuPostgres, in Russian)  </li><li><a href="https://www.youtube.com/watch?v=n5-xEEQFqPY">B-tree indexes</a> (talk by Anastasia Lubennikova, in English) </li><li><a href="https://www.youtube.com/watch?v=iAPawr1DxhM">Discussion with Peter Geoghegan</a> (on Postgres TV)</li><li><a href="https://github.com/reorg/pg_repack">pg_repack</a> </li><li><a href="https://github.com/cybertec-postgresql/pg_squeeze">pg_squeeze</a> </li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> and <a href="https://twitter.com/michristofides">@michristofides</a></p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/vacuum">here's a good link</a> (and thank you!)</p><p><br>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.youtube.com/watch?v=JcRi8Z7rkPg">Do you vacuum everyday?</a> (talk by Hannu Krosing)</li><li><a href="https://www.enterprisedb.com/postgres-tutorials/introduction-postgresql-performance-tuning-and-optimization#autovacuum">Autovacuum tuning</a> (EDB guide) </li><li><a href="https://www.2ndquadrant.com/en/blog/when-autovacuum-does-not-vacuum/">When autovacuum does not vacuum</a> (2ndQuadrant blog post by Tomas Vondra) </li><li><a href="https://web.archive.org/web/20210417030906/https://www.2ndquadrant.com/en/blog/autovacuum-tuning-basics/">Autovacuum tuning basics</a> (old 2ndQuadrant blog post)</li><li><a href="https://www.youtube.com/watch?v=gWNyLrUmi0w">Discussion with Anastasia Lubennikova</a> (on RuPostgres, in Russian)  </li><li><a href="https://www.youtube.com/watch?v=n5-xEEQFqPY">B-tree indexes</a> (talk by Anastasia Lubennikova, in English) </li><li><a href="https://www.youtube.com/watch?v=iAPawr1DxhM">Discussion with Peter Geoghegan</a> (on Postgres TV)</li><li><a href="https://github.com/reorg/pg_repack">pg_repack</a> </li><li><a href="https://github.com/cybertec-postgresql/pg_squeeze">pg_squeeze</a> </li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> and <a href="https://twitter.com/michristofides">@michristofides</a></p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/vacuum">here's a good link</a> (and thank you!)</p><p><br>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 12 Aug 2022 13:50:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/94849b90/76809e77.mp3" length="27210511" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>1941</itunes:duration>
      <itunes:summary>Nikolay and Michael discuss vacuum — what it is, why we need it, some improvements in recent years, and even a creative use for vacuum full.</itunes:summary>
      <itunes:subtitle>Nikolay and Michael discuss vacuum — what it is, why we need it, some improvements in recent years, and even a creative use for vacuum full.</itunes:subtitle>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/94849b90/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>NULLs: the good, the bad, the ugly, and the unknown</title>
      <itunes:episode>5</itunes:episode>
      <podcast:episode>5</podcast:episode>
      <itunes:title>NULLs: the good, the bad, the ugly, and the unknown</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">3dc29e7b-e349-4d34-98a0-0acdb8212679</guid>
      <link>https://share.transistor.fm/s/39fe8710</link>
      <description>
        <![CDATA[<p>Here are links to a few things we mentioned: </p><ul><li><a href="https://en.wikipedia.org/wiki/Three-valued_logic">Three-valued_logic</a> (Wikipedia)</li><li><a href="https://blog.rustprooflabs.com/2022/07/postgres-15-unique-improvement-with-null">Postgres 15 improves UNIQUE and NULL</a> (blog post by Ryan Lambert) </li><li><a href="https://hakibenita.com/sql-for-data-analysis#interpolation">Practical SQL for Data Analysis — Interpolation</a> (blog post by Haki Benita) </li><li><a href="http://thoughts.davisjeff.com/2009/08/02/what-is-the-deal-with-nulls/">What is the deal with NULLs?</a> (blog post by Jeff Davis) </li><li><a href="https://modern-sql.com/concept/null">NULL in SQL: Indicating the Absence of Data</a> (Markus Winand on Modern SQL) </li><li><a href="https://theartofpostgresql.com/">The Art of PostgreSQL</a> (book by Dimitri Fontaine) </li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> and <a href="https://twitter.com/michristofides">@michristofides</a></p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/nulls-the-good-the-bad-the-ugly-and-the-unknown">here's a good link</a> (and thank you!)</p><p><br>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Here are links to a few things we mentioned: </p><ul><li><a href="https://en.wikipedia.org/wiki/Three-valued_logic">Three-valued_logic</a> (Wikipedia)</li><li><a href="https://blog.rustprooflabs.com/2022/07/postgres-15-unique-improvement-with-null">Postgres 15 improves UNIQUE and NULL</a> (blog post by Ryan Lambert) </li><li><a href="https://hakibenita.com/sql-for-data-analysis#interpolation">Practical SQL for Data Analysis — Interpolation</a> (blog post by Haki Benita) </li><li><a href="http://thoughts.davisjeff.com/2009/08/02/what-is-the-deal-with-nulls/">What is the deal with NULLs?</a> (blog post by Jeff Davis) </li><li><a href="https://modern-sql.com/concept/null">NULL in SQL: Indicating the Absence of Data</a> (Markus Winand on Modern SQL) </li><li><a href="https://theartofpostgresql.com/">The Art of PostgreSQL</a> (book by Dimitri Fontaine) </li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> and <a href="https://twitter.com/michristofides">@michristofides</a></p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/nulls-the-good-the-bad-the-ugly-and-the-unknown">here's a good link</a> (and thank you!)</p><p><br>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 05 Aug 2022 14:00:00 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/39fe8710/ad646f46.mp3" length="26111038" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>1630</itunes:duration>
      <itunes:summary>Nikolay and Michael discuss NULLs — including some problems they can cause, a new feature coming in Postgres 15, and some learning resources we like.</itunes:summary>
      <itunes:subtitle>Nikolay and Michael discuss NULLs — including some problems they can cause, a new feature coming in Postgres 15, and some learning resources we like.</itunes:subtitle>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/39fe8710/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>BUFFERS by default</title>
      <itunes:episode>4</itunes:episode>
      <podcast:episode>4</podcast:episode>
      <itunes:title>BUFFERS by default</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">6e119e94-2104-43ee-9095-0cb9fe5aff94</guid>
      <link>https://share.transistor.fm/s/6ebc26b2</link>
      <description>
        <![CDATA[<p>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/docs/current/sql-explain.html#id-1.9.3.148.8">EXPLAIN parameters</a> (PostgreSQL documentation)</li><li><a href="https://postgres.ai/blog/20220106-explain-analyze-needs-buffers-to-improve-the-postgres-query-optimization-process">EXPLAIN (ANALYZE) needs BUFFERS</a> (blog post by Nikolay)</li><li><a href="https://www.pgmustard.com/blog/using-postgres-buffers-for-query-optimization">Using BUFFERS for query optimization</a> (blog post by Michael)  </li><li><a href="https://blog.rustprooflabs.com/2022/06/h3-indexes-on-postgis-data">H3 indexes on PostGIS data</a> (blog post by Ryan Lambert)</li><li><a href="https://commitfest.postgresql.org/38/3409/">Turning BUFFERS on by default</a> (latest patch)</li><li><a href="https://www.pgmustard.com/">pgMustard</a> </li><li><a href="https://explain.depesz.com/">explain.depesz.com</a></li><li><a href="https://explain.dalibo.com/">explain.dalibo.com</a></li><li><a href="https://postgres.ai/">Database Lab Engine</a></li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> and <a href="https://twitter.com/michristofides">@michristofides</a></p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/buffers-by-default">here's a good link</a> (and thank you!)</p><p><br>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Here are links to a few things we mentioned: </p><ul><li><a href="https://www.postgresql.org/docs/current/sql-explain.html#id-1.9.3.148.8">EXPLAIN parameters</a> (PostgreSQL documentation)</li><li><a href="https://postgres.ai/blog/20220106-explain-analyze-needs-buffers-to-improve-the-postgres-query-optimization-process">EXPLAIN (ANALYZE) needs BUFFERS</a> (blog post by Nikolay)</li><li><a href="https://www.pgmustard.com/blog/using-postgres-buffers-for-query-optimization">Using BUFFERS for query optimization</a> (blog post by Michael)  </li><li><a href="https://blog.rustprooflabs.com/2022/06/h3-indexes-on-postgis-data">H3 indexes on PostGIS data</a> (blog post by Ryan Lambert)</li><li><a href="https://commitfest.postgresql.org/38/3409/">Turning BUFFERS on by default</a> (latest patch)</li><li><a href="https://www.pgmustard.com/">pgMustard</a> </li><li><a href="https://explain.depesz.com/">explain.depesz.com</a></li><li><a href="https://explain.dalibo.com/">explain.dalibo.com</a></li><li><a href="https://postgres.ai/">Database Lab Engine</a></li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov">@samokhvalov</a> and <a href="https://twitter.com/michristofides">@michristofides</a></p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/buffers-by-default">here's a good link</a> (and thank you!)</p><p><br>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Fri, 29 Jul 2022 13:40:14 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/6ebc26b2/05019b29.mp3" length="28565230" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2038</itunes:duration>
      <itunes:summary>Nikolay and Michael discuss BUFFERS — what they are, how they can be very useful for query optimisation, and whether they should be on by default (spoiler alert, we think they should).</itunes:summary>
      <itunes:subtitle>Nikolay and Michael discuss BUFFERS — what they are, how they can be very useful for query optimisation, and whether they should be on by default (spoiler alert, we think they should).</itunes:subtitle>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/6ebc26b2/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>BRIN indexes</title>
      <itunes:episode>3</itunes:episode>
      <podcast:episode>3</podcast:episode>
      <itunes:title>BRIN indexes</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">cb52f83b-8ddd-4fed-a4cd-158ff63e08b7</guid>
      <link>https://share.transistor.fm/s/c759d86f</link>
      <description>
        <![CDATA[<p>Here are links to the two main resources we mentioned: </p><ul><li><a href="https://www.crunchydata.com/blog/postgres-indexing-when-does-brin-win">Paul Ramsey's recent blog post on BRIN indexes</a></li><li><a href="https://web.archive.org/web/20220629182301/https://blog.pgaddict.com/pdf/brin-index-improvements-p2d2-2022.pdf">Tomas Vondra's slides on BRIN index improvements</a></li></ul><p><br>A few other things we mentioned:</p><ul><li><a href="https://en.wikipedia.org/wiki/B-tree">B-tree Wikipedia page</a> </li><li><a href="https://github.com/reorg/pg_repack">pg_repack</a> </li><li><a href="https://github.com/cybertec-postgresql/pg_squeeze">pg_squeeze</a> </li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov/">@samokhvalov</a> and <a href="https://twitter.com/michristofides">@michristofides</a></p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/brin-indexes">here's a good link</a> (and thank you!)</p><p><br>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>Here are links to the two main resources we mentioned: </p><ul><li><a href="https://www.crunchydata.com/blog/postgres-indexing-when-does-brin-win">Paul Ramsey's recent blog post on BRIN indexes</a></li><li><a href="https://web.archive.org/web/20220629182301/https://blog.pgaddict.com/pdf/brin-index-improvements-p2d2-2022.pdf">Tomas Vondra's slides on BRIN index improvements</a></li></ul><p><br>A few other things we mentioned:</p><ul><li><a href="https://en.wikipedia.org/wiki/B-tree">B-tree Wikipedia page</a> </li><li><a href="https://github.com/reorg/pg_repack">pg_repack</a> </li><li><a href="https://github.com/cybertec-postgresql/pg_squeeze">pg_squeeze</a> </li></ul><p><br></p><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov/">@samokhvalov</a> and <a href="https://twitter.com/michristofides">@michristofides</a></p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/brin-indexes">here's a good link</a> (and thank you!)</p><p><br>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p><br></p><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Thu, 21 Jul 2022 18:02:52 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/c759d86f/e4976710.mp3" length="34707114" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:duration>2167</itunes:duration>
      <itunes:summary>Nikolay and Michael discuss BRIN indexes — how are they different to the default B-Tree index, when are they useful, and how they've improved in PostgreSQL 14.</itunes:summary>
      <itunes:subtitle>Nikolay and Michael discuss BRIN indexes — how are they different to the default B-Tree index, when are they useful, and how they've improved in PostgreSQL 14.</itunes:subtitle>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/c759d86f/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
    <item>
      <title>Managed services vs. DIY</title>
      <itunes:episode>2</itunes:episode>
      <podcast:episode>2</podcast:episode>
      <itunes:title>Managed services vs. DIY</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">73f31efc-8ddd-42d6-9e50-ed068660a43a</guid>
      <link>https://share.transistor.fm/s/d394bdd2</link>
      <description>
        <![CDATA[<p>A well as discussing pros and cons, we mentioned a LOT of different providers and tools, and a few good articles/videos too. 😅</p><p>Here are links to most of them, roughly in the order they came up: </p><ul><li><a href="https://cloud.google.com/blog/products/databases/how-auto-trader-migrated-its-on-prem-databases-to-cloud-sql">How Auto Trader migrated its on-prem databases to Cloud SQL</a></li><li><a href="https://www.postgresvision.com/ondemand-replay/v/postgresql-community-panel-upgradability">PostgreSQL Community Panel: Upgradability</a></li><li><a href="https://www.youtube.com/playlist?list=PLH8y1BNPAKjJCuZiDRl0qUEDaKLBpFvZ9">Postgres TV Open Talks</a></li><li><a href="https://2022.pgconf.eu/">PostgreSQL Conference Europe</a></li><li><a href="https://www.youtube.com/watch?v=JcRi8Z7rkPg">Hannu Krosing — excellent vacuum talk</a></li><li><a href="https://github.com/mchristofides/pg_docs_bot">pg_docs_bot — browser extension for getting to the current docs</a></li><li><a href="https://aws.amazon.com/rds/postgresql/">Amazon RDS for PostgreSQL</a></li><li><a href="https://cloud.google.com/sql/postgresql">Google Cloud SQL for PostgreSQL</a></li><li><a href="https://elements.heroku.com/addons/heroku-postgresql">Heroku Postgres</a></li><li><a href="https://www.crunchydata.com/products/crunchy-bridge">Crunchy Bridge</a></li><li><a href="https://github.com/zalando/spilo">Spilo: HA PostgreSQL Clusters with Docker</a></li><li><a href="https://aiven.io/postgresql">Aiven for PostgreSQL</a></li><li><a href="https://cloud.google.com/alloydb">AlloyDB for PostgreSQL</a></li><li><a href="https://neon.tech/">Neon</a></li><li><a href="https://www.yugabyte.com/">Yugabyte</a></li><li><a href="https://scalegrid.io/postgresql.html">ScaleGrid PostgreSQL Hosting</a></li><li><a href="https://stackgres.io/">StackGres</a></li><li><a href="https://www.timescale.com/">Timescale</a></li><li><a href="https://github.com/orioledb/orioledb">OrioleDB</a></li><li><a href="https://www.citusdata.com/">Citus</a></li><li><a href="https://supabase.com/">Supabase</a></li><li><a href="https://planetscale.com/">PlanetScale</a></li><li><a href="https://github.com/powa-team/pg_stat_kcache">pg_stat_kcache</a></li><li><a href="https://github.com/postgrespro/pg_wait_sampling">pg_wait_sampling</a></li><li><a href="https://www.enterprisedb.com/products/biganimal-cloud-postgresql">EDB BigAnimal</a></li><li><a href="https://azure.microsoft.com/en-us/services/postgresql/">Azure Database for PostgreSQL</a></li></ul><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov/">@samokhvalov</a> and <a href="https://twitter.com/michristofides">@michristofides</a></p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/managed-services-vs-diy">here's a good link</a> (and thank you!)</p><p><br>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>A well as discussing pros and cons, we mentioned a LOT of different providers and tools, and a few good articles/videos too. 😅</p><p>Here are links to most of them, roughly in the order they came up: </p><ul><li><a href="https://cloud.google.com/blog/products/databases/how-auto-trader-migrated-its-on-prem-databases-to-cloud-sql">How Auto Trader migrated its on-prem databases to Cloud SQL</a></li><li><a href="https://www.postgresvision.com/ondemand-replay/v/postgresql-community-panel-upgradability">PostgreSQL Community Panel: Upgradability</a></li><li><a href="https://www.youtube.com/playlist?list=PLH8y1BNPAKjJCuZiDRl0qUEDaKLBpFvZ9">Postgres TV Open Talks</a></li><li><a href="https://2022.pgconf.eu/">PostgreSQL Conference Europe</a></li><li><a href="https://www.youtube.com/watch?v=JcRi8Z7rkPg">Hannu Krosing — excellent vacuum talk</a></li><li><a href="https://github.com/mchristofides/pg_docs_bot">pg_docs_bot — browser extension for getting to the current docs</a></li><li><a href="https://aws.amazon.com/rds/postgresql/">Amazon RDS for PostgreSQL</a></li><li><a href="https://cloud.google.com/sql/postgresql">Google Cloud SQL for PostgreSQL</a></li><li><a href="https://elements.heroku.com/addons/heroku-postgresql">Heroku Postgres</a></li><li><a href="https://www.crunchydata.com/products/crunchy-bridge">Crunchy Bridge</a></li><li><a href="https://github.com/zalando/spilo">Spilo: HA PostgreSQL Clusters with Docker</a></li><li><a href="https://aiven.io/postgresql">Aiven for PostgreSQL</a></li><li><a href="https://cloud.google.com/alloydb">AlloyDB for PostgreSQL</a></li><li><a href="https://neon.tech/">Neon</a></li><li><a href="https://www.yugabyte.com/">Yugabyte</a></li><li><a href="https://scalegrid.io/postgresql.html">ScaleGrid PostgreSQL Hosting</a></li><li><a href="https://stackgres.io/">StackGres</a></li><li><a href="https://www.timescale.com/">Timescale</a></li><li><a href="https://github.com/orioledb/orioledb">OrioleDB</a></li><li><a href="https://www.citusdata.com/">Citus</a></li><li><a href="https://supabase.com/">Supabase</a></li><li><a href="https://planetscale.com/">PlanetScale</a></li><li><a href="https://github.com/powa-team/pg_stat_kcache">pg_stat_kcache</a></li><li><a href="https://github.com/postgrespro/pg_wait_sampling">pg_wait_sampling</a></li><li><a href="https://www.enterprisedb.com/products/biganimal-cloud-postgresql">EDB BigAnimal</a></li><li><a href="https://azure.microsoft.com/en-us/services/postgresql/">Azure Database for PostgreSQL</a></li></ul><p>------------------------</p><p><br>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov/">@samokhvalov</a> and <a href="https://twitter.com/michristofides">@michristofides</a></p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/managed-services-vs-diy">here's a good link</a> (and thank you!)</p><p><br>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Thu, 14 Jul 2022 14:01:01 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/d394bdd2/2d56d3bd.mp3" length="31588529" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:image href="https://img.transistorcdn.com/7hSsyMCGfWxLha-TfZWnzv9gKnvY7Y2oJlFpBbLxmSA/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzk1MTAxNi8x/NjU3Nzk4MTAxLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>1972</itunes:duration>
      <itunes:summary>Nikolay and Michael discuss some options for hosting Postgres — what are the main reasons for going for a managed service, versus managing it in-house (DIY).</itunes:summary>
      <itunes:subtitle>Nikolay and Michael discuss some options for hosting Postgres — what are the main reasons for going for a managed service, versus managing it in-house (DIY).</itunes:subtitle>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/d394bdd2/transcript.vtt" type="text/vtt" rel="captions"/>
    </item>
    <item>
      <title>Slow queries and slow transactions</title>
      <itunes:episode>1</itunes:episode>
      <podcast:episode>1</podcast:episode>
      <itunes:title>Slow queries and slow transactions</itunes:title>
      <itunes:episodeType>full</itunes:episodeType>
      <guid isPermaLink="false">0c24b68d-2515-40bd-bd9e-4d8319af9fcf</guid>
      <link>https://share.transistor.fm/s/101de70e</link>
      <description>
        <![CDATA[<p>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov/">@samokhvalov</a> and <a href="https://twitter.com/michristofides">@michristofides</a></p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/slow-queries-and-slow-transactions">here's a good link</a> (and thank you!)</p><p>We also have an <a href="https://www.youtube.com/watch?v=_uxwWu3JCQA">uncut video version on YouTube</a>.</p><p><br>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </description>
      <content:encoded>
        <![CDATA[<p>What did you like or not like? What should we discuss next time? Let us know by tweeting us on <a href="https://twitter.com/samokhvalov/">@samokhvalov</a> and <a href="https://twitter.com/michristofides">@michristofides</a></p><p>If you would like to share this episode, <a href="https://postgres.fm/episodes/slow-queries-and-slow-transactions">here's a good link</a> (and thank you!)</p><p>We also have an <a href="https://www.youtube.com/watch?v=_uxwWu3JCQA">uncut video version on YouTube</a>.</p><p><br>Postgres FM is brought to you by:</p><ul><li>Nikolay Samokhvalov, founder of <a href="https://postgres.ai/">Postgres.ai</a></li><li>Michael Christofides, founder of <a href="https://pgmustard.com/">pgMustard</a></li></ul><p>With special thanks to:</p><ul><li>Jessie Draws for the elephant artwork</li></ul>]]>
      </content:encoded>
      <pubDate>Tue, 05 Jul 2022 20:29:49 +0100</pubDate>
      <author>Nikolay Samokhvalov and Michael Christofides</author>
      <enclosure url="https://media.transistor.fm/101de70e/1e09afb6.mp3" length="25003473" type="audio/mpeg"/>
      <itunes:author>Nikolay Samokhvalov and Michael Christofides</itunes:author>
      <itunes:image href="https://img.transistorcdn.com/6nu3659r4gMbof4-MhHKnJw4gr7kd7gYHv0EZG0dhuw/rs:fill:0:0:1/w:1400/h:1400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9lcGlz/b2RlLzkzODEzMC8x/NjU3MTgxNTYxLWFy/dHdvcmsuanBn.jpg"/>
      <itunes:duration>1560</itunes:duration>
      <itunes:summary>Nikolay and Michael introduce Postgres FM, and then discuss slow queries and slow transactions — what counts as slow, how can we monitor them, and what have we seen in the wild. </itunes:summary>
      <itunes:subtitle>Nikolay and Michael introduce Postgres FM, and then discuss slow queries and slow transactions — what counts as slow, how can we monitor them, and what have we seen in the wild. </itunes:subtitle>
      <itunes:keywords>Postgres, PostgreSQL, Databases, SQL, technology</itunes:keywords>
      <itunes:explicit>No</itunes:explicit>
      <podcast:person role="Host" href="https://www.pgmustard.com/" img="https://img.transistorcdn.com/Is88ErCAGwdSqCUpgjtl3rFhSy79BvbU5VcMEDxRD1k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vOTg4OTczYWMt/OTEzYS00ODY1LWI2/NzItODk0YWFjM2Q0/MTIwLzE2NjU2OTU3/OTQtaW1hZ2UuanBn.jpg">Michael Christofides</podcast:person>
      <podcast:person role="Host" href="https://postgres.ai/" img="https://img.transistorcdn.com/_S1YgadJH1ZjaAOzmc0CIcdTPzwN0C16a548wo6ll3k/rs:fill:0:0:1/w:800/h:800/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9wZXJz/b24vNDUyMWUzZTAt/YzQwNi00NDk3LWJk/MzEtOWM4ZTk5ZjYx/YTI4LzE2NjU2OTU5/MzYtaW1hZ2UuanBn.jpg">Nikolay Samokhvalov</podcast:person>
      <podcast:transcript url="https://share.transistor.fm/s/101de70e/transcript.srt" type="application/x-subrip" rel="captions"/>
    </item>
  </channel>
</rss>
