Human-readable description. Prefixed with [@supabase/server].
Machine-readable code.
Optionaloptions: SupabaseServerErrorOptionsOptional hint, details, docs, and cause.
ReadonlysourceAlways "@supabase/server".
ReadonlycodeMachine-readable error code.
Optional ReadonlyhintActionable next step, when one applies.
ReadonlydocsDocumentation URL for this error's code.
Optional ReadonlydetailsStructured, non-sensitive diagnostics — accepted auth modes, which credential headers were present, configured key names, JWT header fields. Never key values or token payloads.
ReadonlystatusAlways 503. Nothing about the request is wrong; the pool has no connection for it yet.
Returns the wire format — also used implicitly by JSON.stringify, so
logging the error yields the full diagnostics rather than {}.
Thrown when the Postgres pool cannot hand a query a connection: every pooled connection stayed busy for the whole checkout wait, or new connection attempts are paused after one failed.
Always has
status: 503. Both conditions are transient, so the request can be retried.details.retryAfterMsgives the time left when a pause is running.ctx.postgresandctx.postgresAdminthrow this from the query call. The middleware do not turn it into a response; the handler or the host's error handler decides how the request answers.Example: Answering 503 with a Retry-After header