Home
Categories
EXPLORE
True Crime
Comedy
Society & Culture
Business
Sports
Technology
Health & Fitness
About Us
Contact Us
Copyright
© 2024 PodJoint
Podjoint Logo
US
00:00 / 00:00
Sign in

or

Don't have an account?
Sign up
Forgot password
https://is1-ssl.mzstatic.com/image/thumb/Podcasts221/v4/97/c2/7a/97c27a4a-43ad-9225-e177-7768fa116355/mza_9441179629894495779.jpg/600x600bb.jpg
Postgres FM
Nikolay Samokhvalov and Michael Christofides
163 episodes
4 days ago
A weekly podcast about all things PostgreSQL
Show more...
Technology
News,
Tech News
RSS
All content for Postgres FM is the property of Nikolay Samokhvalov and Michael Christofides and is served directly from their servers with no modification, redirects, or rehosting. The podcast is not affiliated with or endorsed by Podjoint in any way.
A weekly podcast about all things PostgreSQL
Show more...
Technology
News,
Tech News
Episodes (20/163)
Postgres FM
Gapless sequences

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.

And one quick clarification: changing the CACHE option in CREATE SEQUENCE can lead to even more gaps, the docs mention it explicitly.
 
Here are some links to things they mentioned:

  • CREATE SEQUENCE https://www.postgresql.org/docs/current/sql-createsequence.html
  • Sequence Manipulation Functions https://www.postgresql.org/docs/current/functions-sequence.html
  • One, Two, Skip a Few (post by Pete Hamilton from Incident io) https://incident.io/blog/one-two-skip-a-few
  • Postgres sequences can commit out-of-order (blog post by Anthony Accomazzo / Sequin) https://blog.sequinstream.com/postgres-sequences-can-commit-out-of-order
  • Logical Replication of sequences (hackers thread) https://www.postgresql.org/message-id/flat/CAA4eK1LC%2BKJiAkSrpE_NwvNdidw9F2os7GERUeSxSKv71gXysQ%40mail.gmail.com
  • Synchronization of sequences to subscriber (patch entry in commitfest) https://commitfest.postgresql.org/patch/5111/
  • Get or Create (episode with Haki Benita) https://postgres.fm/episodes/get-or-create
  • German tank problem https://en.wikipedia.org/wiki/German_tank_problem


~~~

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
Show more...
4 days ago
39 minutes

Postgres FM
LWLocks

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

  • Wait Events of Type LWLock https://www.postgresql.org/docs/current/monitoring-stats.html#WAIT-EVENT-LWLOCK-TABLE
  • Our episode on (heavier) locks https://postgres.fm/episodes/locks
  • Nik’s new marathon posts https://postgres.ai/blog/tags/postgres-marathon
  • Postgres LISTEN/NOTIFY does not scale (blog post by Recall ai) https://www.recall.ai/blog/postgres-listen-notify-does-not-scale
  • Explicit Locking https://www.postgresql.org/docs/current/explicit-locking.html
  • pg_stat_activity https://www.postgresql.org/docs/current/monitoring-stats.html#MONITORING-PG-STAT-ACTIVITY-VIEW
  • Tuning with wait events for RDS for PostgreSQL https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Tuning.html
  • MultiXact member exhaustion incidents (blog post by Cosmo Wolfe / Metronome) https://metronome.com/blog/root-cause-analysis-postgresql-multixact-member-exhaustion-incidents-may-2025
  • pg_index_pilot https://gitlab.com/postgres-ai/pg_index_pilot
  • Myths and Truths about Synchronous Replication in PostgreSQL (talk by Alexander Kukushkin) https://www.youtube.com/watch?v=PFn9qRGzTMc
  • Postgres Indexes, Partitioning and LWLock:LockManager Scalability (blog post by Jeremy Schneider) https://ardentperf.com /2024/03/03/postgres-indexes-partitioning-and-lwlocklockmanager-scalability


~~~

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
Show more...
2 weeks ago
38 minutes

Postgres FM
User management

Nik and Michael discuss user management in Postgres — how roles work, making administration easier, setting passwords, and avoiding them being logged.
 
Here are some links to things they mentioned:

  • Roles https://www.postgresql.org/docs/current/user-manag.html 
  • Privileges https://www.postgresql.org/docs/current/ddl-priv.html
  • ALTER DEFAULT PRIVILEGES https://www.postgresql.org/docs/current/sql-alterdefaultprivileges.html
  • GRANT https://www.postgresql.org/docs/current/sql-grant.html
  • REASSIGN OWNED https://www.postgresql.org/docs/current/sql-reassign-owned.html
  • ALTER ROLE (including SET) https://www.postgresql.org/docs/current/sql-alterrole.html 
  • CREATE ROLE https://www.postgresql.org/docs/current/sql-createrole.html
  • Have I Been Pwned https://haveibeenpwned.com
  • Pwned Passwords API https://haveibeenpwned.com/API/v3#PwnedPasswords
  • Crunchy Data PostgreSQL Security Technical Implementation Guide (STIG) https://www.crunchydata.com/blog/announcing-the-crunchy-data-postgresql-stig
  • Our episode on auditing https://postgres.fm/episodes/auditing


~~~

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
Show more...
1 month ago
39 minutes

Postgres FM
Postgres 18

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

  • Postgres 18 announcement https://www.postgresql.org/about/news/postgresql-18-released-3142
  • Postgres 18 release notes https://www.postgresql.org/docs/18/release-18.html
  • Skip scan episode with Peter Geoghegan https://postgres.fm/episodes/skip-scan
  • Easier Postgres fine-tuning with online_advisor https://neon.com/blog/easier-postgres-fine-tuning-with-online_advisor
  • pganalyze Index Advisor https://pganalyze.com/index-advisor
  • BUFFERS by default https://postgres.fm/episodes/buffers-by-default
  • Buffers II (the sequel) https://postgres.fm/episodes/buffers-ii-the-sequel
  • Return of the BUFFERS https://postgres.fm/episodes/return-of-the-buffers
  • UUID https://postgres.fm/episodes/uuid
  • Partitioning by ULID https://postgres.fm/episodes/partitioning-by-ulid
  • uuidv7 and uuid_extract_timestamp functions https://www.postgresql.org/docs/current/functions-uuid.html
  • Add --no-policies option to pg_dump, pg_dumpall, and pg_restore https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=cd3c45125
  • Add ONLY support for VACUUM and ANALYZE https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=62ddf7ee9
  • Make "vacuumdb --analyze-only" process partitioned tables (committed recently for Postgres 19) https://commitfest.postgresql.org/patch/5871/
  • NOT VALID constraints https://postgres.fm/episodes/not-valid-constraints
  • The year of the Lock Manager’s Revenge (post by Jeremy Schneider) https://ardentperf.com/2024/03/03/postgres-indexes-partitioning-and-lwlocklockmanager-scalability
  • Increase the number of fast-path lock slots https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=c4d5cb71d
  • "enable" parameters will work differently in Postgres 18 https://www.pgmustard.com/blog/enable-parameters-work-differently-in-postgres-18
  • logerrors https://github.com/munakoiso/logerrors


~~~

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
Show more...
1 month ago
55 minutes

Postgres FM
Gadget's use of Postgres

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

  • Harry Brundage https://postgres.fm/people/harry-brundage
  • Gadget https://gadget.dev
  • Zero downtime Postgres upgrades using logical replication (blog post) https://gadget.dev/blog/zero-downtime-postgres-upgrades-using-logical-replication
  • HOT updates https://www.postgresql.org/docs/current/storage-hot.html
  • PgDog https://pgdog.dev
  • Multigres https://multigres.com
  • Neki https://www.neki.dev
  • Running 10 Million PostgreSQL Indexes In Production (Heap blog post) https://www.heap.io/blog/running-10-million-postgresql-indexes-in-production
  • pgwatch2 (Postgres.ai Edition) https://gitlab.com/postgres-ai/pgwatch2
  • Advanced query insights on AlloyDB https://cloud.google.com/alloydb/docs/advanced-query-insights-overview
  • OrioleDB https://www.orioledb.com
  • Not discussed but relevant: Gadget have also now published a blog post about their sharding! https://gadget.dev/blog/sharding-our-core-postgres-database-without-any-downtime


~~~

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
Show more...
1 month ago
52 minutes

Postgres FM
turbopuffer

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

  • Simon Eskildsen https://postgres.fm/people/simon-eskildsen
  • turbopuffer https://turbopuffer.com
  • Use ULID Idempotency Keys (tip 6 in this blog post from Shopify) https://shopify.engineering/building-resilient-payment-systems
  • PostgreSQL 18 Release Candidate 1 https://www.postgresql.org/about/news/postgresql-18-rc-1-released-3130
  • Understanding DiskANN (blog post by Junaid Ahmed) https://www.tigerdata.com/blog/understanding-diskann
  • SPFresh: Incremental In-Place Update for Billion-Scale Vector Search (paper) https://arxiv.org/abs/2410.14452
  • Amazon S3 adds new functionality for conditional writes https://aws.amazon.com/about-aws/whats-new/2024/11/amazon-s3-functionality-conditional-writes
  • Amazon S3 Vectors https://aws.amazon.com/s3/features/vectors


~~~

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
Show more...
1 month ago
49 minutes

Postgres FM
When not to use Postgres

Nik and Michael discuss when not to use Postgres — specifically use cases where it still makes sense to store data in another system.
 
Here are some links to things they mentioned:

  • Just use Postgres (blog post by Ethan McCue) https://mccue.dev/pages/8-16-24-just-use-postgres
  • Just Use Postgres for Everything (blog post by Stephan Schmidt) https://www.amazingcto.com/postgres-for-everything
  • Real-time analytics episode https://postgres.fm/episodes/real-time-analytics
  • Crunchy Data Joins Snowflake https://www.crunchydata.com/blog/crunchy-data-joins-snowflake
  • Two sizes fit most: PostgreSQL and Clickhouse (blog post by Sid Sijbrandij) https://about.gitlab.com/blog/two-sizes-fit-most-postgresql-and-clickhouse
  • pg_duckdb episode https://postgres.fm/episodes/pg_duckdb
  • Cloudberry https://github.com/apache/cloudberry
  • Time-series considerations episode https://postgres.fm/episodes/time-series-considerations
  • Queues in Postgres episode https://postgres.fm/episodes/queues-in-postgres
  • Large Objects https://www.postgresql.org/docs/current/largeobjects.html 
  • PGlite https://pglite.dev
  • ParadeDB https://www.paradedb.com
  • ZomboDB https://github.com/zombodb/zombodb
  • turbopuffer https://turbopuffer.com
  • HNSW vs. DiskANN (blog post by Haziqa Sajid) https://www.tigerdata.com/learn/hnsw-vs-diskann
  • SPANN: Highly-efficient Billion-scale Approximate Nearest Neighbor Search (paper) https://www.microsoft.com/en-us/research/wp-content/uploads/2021/11/SPANN_finalversion1.pdf
  • Amazon S3 Vectors https://aws.amazon.com/s3/features/vectors
  • Iterative Index Scans added to pgvector in 0.8.0 https://github.com/pgvector/pgvector/issues/678
  • S3 FDW from Supabase https://github.com/supabase/wrappers/tree/main/wrappers/src/fdw/s3_fdw


~~~

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
Show more...
2 months ago
46 minutes

Postgres FM
Disks

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

  • Nik’s tweet demonstrating a NOTIFY hot spot https://x.com/samokhvalov/status/1959468091035009245
  • Postgres LISTEN/NOTIFY does not scale (blog post by Recall ai) https://www.recall.ai/blog/postgres-listen-notify-does-not-scale
  • track_io_timing https://www.postgresql.org/docs/current/runtime-config-statistics.html#GUC-TRACK-IO-TIMING
  • pg_test_timing https://www.postgresql.org/docs/current/pgtesttiming.html 
  • PlanetScale for Postgres https://planetscale.com/blog/planetscale-for-postgres
  • Out of disk episode https://postgres.fm/episodes/out-of-disk
  • 100TB episode https://postgres.fm/episodes/to-100tb-and-beyond 
  • Latency Numbers Every Programmer Should Know https://gist.github.com/jboner/2841832
  • Fio https://github.com/axboe/fio


~~~

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
Show more...
2 months ago
46 minutes

Postgres FM
Multi-column indexes

Nik and Michael discuss multi-column indexes in Postgres — what they are, how to think about them, and some guidance around using them effectively.
 
Here are some links to things they mentioned:

  • Multicolumn Indexes (docs) https://www.postgresql.org/docs/current/indexes-multicolumn.html
  • Our episode on Index-only scans https://postgres.fm/episodes/index-only-scans
  • Combining Multiple Indexes (docs) https://www.postgresql.org/docs/current/indexes-bitmap-scans.html
  • Enable BUFFERS with EXPLAIN ANALYZE by default https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=c2a4078ebad71999dd451ae7d4358be3c9290b07
  • “PostgreSQL includes an implementation of the standard btree […] The only limitation is that an index entry cannot exceed approximately one-third of a page” https://www.postgresql.org/docs/current/btree.html
  • Our episode on HOT updates https://postgres.fm/episodes/hot-updates
  • Our episode on LIMIT vs Performance https://postgres.fm/episodes/limit-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
Show more...
2 months ago
41 minutes

Postgres FM
Self-driving Postgres

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

  • Nikolay’s blog post on Self-driving Postgres https://postgres.ai/blog/20250725-self-driving-postgres
  • SAE J3016 levels of driving automation https://www.sae.org/news/2019/01/sae-updates-j3016-automated-driving-graphic
  • Oracle Autonomous Database https://www.oracle.com/uk/autonomous-database/
  • Self-Driving Database Management Systems (2017 paper) https://db.cs.cmu.edu/papers/2017/p42-pavlo-cidr17.pdf
  • PGTune https://pgtune.leopard.in.ua/
  • pg_index_pilot https://gitlab.com/postgres-ai/pg_index_pilot/
  • [Vibe] Hacking Postgres with Andrey, Kirk, Nik – index bloat, btree page merge https://www.youtube.com/watch?v=D1PEdDcvZTw


~~~

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
Show more...
2 months ago
59 minutes

Postgres FM
caSe-inSENsiTive

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

  • citext https://www.postgresql.org/docs/current/citext.html
  • Our episode on over-indexing https://postgres.fm/episodes/over-indexing
  • Nondeterministic collations https://www.postgresql.org/docs/current/collation.html#COLLATION-NONDETERMINISTIC
  • How to migrate from Django’s PostgreSQL CI Fields to use a case-insensitive collation (blog post by Adam Johnson) https://adamj.eu/tech/2023/02/23/migrate-django-postgresql-ci-fields-case-insensitive-collation
  • The collation versioning problem with ICU 73 (blog post by Daniel Vérité) https://postgresql.verite.pro/blog/2023/10/20/icu-73-versioning.html
  • amcheck https://www.postgresql.org/docs/current/amcheck.html


~~~

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
Show more...
2 months ago
26 minutes

Postgres FM
Monitoring from Postgres AI

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

  • postgres_ai monitoring https://gitlab.com/postgres-ai/postgres_ai
  • DB Lab 4.0 announcement https://github.com/postgres-ai/database-lab-engine/releases/tag/v4.0.0
  • pganalyze https://pganalyze.com
  • postgres-checkup https://gitlab.com/postgres-ai/postgres-checkup
  • Percona Monitoring and Management (PMM) https://github.com/percona/pmm
  • pgwatch https://github.com/cybertec-postgresql/pgwatch
  • pgwatch Postgres AI Edition https://gitlab.com/postgres-ai/pgwatch2
  • libpg_query https://github.com/pganalyze/libpg_query
  • The Four Golden Signals https://sre.google/sre-book/monitoring-distributed-systems/#xref_monitoring_golden-signals
  • logerrors https://github.com/munakoiso/logerrors


~~~

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
Show more...
3 months ago
44 minutes

Postgres FM
MultiXact member space exhaustion

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

  • Nate Brennand https://postgres.fm/people/nate-brennand
  • Andrew Johnson https://postgres.fm/people/andrew-johnson
  • Metronome https://metronome.com
  • Root Cause Analysis: PostgreSQL MultiXact member exhaustion incidents (blog post by Metronome) https://metronome.com/blog/root-cause-analysis-postgresql-multixact-member-exhaustion-incidents-may-2025
  • Multixacts and Wraparound (docs) https://www.postgresql.org/docs/current/routine-vacuuming.html#VACUUM-FOR-MULTIXACT-WRAPAROUND
  • multixact.c source code https://github.com/postgres/postgres/blob/master/src/backend/access/transam/multixact.c
  • Add pg_stat_multixact view for multixact membership usage monitoring (patch proposal by Andrew, needing review!) https://commitfest.postgresql.org/patch/5869/
  • PostgreSQL subtransactions considered harmful (blog post by Nikolay) https://postgres.ai/blog/20210831-postgresql-subtransactions-considered-harmful
  • vacuum_multixact_failsafe_age doesn't account for MultiXact member exhaustion (thread started by Peter Geoghegan) https://www.postgresql.org/message-id/flat/CAH2-WzmLPWJk3gbAxy8dHY%2BA-Juz_6uGwfe6DkE8B5-dTDvLcw%40mail.gmail.com
  • Amazon S3 Vectors https://aws.amazon.com/blogs/aws/introducing-amazon-s3-vectors-first-cloud-storage-with-native-vector-support-at-scale/
  • MultiXacts in PostgreSQL: usage, side effects, and monitoring (blog post by Shawn McCoy and Divya Sharma from AWS) https://aws.amazon.com/blogs/database/multixacts-in-postgresql-usage-side-effects-and-monitoring/
  • Postgres Aurora multixact monitoring queries https://gist.github.com/natebrennand/0924f723ff61fa897c4106379fc7f3dc 
  • And finally an apology and a correction, the membership space is ~4B, not ~2B as said by Michael in the episode! Definition here:
    https://github.com/postgres/postgres/blob/f6ffbeda00e08c4c8ac8cf72173f84157491bfde/src/include/access/multixact.h#L31

And here's the formula discussed for calculating how the member space can grow quadratically by the number of overlapping transactions:

  • Members can be calculated via: aₙ = 2 + [sum from k=3 to n+1 of k]
  • This simplifies to: aₙ = (((n+1)(n+2))/2) - 1


~~~

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 special thanks to:

  • Jessie Draws for the elephant artwork 
Show more...
3 months ago
55 minutes

Postgres FM
Multigres

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

  • Sugu Sougoumarane https://postgres.fm/people/sugu-sougoumarane
  • Supabase https://supabase.com
  • Announcing Multigres https://supabase.com/blog/multigres-vitess-for-postgres
  • Vitess https://github.com/vitessio/vitess
  • SPQR https://github.com/pg-sharding/spqr
  • Citus https://github.com/citusdata/citus
  • PgDog https://github.com/pgdogdev/pgdog
  • Myths and Truths about Synchronous Replication in PostgreSQL (talk by Alexander Kukushkin) https://www.youtube.com/watch?v=PFn9qRGzTMc
  • Consensus algorithms at scale (8 part series by Sugu) https://planetscale.com/blog/consensus-algorithms-at-scale-part-1
  • A More Flexible Paxos (blog post by Sugu) https://www.sougou.io/a-more-flexible-paxos
  • libpg_query https://github.com/pganalyze/libpg_query
  • PL/Proxy https://github.com/plproxy/plproxy
  • PlanetScale Postgres Benchmarking https://planetscale.com/blog/benchmarking-postgres
  • MultiXact member exhaustion incidents (blog post by Cosmo Wolfe / Metronome) https://metronome.com/blog/root-cause-analysis-postgresql-multixact-member-exhaustion-incidents-may-2025


~~~

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 special thanks to:

  • Jessie Draws for the elephant artwork 
Show more...
3 months ago
1 hour 19 minutes

Postgres FM
Multi-tenant options

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

  • Gwen Shapira https://postgres.fm/people/gwen-shapira
  • Nile https://www.thenile.dev
  • SaaS Tenant Isolation Strategies (AWS whitepaper) https://docs.aws.amazon.com/whitepapers/latest/saas-tenant-isolation-strategies/saas-tenant-isolation-strategies.html 
  • Row Level Security https://www.postgresql.org/docs/current/ddl-rowsecurity.html
  • Citus https://github.com/citusdata/citus
  • Postgres.AI Bot https://postgres.ai/blog/20240127-postgres-ai-bot 
  • RLS Performance and Best Practices https://supabase.com/docs/guides/troubleshooting/rls-performance-and-best-practices-Z5Jjwv
  • Case Gwen mentioned about the planner thinking an optimisation was unsafe 
  • Re-engineering Postgres for Millions of Tenants (Gwen’s recent talk at PGConf.dev) https://www.youtube.com/watch?v=EfAStGb4s88 
  • Multi-tenant database the good, the bad, the ugly (talk by Pierre Ducroquet at PgDay Paris) https://www.youtube.com/watch?v=4uxuPfSvTGU

 

~~~

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 special thanks to:

  • Jessie Draws for the elephant artwork 
Show more...
4 months ago
50 minutes

Postgres FM
Mean vs p99

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

  • Approximate the p99 of a query with pg_stat_statements (blog post by Michael) https://www.pgmustard.com/blog/approximate-the-p99-of-a-query-with-pgstatstatements
  • pg_stat_statements https://www.postgresql.org/docs/current/pgstatstatements.html 
  • Our episode about track_planning https://postgres.fm/episodes/pg-stat-statements-track-planning 
  • pg_stat_monitor https://github.com/percona/pg_stat_monitor
  • statement_timeout https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-STATEMENT-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
Show more...
4 months ago
38 minutes

Postgres FM
What to log

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

  • What to log https://www.postgresql.org/docs/current/runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-WHAT
  • Our episode about Auditing https://postgres.fm/episodes/auditing 
  • Our episode on auto_explain https://postgres.fm/episodes/auto_explain 


Here are the parameters they mentioned changing:

  • log_checkpoints
  • log_autovacuum_min_duration 
  • log_statement
  • log_connections and log_disconnections
  • log_lock_waits
  • log_temp_files
  • log_min_duration_statement 
  • log_min_duration_sample and log_statement_sample_rate 


And finally, some very useful tools they meant to mention but forgot to!   

  • https://pgpedia.info
  • https://postgresqlco.nf
  • https://why-upgrade.depesz.com/show?from=16.9&to=17.5 


~~~

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
Show more...
5 months ago
48 minutes

Postgres FM
How to move off RDS

Nikolay and Michael discuss moving off managed services — when and why you might want to, and some tips on how for very large databases.
 
Here are some links to things they mentioned:

  • Patroni https://github.com/patroni/patroni
  • pgBackRest https://github.com/pgbackrest/pgbackrest
  • WAL-G https://github.com/wal-g/wal-g
  • Hetzner Cloud https://www.hetzner.com/cloud
  • Postgres Extensions Day https://pgext.day
  • pg_wait_sampling https://github.com/postgrespro/pg_wait_sampling
  • pg_stat_kcache https://github.com/powa-team/pg_stat_kcache
  • auto_explain https://www.postgresql.org/docs/current/auto-explain.html
  • Fivetran https://www.fivetran.com
  • pgcopydb https://github.com/dimitri/pgcopydb
  • Kafka https://kafka.apache.org
  • Debezium https://debezium.io
  • max_slot_wal_keep_size https://www.postgresql.org/docs/current/runtime-config-replication.html#GUC-MAX-SLOT-WAL-KEEP-SIZE
  • log_statement DDL https://www.postgresql.org/docs/current/runtime-config-logging.html#GUC-LOG-STATEMENT
  • PgBouncer pause/resume https://www.pgbouncer.org/usage.html#pause-db


~~~

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
Show more...
5 months ago
47 minutes

Postgres FM
Locks

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

  • Locking (docs) https://www.postgresql.org/docs/current/explicit-locking.html
  • Postgres rocks, except when it blocks (blog post by Marco Slot) https://www.citusdata.com/blog/2018/02/15/when-postgresql-blocks/
  • Lock Conflicts (tool by Hussein Nasser) https://pglocks.org/
  • log_lock_waits (docs) https://www.postgresql.org/docs/current/runtime-config-logging.html#GUC-LOG-LOCK-WAITS
  • How to analyze heavyweight lock trees (guide by Nikolay) https://gitlab.com/postgres-ai/postgresql-consulting/postgres-howtos/-/blob/main/0042_how_to_analyze_heavyweight_locks_part_2.md
  • Lock management (docs) https://www.postgresql.org/docs/current/runtime-config-locks.html
  • Our episode on zero-downtime migrations https://postgres.fm/episodes/zero-downtime-migrations


~~~

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
Show more...
5 months ago
38 minutes

Postgres FM
Top ten dangerous issues

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.
 
The ten issues discussed are:

  1. Heavy lock contention
  2. Bloat control and index maintenance  
  3. Lightweight lock contention
  4. Transaction ID wraparound
  5. 4-byte integer PKs hitting the limit
  6. Replication limits
  7. Hard limits
  8. Data loss
  9. Poor HA choice (split brain)
  10. Corruption of various kinds


Some previous episodes they mentioned that cover the issues in more detail: 

  • PgDog https://postgres.fm/episodes/pgdog
  • Performance cliffs https://postgres.fm/episodes/performance-cliffs
  • Zero-downtime migrations https://postgres.fm/episodes/zero-downtime-migrations 
  • Queues in Postgres https://postgres.fm/episodes/queues-in-postgres
  • Bloat https://postgres.fm/episodes/bloat
  • Index maintenance https://postgres.fm/episodes/index-maintenance
  • Subtransactions https://postgres.fm/episodes/subtransactions
  • Four million TPS https://postgres.fm/episodes/four-million-tps
  • Transaction ID wraparound https://postgres.fm/episodes/transaction-id-wraparound
  • pg_squeeze https://postgres.fm/episodes/pg_squeeze 
  • synchronous_commit https://postgres.fm/episodes/synchronous_commit
  • Managed service support https://postgres.fm/episodes/managed-service-support

 

And finally, some other things they mentioned: 

  • A great recent SQL Server-related podcast episode on tuning techniques https://kendralittle.com/2024/05/20/erik-darling-and-kendra-little-rate-sql-server-performance-tuning-techniques/
  • Postgres Indexes, Partitioning and LWLock:LockManager Scalability (blog post by Jeremy Schneider) https://ardentperf.com/2024/03/03/postgres-indexes-partitioning-and-lwlocklockmanager-scalability/
  • Do you vacuum everyday? (talk by Hannu Krosing) https://www.youtube.com/watch?v=JcRi8Z7rkPg
  • pg_stat_wal https://pgpedia.info/p/pg_stat_wal.html
  • The benefit of lz4 and zstd for Postgres WAL compression (Small Datum blog, Mark Callaghan) https://smalldatum.blogspot.com/2022/05/the-benefit-of-lz4-and-zstd-for.html
  • Split-brain in case of network partition (CloudNativePG issue/discussion) https://github.com/cloudnative-pg/cloudnative-pg/discussions/7462
     


~~~

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
Show more...
5 months ago
46 minutes

Postgres FM
A weekly podcast about all things PostgreSQL