node.js postgres连接问题

时间:2011-06-24 11:00:14

标签: postgresql node.js database-connection

我正在尝试从node.js连接到postgres数据库,但我总是遇到一些奇怪的错误

ENOTFOUND, Domain name not found

我使用的node.js模块是'pg'。

在一些例子中,我看到了不同的连接字符串:

pg://, tcp:// and postgres://
你能告诉我哪一个是正确的吗?什么可能导致这个问题?

1 个答案:

答案 0 :(得分:9)

以下是我用来尝试为PG数据库提供Web界面的一些代码。它可以连接和插入/删除/选择记录,具体取决于您通过curl或Web浏览器发送的命令。

var app = require('express').createServer();
var pg = require('pg');
var conString = "postgres://YOURUSER:YOURPASSWORD@localhost/dev";

var client = new pg.Client(conString);
client.connect();

app.get('/', function(req, res){
  res.send('hello world');
});

app.get('/select/:client_id', function(req, res){
   var  query = client.query("select '{count:}' as c_count,client_id from test_input where client_id = $1 limit 1", [req.params.client_id]);
   query.on('row', function(row) {
   res.send(row);
});
}
);

app.get('/insert/:client_id',

function(req, res)
{

  console.log('called');
  client.query("INSERT INTO test_input(client_id) VALUES($1)",[req.params.client_id]);
   res.send('done');
});


process.on('uncaughtException', function (err) {
    console.log(err);
});


app.get('/delete/:client_id',

function(req, res)
{

  console.log('called');
  client.query("DELETE FROM test_input WHERE client_id = $1",[req.params.client_id]);
   res.send('done');
});