PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Knex.js forza il riutilizzo della sessione per 4 query successive

Fondamentalmente puoi farlo solo eseguendo quelle query nella stessa transazione. Ciò costringe knex a utilizzare la stessa connessione per tutte le query.

Un altro modo per farlo è acquisire manualmente la connessione dal pool con knex.client.aqcuireConnection() e usa knex.connection(connection) per eseguire query in quella singola connessione. Infine è necessario rilasciare nuovamente la connessione al pool per non perdere le connessioni con knex.client.releaseConnection(connection) .

Qualcosa come:

let connection = await knex.client.acquireConnection();
try {
    const res = await knex('table').connection(connection).where('id',1);
    const res2 = await knex('table2').connection(connection).where('id',1);
} finally {
    knex.client.releaseConnection(connection);
}