Ultimate

X_DB_POOLER_OPTIONS_REFUSED

Means

the connection pooler refused the libpq options a pool connects with

Typical cause

the pooler answered 08P01 unsupported startup parameter at connection startup: a stock PgBouncer does not forward statement_timeout, so with DATABASE_POOLER unset every role fails on its first statement

Fix

export DATABASE_POOLER=transaction && psql "<DATABASE_URL without its options parameter>" -c "alter role <user> set statement_timeout = '10s'" -c "alter role <user> set idle_in_transaction_session_timeout = '30s'" — session on a session pool; then reopen the pooler's server connections. A refused option of your own in DATABASE_URL's options: move it to alter role instead. Never psql "$DATABASE_URL": the pooler refuses those options again before alter role runs. The error's own fix: cuts the parameter with sed, so paste that

Listed under Entity and database

This page as markdown