Michael Christofides

Michael Christofides

Founder of pgMustard

Appears in 182 Episodes

transaction_timeout

transaction_timeout

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 i...

Rails + Postgres

Rails + Postgres

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 ...

Why isn't Postgres using my index?

Why isn't Postgres using my index?

Nikolay and Michael discuss a common question — why Postgres isn't using an index, and what you can do about it!   Here are some links to things they mentioned: Why is...

Overhead of pg_stat_statements and pg_stat_kcache

Overhead of pg_stat_statements and pg_stat_kcache

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 ...

Modern SQL

Modern SQL

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 ...

Bloat

Bloat

Michael is joined by Chelsea Dole, Staff Software Engineer and Tech Lead of the Data Storage Team at Brex, to discuss bloat. They cover what it is, why it's a problem,...

pgvector

pgvector

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 ...

pgBadger

pgBadger

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 Al...

EXPLAIN

EXPLAIN

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.   Here ...

Partitioning by ULID

Partitioning by ULID

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 ...

Hash indexes

Hash indexes

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....

Constraints

Constraints

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.    Here are ...

Events

Events

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 experi...

Subtransactions

Subtransactions

Nikolay and Michael discuss PostgreSQL subtransactions — what they are, and four issues they can cause at scale.    Here are some links to things they mentioned: Subtr...

Companion databases

Companion databases

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 ...

Blue-green deployments

Blue-green deployments

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, ...

Data model trade-offs

Data model trade-offs

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.    Here are som...

Under-indexing

Under-indexing

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.    Here are some links t...

Over-indexing

Over-indexing

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 benchmar...

Query hints

Query hints

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.    ...

Some kind things our listeners have said