diff --git a/src/lib/db.ts b/src/lib/db.ts index 6f7e906a..263be4d8 100644 --- a/src/lib/db.ts +++ b/src/lib/db.ts @@ -118,8 +118,10 @@ export const init: (config: PoolConfig) => { attributes: { sql: trackQueryInSentry ? sql : 'custom' }, }, async () => { + // Use statement_timeout AND idle_session_timeout to ensure the connection will be killed even if idle after + // timeout time. const statementTimeoutQueryPrefix = statementQueryTimeout - ? `SET statement_timeout='${statementQueryTimeout}s';` + ? `SET statement_timeout='${statementQueryTimeout}s'; SET idle_session_timeout='${statementQueryTimeout}s';` : '' // node-postgres need a statement_timeout to kill the connection when timeout is reached // otherwise the query will keep running on the database even if query timeout was reached