Node.js,PostgreSQL错误:没有用于主机的pg_hba.conf条目 [英] Node.js, PostgreSQL error: no pg_hba.conf entry for host
问题描述
我正在关注这篇文章(( http://nodeexamples.com/2012/09/21/connecting-to-a-postgresql-database-from-node-js-using-the-pg-module/
I am following this article ((http://nodeexamples.com/2012/09/21/connecting-to-a-postgresql-database-from-node-js-using-the-pg-module/). I have already deployed my app to heroku and currently using express, node.js, to try and connect to a PostgresSQL database in Heroku that I just installed. I get to the very end of the article and I use the command
node myfile.js
我收到这个错误
error: no pg_hba.conf entry for host "...", user "...", database "...", ...
关于创建一个应该在我的应用程序目录中的位置?
How do I go about creating one and where in my app directory should I put it?
以下是整个错误消息,我更改了IP地址,用户和数据库的字符串,但是看起来基本上就是这样。
Below is the entire error message. I changed the strings for IP address, user, and database but it looks basically just like it.
events.js:72
throw er; // Unhandled 'error' event
^
error: no pg_hba.conf entry for host "00.000.000.00", user "username", database "databasename", SSL off
at Connection.parseE (/Users/user/workspace/MyApp/app/node_modules/pg/lib/connection.js:526:11)
at Connection.parseMessage (/Users/user/workspace/MyApp/app/node_modules/pg/lib/connection.js:356:17)
at Socket.<anonymous> (/Users/user/workspace/MyApp/app/node_modules/pg/lib/connection.js:105:22)
at Socket.emit (events.js:95:17)
at Socket.<anonymous> (_stream_readable.js:748:14)
at Socket.emit (events.js:92:17)
at emitReadable_ (_stream_readable.js:410:10)
at emitReadable (_stream_readable.js:406:5)
at readableAddChunk (_stream_readable.js:168:9)
at Socket.Readable.push (_stream_readable.js:130:10)
编辑:我做了更多的研究,发现'pg_hba.conf'文件在我的
I did some more research and found that the 'pg_hba.conf' file is in my
/usr/local/var/postgres
,我将这行添加到'pg_hba.conf'文件中
and I added this line into the 'pg_hba.conf' file
# TYPE DATABASE USER ADDRESS METHOD
host all all trust
还尝试
# TYPE DATABASE USER ADDRESS METHOD
host all all 0.0.0.0/0 md5
但它一直在说e不是我的主机,用户,数据库等的条目...
是我的'pg_hba.conf'语法错了吗?
but it keeps saying there is no entry for my host, user, database, etc... is my 'pg_hba.conf' syntax wrong in any way?
推荐答案
将您的连接代码更改为使用ssl。跟随您的链接示例:
Change your connection code to use ssl. Following your linked example:
var conString = "pg://admin:guest@localhost:5432/Employees";
var client = new pg.Client(conString);
client.connect();
成为:
var client = new pg.Client({
user: "admin",
password: "guest",
database: "Employees",
port: 5432,
host: "localhost",
ssl: true
});
client.connect();
https://github.com/brianc/node-postgres/wiki/Client#new-clientobject-config--client
这篇关于Node.js,PostgreSQL错误:没有用于主机的pg_hba.conf条目的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!