0
我做了postgres助手,用於連接數據庫並執行查詢。代碼:NodeJS Postgres助手 - 釋放連接
var pg = require('pg');
var dbConn = require('../config.json').dbConn;
var pool = new pg.Pool(dbConn);
var status = {
"OK": 0,
"ERROR": 1
};
var message = {
"success": "success",
"error": "error",
"databaseError": "Database error"
};
var helper = {
query: function (query, params, success, error) {
pool.connect(function (err, client, done) {
if (err) {
error({
status: status.ERROR,
message: message.databaseError,
data: err
});
return;
}
client.query(query, params, function (err, result) {
//call `done()` to release the client back to the pool
done();
if (err) {
error({
status: status.ERROR,
message: message.databaseError,
data: err
});
return;
}
success({
status: status.OK,
message: message.success,
result: result
});
});
});
}
};
module.exports = helper;
它不具有邏輯查詢執行後釋放連接。所以過了一段時間,我得到數據庫錯誤:「客戶太多...」 有人可以告訴我怎麼做嗎?一旦我嘗試了一些東西(要調用close()或release()函數),但它打破了連接,並且我無法發出新的請求,直到我重新啓動應用程序。
要避免連接問題乾脆,檢查出[PG -promise](https://github.com/vitaly-t/pg-promise);) –