0
我有一個使用postgres亞馬遜RDS的亞馬遜beanstalk節點應用程序。要使用postgres連接節點,我使用node postgres。代碼如下所示:節點Postgres模塊沒有響應
var pg = require('pg'),
done,client;
function DataObject(config,success,error) {
var PG_CONNECT = "postgres://"+config.username+":"+config.password+"@"+
config.server+":"+config.port+"/"+config.database;
self=this;
pg.connect(PG_CONNECT, function(_error, client, done) {
if(_error){ error();}
else
{
self.client = client;
self.done = done;
success();
}
});
}
DataObject.prototype.add_data = function(data,success,error) {
self=this;
this.client.query('INSERT INTO sample (data) VALUES ($1,$2)',
[data], function(_error, result) {
self.done();
success();
});
};
要使用它,我創建我的數據對象,然後每當新數據出現時調用add_data。在add_data中,我調用'this/self.done()'來釋放連接回池。現在當我反覆提出這些請求時,client.query永遠不會回來。在什麼情況下會導致阻塞/不響應數據庫接口?
非常好。從文檔中我不清楚每次需要查詢數據庫時需要打開一個連接。我認爲客戶端對象是池。 – 2015-02-11 15:02:21