Mastodon
Tools
SQL Labs
BETA
RegreSQL
Fixturize
dryrun MCP
Resources
Guides
Visualizers
Talks
Archive
About
Archive
Every post, newest first. The
changelog
tracks corrections and revisions to posts already published.
2026
26
September
2
Where PostgreSQL stores row locks
2026-09-17
· 10 min · Radim Marek
The unbearable lightness of one more index
2026-09-11
· 16 min · Radim Marek
August
3
Read your own writes, off the primary
2026-08-31
· 15 min · Radim Marek
The curious case of Google's AlloyDB
2026-08-15
· 35 min · Radim Marek
The DISTINCT in your COUNT
2026-08-05
· 6 min · Radim Marek
July
3
PostgreSQL's MVCC is bad. So is everyone else's.
2026-07-27
· 21 min · Radim Marek
The tests passed. The plan didn't.
2026-07-12
· 8 min · Radim Marek
VACUUM at the Page Level
2026-07-05
· 16 min · Radim Marek
June
4
Same rows, different SUM
2026-06-28
· 10 min · Radim Marek
The NULL in your NOT IN
2026-06-14
· 11 min · Radim Marek
pg_stat_statements: everything it can't
2026-06-03
· 13 min · Radim Marek
pg_stat_statements: everything it tells you
2026-06-02
· 14 min · Radim Marek
May
3
TOAST: Where PostgreSQL hides big values
2026-05-24
· 12 min · Radim Marek
Welcome to ORDER BY jungle
2026-05-15
· 9 min · Radim Marek
Strong views on PostgreSQL VIEWs
2026-05-10
· 17 min · Radim Marek
April
3
HOT Updates in Postgres
2026-04-28
· 10 min · Radim Marek
PostgreSQL MVCC, Byte by Byte
2026-04-17
· 7 min · Radim Marek
Don't let AI touch your production database
2026-04-06
· 9 min · Radim Marek
March
3
Good CTE, bad CTE
2026-03-29
· 15 min · Radim Marek
pg_regresql: truly portable PostgreSQL statistics
2026-03-21
· 5 min · Radim Marek
Production query plans without production data
2026-03-08
· 7 min · Radim Marek
February
3
PostgreSQL Statistics: Why queries run slow
2026-02-26
· 12 min · Radim Marek
Inside PostgreSQL's 8KB Page
2026-02-19
· 12 min · Radim Marek
Reading Buffer statistics in EXPLAIN output
2026-02-06
· 9 min · Radim Marek
January
2
Introduction to Buffers in PostgreSQL
2026-01-24
· 10 min · Radim Marek
The hidden cost of PostgreSQL arrays
2026-01-12
· 10 min · Radim Marek
2025
10
December
2
Instant database clones with PostgreSQL 18
2025-12-22
· 5 min · Radim Marek
VACUUM Is a Lie (About Your Indexes)
2025-12-11
· 10 min · Radim Marek
November
2
RegreSQL: Regression Testing for PostgreSQL Queries
2025-11-13
· 9 min · Radim Marek
Beyond Start and End: PostgreSQL Range Types
2025-11-02
· 13 min · Radim Marek
September
1
PostgreSQL maintenance without superuser
2025-09-13
· 8 min · Radim Marek
June
2
Beyond the Basics of Logical Replication
2025-06-24
· 9 min · Radim Marek
First steps with Logical Replication in PostgreSQL
2025-06-11
· 11 min · Radim Marek
May
1
PostgreSQL Service Connections
2025-05-15
· 4 min · Radim Marek
April
1
Time to Better Know The Time in PostgreSQL
2025-04-06
· 9 min · Radim Marek
February
1
VIEW inlining in PostgreSQL
2025-02-08
· 5 min · Radim Marek
2024
14
November
2
DELETEs are difficult
2024-11-23
· 9 min · Radim Marek
Text identifiers in PostgreSQL database design
2024-11-09
· 8 min · Radim Marek
September
1
We need to talk about ENUMs
2024-09-04
· 8 min · Radim Marek
August
1
Beyond Simple Upserts with MERGE in PostgreSQL
2024-08-25
· 4 min · Radim Marek
July
1
Gentle Introduction to Window Functions in PostgreSQL
2024-07-07
· 5 min · Radim Marek
June
2
The time keepers: pg_cron and pg_timetable
2024-06-15
· 6 min · Radim Marek
Deep Dive into PostgREST - Time Off Manager (Part 3)
2024-06-06
· 7 min · Radim Marek
May
4
Custom PostgreSQL extensions with Rust
2024-05-24
· 4 min · Radim Marek
Deep Dive into PostgREST - Time Off Manager (Part 2)
2024-05-18
· 8 min · Radim Marek
Deep Dive into PostgREST - Time Off Manager (Part 1)
2024-05-11
· 6 min · Radim Marek
How not to change PostgreSQL column type
2024-05-04
· 7 min · Radim Marek
April
3
The Bloat Busters: pg_repack vs pg_squeeze
2024-04-27
· 6 min · Radim Marek
Are SQL & Databases Boring? Absolutely - and That's a Good Thing!
2024-04-21
· 2 min · Radim Marek
When and Why PostgreSQL Indexes Are Ignored
2024-04-14
· 4 min · Radim Marek