我使用节点js,express和postgresql作为后端。 这是我用来做休息API的方法:快速保持连接打开?
exports.schema = function (inputs, res) {
var query = knex('schema')
.orderBy('sch_title', 'asc')
.select();
query.exec(function (err, schemas) {
if(err){
var response = {
message: 'Something went wrong when trying to fetch schemas',
thrownErr: err
};
console.error(response);
res.send(500, response);
}
if(schemas.length === 0){
var message = 'No schemas was found';
console.error(message);
res.send(400, message);
return;
}
res.send(200, schemas);
});
};
它的工作原理,但一段时间Postgres的后记录一个错误,它不再工作:
sorry, too man clients already
我需要密切每个请求不知何故?在快速文档中找不到任何关于此的信息。什么可能是错误的?
此错误仅在生产服务器上发生。不在开发机器上。
更新 该应用只在一个“模块”中刹车。该应用程序的其余部分工作正常。所以只有一些查询会给出错误。
看起来像完成查询时db连接不关闭。而不是表达。 – jmingov
http://stackoverflow.com/questions/2757549/org-postgresql-util-psqlexception-fatal-sorry-too-many-clients-已经有用了吗? –
这绝对是您的postgres问题,而不是快递。你能发布DB代码的相关部分吗? – jeremy