· 19 min · PostgreSQL

Binary read replicas in PostgreSQL, Part 2

Read replicas are one tool, but tuning a replica for one job and sending it another is a recipe for conflict.

0 comments

· 10 min · PostgreSQL

All Your GUCs in a Row: recovery_min_apply_delay

Delay a standby on purpose to keep a queryable copy of your database before the DELETE without a WHERE clause happened.

0 comments

· 18 min · PostgreSQL

Binary read replicas in PostgreSQL, Part 1

A read replica is a PostgreSQL server in permanent recovery that accepts queries—and nearly every surprise it causes follows from that fact.

0 comments

· 8 min · PostgreSQL

All Your GUCs in a Row: recovery_init_sync_method

Illustrated duck sitting in bed wearing a blue ice pack on its head and holding a thermometer in its beak. After a crash, PostgreSQL syncs every file in your data directory before replaying any WAL—and on large clusters, this can consume minutes.

0 comments

· 7 min · PostgreSQL

All Your GUCs in a Row: recovery_end_command

Costumed nurse duck in scrubs pushing a wheelchair holding a mallard duck, with a female duck and ducklings on the sidewalk outside a hospital building. A hook that fires exactly once at promotion or restore completion—but the server is neither ready nor recovering while your command runs.

0 comments

· 8 min · PostgreSQL

All Your GUCs in a Row: random_page_cost and seq_page_cost

Duck standing on printouts of binary code and data, surrounded by floating sheets of numbers in a sunny outdoor setting. The planner charges `random_page_cost` per index page based on how uncorrelated the index is—but the name lies.

0 comments

· 7 min · PostgreSQL

All Your GUCs in a Row: quote_all_identifiers

Photograph of a mallard duck standing on a sheet of paper covered with vocabulary words in a classroom setting, with desks and a chalkboard blurred in the background. Dumping across major versions? A reserved keyword can silently break constraints and policies.

0 comments

· 7 min · PostgreSQL

All Your GUCs in a Row: primary_slot_name

Five ducks with wings spread stand on a slot car racing track with miniature race cars moving through the lanes below them. Configure a replication slot name on your standby and the upstream keeps WAL forever—until the slot itself fills your disk or the standby dies holding an old…

0 comments

· 15 min · PostgreSQL

A Parade of Horribles, in Serial Order

Sooner or later, someone on the team reads about write skew. It is an unsettling read: two transactions, each correct on its own, each looking at data the other

0 comments

· 7 min · PostgreSQL

All Your GUCs in a Row: primary_conninfo

Mallard duck in a hallway holding a vintage telephone receiver to its beak, facing an old wooden wall-mounted phone. `primary_conninfo` tells a standby where to stream WAL from—but only after the archive and pg_wal run dry.

0 comments