fix(api): TCP keepalive + pool tuning sur la connexion PG
Le firewall entre pod K3s et LXC PG coupe silencieusement les connexions idle (« Connection terminated unexpectedly » remonté par Sentry). On active `keepAlive` sur le socket pg et on recycle les connexions idle du pool plus vite (idleTimeoutMillis: 30 s). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
parent
5f88a6411e
commit
cb1195ab73
@ -12,12 +12,27 @@ const dbConfig = defineConfig({
|
||||
connections: {
|
||||
postgres: {
|
||||
client: 'pg',
|
||||
// TCP keepalive (keepAlive / keepAliveInitialDelayMillis) : empêche le
|
||||
// firewall entre pod K3s et LXC PG de couper silencieusement les
|
||||
// connexions idle (cause de l'erreur « Connection terminated
|
||||
// unexpectedly » remontée par Sentry). Lucid type-narrow ne les expose
|
||||
// pas mais le driver `pg` les accepte et knex les forward tels quels.
|
||||
connection: {
|
||||
host: env.get('PG_HOST'),
|
||||
port: env.get('PG_PORT'),
|
||||
user: env.get('PG_USER'),
|
||||
password: env.get('PG_PASSWORD'),
|
||||
database: env.get('PG_DB_NAME'),
|
||||
// @ts-expect-error Lucid n'expose pas keepAlive/keepAliveInitialDelayMillis dans son type pg ; le driver et knex les forward tels quels.
|
||||
keepAlive: true,
|
||||
keepAliveInitialDelayMillis: 10_000,
|
||||
},
|
||||
pool: {
|
||||
min: 0,
|
||||
max: 10,
|
||||
// Recycler les connexions idle rapidement plutôt que d'en garder
|
||||
// qui risquent d'être coupées côté réseau.
|
||||
idleTimeoutMillis: 30_000,
|
||||
},
|
||||
migrations: {
|
||||
naturalSort: true,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user