Full Postgres connection string. e.g. postgres://user:pass@localhost:5432/mydb
OptionalpoolOptionalmax?: numberMax connections in the local pool before PgBouncer multiplexing. Keep low (3–5) when running behind PgBouncer in transaction mode.
OptionalconnectionTimeoutMillis?: numberHow long to wait for a free/new connection before giving up, in milliseconds.
OptionalidleTimeoutMillis?: numberHow long an idle connection lingers in the pool before it's closed, in milliseconds.
OptionalstatementTimeout?: numberCeiling on a single operation, in milliseconds. 0 turns it off.
Without one, a query that never answers holds a pool connection for the rest of the
process' life => max of those and every later read & write blocks with no error at all,
which is a worse outage than the one that caused it. A flat key lookup is a couple of ms on
a healthy database, so this isn't a performance budget, it's the line past which the answer
is worth less than the connection.
Config for production PostgreSQL mode — one logical schema per module.