The Shadow Knows
WalShadow replicates PostgreSQL to ClickHouse by decoding the physical WAL stream itself, not logical decoding.
max_pred_locks_per_page and max_pred_locks_per_relation
PostgreSQL's serializable isolation remembers what each transaction reads with limited shared memory, so it trades tuple locks for page locks, then page locks…
max_parallel_apply_workers_per_subscription
Parallel apply workers speed up logical replication of large transactions—but only if you have enough of them.
max_parallel_workers and max_parallel_workers_per_gather
PostgreSQL's parallel worker parameters don't mean what their names suggest: one caps per-node requests, the other enforces a shared limit that any session can…
max_parallel_maintenance_workers
Raising `max_parallel_maintenance_workers` doesn't guarantee parallel builds use it.
max_notify_queue_pages
The `LISTEN`/`NOTIFY` queue grew from 8GB to unlimited in PostgreSQL 17.
max_logical_replication_workers
When a logical replication worker pool runs dry, subscriptions don't fail—they just stop making progress, filling your logs with warnings every five seconds…
max_locks_per_transaction
`max_locks_per_transaction` isn't about transactions or limits—it sizes the cluster-wide lock table, and its misleading name has confused PostgreSQL users for…