Skip to content
Farolan Faisal

Writing

Notes on databases, and on systems that fail quietly.

The PostgreSQL pieces come with a runnable benchmark: a fixture, the before and after statements, and the result file the numbers on the page are read from. The rest come from production work, where the lesson was usually that a failure had been rendering as success.

By subject

2026

  • PostgreSQL

    A benchmark with no network in it measures the floor

    A cascade delete that took seven minutes in production is a barely-visible win on my laptop. Measuring the per-statement cost showed why, and why a local number here is a floor rather than the size of the fix.

    4 min read · with a runnable benchmark

  • PostgreSQL

    An array parameter of the wrong width

    The same id list, one type wider than the column, costs two hundred times as much. PostgreSQL explains both statements with the identical plan, and EXPLAIN reports the same buffers.

    5 min read · with a runnable benchmark

In progress

Subjects I am working on, listed so the direction of travel is visible. This is the one place here where something is stated that has not been measured, so it deliberately carries no numbers: a plan is not a claim, and a figure with nothing behind it would undo the point of everything above it on this page.

Want one of these sooner, or something adjacent to it? hello@farol.dev