我是node.js的新手,并从书中学习。我在书中有一些代码,当我启动它时会产生错误。我正在寻找解决方案,但任何人都有解决方案。所以我决定问自己的问题。
我的代码使用postgreSQL运行,它是require('pg');
。它已经安装在node_modules
这是我在一个文件中的所有代码: postgreSQL.js:
var pg = require('pg');
var conString = "tcp://root:root@localhost:5432/dataBase";
var client = new pg.Client(conString);
client.connect();
client.query(
'insert into users (name, age) values ("$1, $2") returning id',
['Michal', 29],
function(err, result){
if(err) throw err;
console.log('Id form this record '+ result.rows[0].id);
}
);
当我想启动它时,它会在cmd中生成错误:
throw er; // Unhandled 'error' event
^
Error: connect ECONNREFUSED
at exports._errnoException (util.js:746:11)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1010:19)
我试图检查telnet中的端口,从这里调试我的代码和每个解决方案。有人帮忙吗?
答案 0 :(得分:0)
根据他们的Documentation,看来通信所需的协议是postgres而不是tcp。尝试将您的conString更改为
'postgres://root:root@localhost:5432/dataBase'
这会将协议从tcp更改为postgres,这是数据库与您通信时所期望的。
答案 1 :(得分:0)
原因可能是与postgreSQL的连接。试试cd C:\path\to\postgres\bin
psql.exe -U root dataBase
。如果它正在侦听,请尝试通过命令行连接:
Windows:
psql -U root dataBase
<强> Linux的:强>
nth-of-type
如果连接失败,您需要验证与数据库的连接:
答案 2 :(得分:0)
首先通过此命令检查mysql连接端口
ps ax |grep mysqld
结果应该像&#34; mysql.sock --port = 3300&#34;
然后转到 node_modules 下的mysql文件夹并打开 ConnectionConfig.js 文件&gt;更改端口以更正一个&#34; 3300&#34;