gpt4 book ai didi

node.js - 在 sequelize 和 pg 之间共享一个数据库连接池

转载 作者:行者123 更新时间:2023-12-03 12:10:22 35 4
gpt4 key购买 nike

我有一个使用 Express 和 node-postgres 编写的服务器(页)。它创建自己的数据库池:

const dbPool = new pg.Pool(dbConfig);

并使用此连接直接运行 SQL 查询。

现在我要添加一个新表和相应的 REST API。我想用 sequelizeepilogue以减少样板。不幸的是,sequelize 想创建自己的数据库连接池:
const sequelize = new Sequelize(database, user, password, config);

是否可以重用现有的连接池或以其他方式在我现有的 pg 之间共享它?代码和我的新 sequelize代码?

最佳答案

Sequelize 不提供传递自定义池的选项,但您可以传递用于创建 sequelize 池的选项,例如最小和最大连接数。
在您的情况下,我会做的是检查您的数据库连接总数,并根据您的两个池的预期使用情况进行重新分区。
例如,如果您的数据库最多有 20 个连接:

const dbPool = new pg.Pool({
max: 10
});

const sequelize = new Sequelize(/* ... */, {
// ...
pool: {
max: 10,
min: 0,
acquire: 30000,
idle: 10000
}
});
我还建议使用环境变量来设置 sequelize 池和 nod-pg 池上的最大连接,以便您可以在需要时轻松调整重新分区。

关于node.js - 在 sequelize 和 pg 之间共享一个数据库连接池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39457757/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com