我使用節點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