Postgres FM

Postgres FM

By Nikolay Samokhvalov and Michael ChristofidesNewsTechnologyTech News
Download on the App Store

Postgres FM episodes

  • autovacuum

    Nik and Michael discuss autovacuum, including what it does, and the basics of why and how to tune it. 
     
    Here are some links to things they mentioned: 

    • autovacuum https://www.postgresql.org/docs/current/routine-vacuuming.html#AUTOVACUUM
    • autovacuum configuration parameters https://www.postgresql.org/docs/current/runtime-config-vacuum.html#RUNTIME-CONFIG-AUTOVACUUM
    • What’s Missing in Postgres? (our episode with Bruce Momjian) https://postgres.fm/episodes/what-s-missing-in-postgres
    • pg_squeeze (our episode with Antonín Houska) https://postgres.fm/episodes/pg_squeeze
    • My queries to monitor autovacuum (post by Laurenz Albe) https://www.cybertec-postgresql.com/en/monitor-autovacuum-my-queries/
    • Autovacuum Tuning Basics (post by Tomas Vondra, originally for 2nd Quadrant blog) https://www.enterprisedb.com/blog/autovacuum-tuning-basics
    • Zero autovacuum_vacuum_cost_delay, Write Storms, and You (post by Jeremy Schneider) https://ardentperf.com/2026/04/12/zero-autovacuum_cost_delay-write-storms-and-you/
    • Our episode on long-running transactions / xmin horizon https://postgres.fm/episodes/long-running-transactions


    ~~~

    What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on social media, or by commenting on our Google doc!


    ~~~

    Postgres FM is produced by:

    • Michael Christofides, founder of pgMustard
    • Nikolay Samokhvalov, founder of Postgres.ai


    With credit to:

    • Jessie Draws for the elephant artwork
    47 min
  • pg_flight_recorder

    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.
     
    Here are some links to things they mentioned: 

    • David Ventimiglia https://postgres.fm/people/david-ventimiglia
    • pg_flight_recorder https://github.com/dventimisupabase/pg_flight_recorder
    • Supabase https://supabase.com
    • pg_wait_sampling https://github.com/postgrespro/pg_wait_sampling
    • pg_ash https://github.com/NikolayS/pg_ash
    • pg_cron https://github.com/citusdata/pg_cron
    • pg_tle https://github.com/aws/pg_tle


    ~~~

    What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on social media, or by commenting on our Google doc!


    ~~~

    Postgres FM is produced by:

    • Michael Christofides, founder of pgMustard
    • Nikolay Samokhvalov, founder of Postgres.ai


    With credit to:

    • Jessie Draws for the elephant artwork
    44 min
  • PgQue

    Nik and Michael discuss Nik's new project PgQue, a descendent of Skype's PgQ, for running queue-like workloads in Postgres.
     
    Here are some links to things they mentioned: 

    • Our first episode on Queues in Postgres https://postgres.fm/episodes/queues-in-postgres
    • PgQue https://github.com/NikolayS/pgque
    • HN discussion https://news.ycombinator.com/item?id=47817349
    • PgQ https://github.com/pgq/pgq
    • pgmq https://github.com/pgmq/pgmq
    • River https://riverqueue.com
    • Keeping a Postgres queue healthy (blog post by Simeon Griggs / PlanetScale) https://planetscale.com/blog/keeping-a-postgres-queue-healthy
    • Postgres Job Queues & Failure By MVCC (blog post by Brandur) https://brandur.org/postgres-queues
    • My queries to monitor autovacuum (blog post by Laurenz Albe) https://www.cybertec-postgresql.com/en/monitor-autovacuum-my-queries/
    • SELECT FOR UPDATE considered harmful (blog post by Laurenz Albe) https://www.cybertec-postgresql.com/en/select-for-update-considered-harmful-postgresql/
    • Christophe Pettus blog post https://thebuild.com/blog/2026/05/03/pgque-two-snapshots-and-a-diff
    • Our episode on pg_ash https://postgres.fm/episodes/pg_ash
    • Rediscovering PgQ (Alexander Kukushkin slides) https://speakerdeck.com/cyberdemn/rediscovering-pgq
    • Tick frequency tuning https://github.com/NikolayS/PgQue/blob/main/docs/tick-frequency.md


    ~~~

    What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on social media, or by commenting on our Google doc!


    ~~~

    Postgres FM is produced by:

    • Michael Christofides, founder of pgMustard
    • Nikolay Samokhvalov, founder of Postgres.ai


    With credit to:

    • Jessie Draws for the elephant artwork
    48 min
  • pg_wait_tracer

    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.
     
    Here are some links to things they mentioned: 

    • Dmitry Fomin https://postgres.fm/people/dmitry-fomin
    • pg_wait_tracer https://github.com/DmitryNFomin/pg_wait_tracer
    • pg_wait_sampling https://github.com/postgrespro/pg_wait_sampling
    • pg_10046 https://github.com/DmitryNFomin/pg_10046
    • Jeremy Schneider reply on LinkedIn https://www.linkedin.com/feed/update/urn:li:activity:7414966981847748608
    • RDS for PostgreSQL wait event docs https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Tuning.concepts.summary.html
    • Custom wait events for extensions (added in PostgreSQL 17) https://www.postgresql.org/docs/current/xfunc-c.html#XFUNC-ADDIN-WAIT-EVENTS
    • Hacking Postgres with Dmitry, Kirk, and Nik (Part 1) https://www.youtube.com/watch?v=3Gtuc2lnnsE
    • Hacking Postgres with Dmitry, Kirk, and Nik (Part 2) https://www.youtube.com/watch?v=6kqpjnpl5Gc
    • Tanel Poder https://tanelpoder.com/about/
    • USDT static tracepoints for wait event tracing (proof of concept by Nik) https://github.com/NikolayS/postgres/pull/18
    • Add wait_event_timing: Oracle-style wait event instrumentation (patch by Dmitry) https://github.com/DmitryNFomin/postgres/pull/1
    • PgQue benchmarks https://github.com/NikolayS/pgque/blob/main/docs/benchmarks.md
    • The Art of Computer Systems Performance Analysis Techniques for Experimental Design, Measurement, Simulation and Modeling (by Raj K. Jain) https://www.researchgate.net/publication/259310412_The_Art_of_Computer_Systems_Performance_Analysis_Techniques_For_Experimental_Design_Measurement_Simulation_and_Modeling_NY_Wiley
    • Performance modeling and design of computer systems queueing theory in action (by Prof. Mor Harchol-Balter) https://www.cs.cmu.edu/~harchol/PerformanceModeling/book.html
    • Oracle Performance Firefighting (by Craig_Shallahamer) https://www.abebooks.co.uk/9780984102303/Oracle-Performance-Firefighting-Craig-Shallahamer-0984102302/plp
    • Process Mining: Data Science in Action (by Wil van der Aalst) https://link.springer.com/book/10.1007/978-3-662-49851-4


    ~~~

    What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on social media, or by commenting on our Google doc!


    ~~~

    Postgres FM is produced by:

    • Michael Christofides, founder of pgMustard
    • Nikolay Samokhvalov, founder of Postgres.ai


    With credit to:

    • Jessie Draws for the elephant artwork
    45 min
  • Schema design checklist

    Nik and Michael discuss a list of things to check when designing new schema in Postgres.
     
    Here are some links to things they mentioned:

    • Use BIGINT in Postgres (blog post by Ryan Lambert) https://blog.rustprooflabs.com/2021/06/postgres-bigint-by-default
    • Postgres 18 and UUIDv7 (blog post by Gwen Shapira) https://www.thenile.dev/blog/uuidv7
    • How to use UUID (how-to guide by Nik) https://postgres.ai/docs/postgres-howtos/schema-design/data-types/how-to-use-uuid
    • Our episode on constraints https://postgres.fm/episodes/constraints
    • Our episode on NULLs https://postgres.fm/episodes/nulls-the-good-the-bad-the-ugly-and-the-unknown
    • MultiXact member space exhaustion episode (with Metronome) https://postgres.fm/episodes/multixact-member-space-exhaustion
    • Our Column Tetris episode https://postgres.fm/episodes/column-tetris
    • Saving Space Basically for Free (blog post by James Coleman from Braintree) https://medium.com/paypal-tech/postgresql-at-scale-saving-space-basically-for-free-d94483d9ed9a
    • Over-indexing episode https://postgres.fm/episodes/over-indexing
    • Under-indexing episode https://postgres.fm/episodes/under-indexing
    • Gadget's use of Postgres https://postgres.fm/episodes/gadgets-use-of-postgres
    • Partitioning episode https://postgres.fm/episodes/partitioning
    • RLS vs performance episode https://postgres.fm/episodes/rls-vs-performance


    ~~~

    What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on social media, or by commenting on our Google doc!


    ~~~

    Postgres FM is produced by:

    • Michael Christofides, founder of pgMustard
    • Nikolay Samokhvalov, founder of Postgres.ai


    With credit to:

    • Jessie Draws for the elephant artwork
    46 min
  • What’s Missing in Postgres?

    Nik and Michael are joined by Bruce Momjian to discuss his new talk "What’s Missing in Postgres?"
     
    Here are some links to things they mentioned: 

    • Bruce Momjian https://postgres.fm/people/bruce-momjian
    • EDB https://www.enterprisedb.com
    • What’s Missing in Postgres? (Bruce’s slides) https://momjian.us/main/writings/pgsql/missing.pdf
    • The Wonderful World of WAL (Bruce’s slides) https://momjian.us/main/writings/pgsql/wal.pdf
    • Getting started with benchmarking (our episode with Melanie Plageman) https://postgres.fm/episodes/getting-started-with-benchmarking
    • Myths and Truths about Synchronous Replication in Postgres (talk by Alexander Kukushkin) https://www.youtube.com/watch?v=PFn9qRGzTMc
    • The Future of Postgres Sharding (Bruce’s slides) https://momjian.us/main/writings/pgsql/sharding.pdf
    • MultiXact member space exhaustion https://postgres.fm/episodes/multixact-member-space-exhaustion


    ~~~

    What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on social media, or by commenting on our Google doc!


    ~~~

    Postgres FM is produced by:

    • Michael Christofides, founder of pgMustard
    • Nikolay Samokhvalov, founder of Postgres.ai


    With credit to:

    • Jessie Draws for the elephant artwork
    44 min
  • Long-running transactions

    Nik and Michael discuss long-running transactions, including when they're harmless, when they cause issues, and how to mitigate those issues.
     
    Here are some links to things they mentioned: 

    • transaction_timeout https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-TRANSACTION-TIMEOUT
    • Our episode on transaction_timeout https://postgres.fm/episodes/transaction_timeout
    • Our episode on slow queries (which was also our first ever episode!) https://postgres.fm/episodes/slow-queries-and-slow-transactions
    • Our episode on locks https://postgres.fm/episodes/locks
    • lock_timeout https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-LOCK-TIMEOUT
    • Transaction Isolation levels https://www.postgresql.org/docs/current/transaction-iso.html
    • pg_current_xact_id_if_assigned() https://pgpedia.info/p/pg_current_xact_id_if_assigned.html
    • Monitor xmin horizon to prevent XID/MultiXID wraparound and high bloat (how-to guide by Nik) https://postgres.ai/docs/postgres-howtos/performance-optimization/monitoring/how-to-monitor-xmin-horizon
    • idle_replication_slot_timeout https://www.postgresql.org/docs/current/runtime-config-replication.html#GUC-IDLE-REPLICATION-SLOT-TIMEOUT
    • PREPARE TRANSACTION https://www.postgresql.org/docs/current/sql-prepare-transaction.html
    • log_autovacuum_min_duration https://www.postgresql.org/docs/devel/runtime-config-logging.html#GUC-LOG-AUTOVACUUM-MIN-DURATION
    • PostgreSQL Subtransactions Considered Harmful (blog post by Nikolay) https://postgres.ai/blog/20210831-postgresql-subtransactions-considered-harmful
    • statement_timeout https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-STATEMENT-TIMEOUT
    • idle_in_transaction_session_timeout https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-IDLE-IN-TRANSACTION-SESSION-TIMEOUT
    • lock_timeout https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-LOCK-TIMEOUT


    ~~~

    What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on social media, or by commenting on our Google doc!


    ~~~

    Postgres FM is produced by:

    • Michael Christofides, founder of pgMustard
    • Nikolay Samokhvalov, founder of Postgres.ai


    With credit to:

    • Jessie Draws for the elephant artwork
    49 min
  • PostGIS

    Nik and Michael are joined by Regina Obe and Paul Ramsey to discuss PostGIS.
     
    Here are some links to things they mentioned:

    • Regina Obe https://postgres.fm/people/regina-obe
    • Paul Ramsey https://postgres.fm/people/paul-ramsey
    • PostGIS https://postgis.net
    • MobilityDB https://github.com/MobilityDB/MobilityDB
    • pgRouting https://github.com/pgRouting/pgrouting
    • Google BigQuery GIS public alpha blog post https://cloud.google.com/blog/products/data-analytics/whats-happening-bigquery-integrated-machine-learning-maps-and-more
    • PostGIS Day 2025 talk recordings https://www.youtube.com/watch?v=wuNO_cW2g-0&list=PLavJpcg8cl1EkQWoCbczsOjFTe-SHg_8m
    • pg_lake https://github.com/Snowflake-Labs/pg_lake
    • GeoParquet https://geoparquet.org
    • ST_DWithin https://postgis.net/docs/ST_DWithin.html
    • Postgres JSONB Columns and TOAST: A Performance Guide https://www.snowflake.com/en/engineering-blog/postgres-jsonb-columns-and-toast
    • FOSS4G https://foss4g.org
    • OpenStreetMap https://www.openstreetmap.org
    • PgDay Boston https://2026.pgdayboston.org
    • SKILL.md file https://github.com/postgis/postgis/blob/68dde711039986b47eb62feda45bb24b13b0ea37/doc/SKILL.md
    • Production query plans without production data (blog post by Radim Marek) https://boringsql.com/posts/portable-stats
    • PostgreSQL: Up and Running, 4th Edition (by Regina Obe, Leo Hsu) https://www.oreilly.com/library/view/postgresql-up-and/9798341660885


    ~~~

    What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on social media, or by commenting on our Google doc!


    ~~~

    Postgres FM is produced by:

    • Michael Christofides, founder of pgMustard
    • Nikolay Samokhvalov, founder of Postgres.ai


    With credit to:

    • Jessie Draws for the elephant artwork
    54 min
  • Plan flips

    Nik and Michael discuss query plan flips in Postgres — what they are, some causes, mitigations, longer term solutions, and the recent outage at Clerk.
     
    Here are some links to things they mentioned: 

    • Recent postmortem from Clerk https://clerk.com/blog/2026-02-19-system-outage-postmortem
    • The real cost of random I/O (blog post by Tomas Vondra) https://vondra.me/posts/the-real-cost-of-random-io
    • autovacuum_analyze_scale_factor https://www.postgresql.org/docs/current/runtime-config-vacuum.html#GUC-AUTOVACUUM-ANALYZE-SCALE-FACTOR
    • default_statistics_target https://www.postgresql.org/docs/current/runtime-config-query.html#GUC-DEFAULT-STATISTICS-TARGET
    • pg_hint_plan https://github.com/ossc-db/pg_hint_plan
    • Aurora PostgreSQL query plan management https://docs.aws.amazon.comAmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Optimize.Start.html
    • pg_stat_plans https://github.com/pganalyze/pg_stat_plans
    • pg_plan_alternatives https://jnidzwetzki.github.io/2026/03/04/pg-plan-alternatives.html
    • Waiting for Postgres 19: Better Planner Hints with Path Generation Strategies https://pganalyze.com/blog/5mins-postgres-19-better-planner-hints


    ~~~

    What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on social media, or by commenting on our Google doc!


    ~~~

    Postgres FM is produced by:

    • Michael Christofides, founder of pgMustard
    • Nikolay Samokhvalov, founder of Postgres.ai


    With credit to:

    • Jessie Draws for the elephant artwork
    43 min
  • pg_ash

    Nik and Michael discuss pg_ash — a new tool (not extension!) from Nik that samples and stores wait events from pg_stat_activity.
     
    Here are some links to things they mentioned: 

    • pg_ash https://github.com/NikolayS/pg_ash
    • pg_wait_sampling https://github.com/postgrespro/pg_wait_sampling
    • Amazon RDS performance insights https://aws.amazon.com/rds/performance-insights
    • Our episode on wait events https://postgres.fm/episodes/wait-events
    • pg-flight-recorder https://github.com/dventimisupabase/pg-flight-recorder
    • pg_profile https://github.com/zubkov-andrei/pg_profile
    • pg_cron https://github.com/citusdata/pg_cron


    ~~~

    What did you like or not like? What should we discuss next time? Let us know via a YouTube comment, on social media, or by commenting on our Google doc!


    ~~~

    Postgres FM is produced by:

    • Michael Christofides, founder of pgMustard
    • Nikolay Samokhvalov, founder of Postgres.ai


    With credit to:

    • Jessie Draws for the elephant artwork
    33 min

About Postgres FM

From the publisher's feed

A weekly podcast about all things PostgreSQL

More shows like Postgres FM

Acquired by Ben Gilbert and David Rosenthal

Acquired

4,840 Listeners

Software Engineering Radio - the podcast for professional software developers by team@se-radio.net (SE-Radio Team)

Software Engineering Radio - the podcast for professional software developers

275 Listeners

The Changelog: Software Development, Open Source by Changelog Media

The Changelog: Software Development, Open Source

286 Listeners

The a16z Show by Andreessen Horowitz

The a16z Show

1,091 Listeners

Software Engineering Daily by Software Engineering Daily

Software Engineering Daily

622 Listeners

Talk Python To Me by Michael Kennedy

Talk Python To Me

581 Listeners

Thoughtworks Technology Podcast by Thoughtworks

Thoughtworks Technology Podcast

43 Listeners

Python Bytes by Michael Kennedy and Calvin Hendryx-Parker

Python Bytes

213 Listeners

Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

Syntax - Tasty Web Development Treats

981 Listeners

CoRecursive: Coding Stories by Adam Gordon Bell - Software Developer

CoRecursive: Coding Stories

188 Listeners

Scaling Postgres by Creston Jamison

Scaling Postgres

12 Listeners

The Stack Overflow Podcast by The Stack Overflow Podcast

The Stack Overflow Podcast

62 Listeners

The Real Python Podcast by Real Python

The Real Python Podcast

140 Listeners

Oxide and Friends by Oxide Computer Company

Oxide and Friends

66 Listeners

The Pragmatic Engineer by Gergely Orosz

The Pragmatic Engineer

74 Listeners