backends.postgresql.connections
connections
Use the connections { ... } block to configure the SQL pool.
server "primary" {
url "postgresql://radiator:secret@db.example.com:5432/radiator";
connections {
max 25;
idle_timeout 5m;
min 2;
min_timeout 1s;
min_retry 250ms;
}
}
Parameters:
max: Maximum pool size. Default:10.idle_timeout: Time after which an idle connection can be closed. Default:5m.min: Warm-pool floor. Default:0.min_timeout: Warm-pool maintenance probe timeout. Default:1s.min_retry: Delay between warm-pool maintenance retries. Default:250ms.
idle_timeout accepts duration units such as 5s, 500ms, and 1m.
For PostgreSQL SQL backends, idle connections can close after idle_timeout, including when the pool is at or below min. The background maintenance task restores the configured floor.
Setting min to a value greater than 0 keeps a warm-pool floor of established connections, enables unreachable-server fast skip during request routing, and starts background maintenance probes.
min_timeout accepts duration units such as 1s, 500ms, and 2s. If the timeout is too short, slow connection establishment can be treated as a failure. If it is too long, recovery from unreachable servers becomes slower.
min_retry accepts duration units such as 250ms, 500ms, and 2s. Smaller values retry warm-pool probes more aggressively. Larger values reduce probe traffic, but slow down detection and recovery.
The default min value is 0, which disables all three. Set min 1; (or higher) on production servers where fast failover and warm pools matter.
See Backend Load Balancing for further information.
Error: Setting
mingreater thanmaxis a hard configuration error.
When every configured PostgreSQL pool appears full, Radiator returns a pool-exhausted error instead of intentionally queueing behind a saturated pool.