是否有可能以阻塞/同步方式使用节点js Postgres客户端

我正在寻找一个节点js客户端连接到PostgreSQL 8.3并运行我的查询在同步阻塞模式(脚本不Web服务器)。

我目前正在使用https://github.com/brianc/node-postgres这工作得很好,但它只支持asynchronous。

谢谢,

肖恩。

您可以使用asynchronous串行模式以同步方式运行您的查询,并避免多个callback结构: Async.series

pg.connect(configDB.connectionString, function(err, client, done) { if (err) { return console.error(err); } var condition = true; async.series([ CreateExtensions, PushSQL, function (next) { if (condition) { UpdateTable(id, name, next); } else { next(); } } ], function(err, results) { if (err) { console.error(err); } client.end(); pg.end(); }); function CreateExtensions(callback) { var queryConfig = 'CREATE EXTENSION postgis; CREATE EXTENSION hstore;'; client.query(queryConfig, function(err) { return callback(err); }); } function PushSQL(callback) { var queryConfig = fs.readFileSync("./database/cmdb.sql", 'utf8'); client.query(queryConfig, function(err) { return callback(err); }); } function UpdateTable(id, name, callback) { var queryConfig = "UPDATE table SET name = '" + name + "' WHERE id = " + id + ";"; client.query(queryConfig, function(err) { condition = false; return callback(err); }); } });