从本地节点服务器到Postgres DB的连接被拒绝
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从本地节点服务器到Postgres DB的连接被拒绝相关的知识,希望对你有一定的参考价值。
我正在EC2 AWS实例上运行节点服务器。那里也有一个postgres数据库。当我通过CLI连接时:
psql -h localhost -U user -d database
我被提示输入密码,我提供了它,这一切都很好。但是,当使用pg npm包时,尝试连接时我拒绝连接:
const { Client } = require("pg");
const options = {
host: process.env.DB_HOST,
port: process.env.DB_PORT,
user: process.env.DB_USER,
password: process.env.DB_PASSWORD,
database: process.env.DB_NAME
};
const dbClient = new Client(options);
function Connect() {
dbClient.connect(function(err) {
if (err) {
console.log(err);
}
else {
console.log("Connected to DB");
}
});
}
我认为我的postgresql.conf或pg_hba.conf都有问题。
postgresql.conf:
listen_addresses = '127.0.0.1' # what IP address(es) to listen on;
port = 5433 # (change requires restart)
max_connections = 100 # (change requires restart)
pg_hba.conf:
local all postgres md5
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local tap2tap dbUser md5
host tap2tap dbUser 127.0.0.1 md5
#local all all md5
# IPv4 local connections:
host myDb dbUser localhost md5
hot myDb dbUser 127.0.0.1 md5
我对Postgres完全陌生,因此请原谅任何新秀错误。任何帮助将不胜感激。
最好,彼得
答案
[使用Ubuntu时,您使用UNIX套接字(https://node-postgres.com/features/connecting)在本地主机上进行连接:
也可以建立与unix套接字的连接。这在像Ubuntu这样的发行版中很有用,在该发行版中,通过套接字连接而不是密码来管理身份验证。
这不需要端口号:|
希望这对某人有帮助。
以上是关于从本地节点服务器到Postgres DB的连接被拒绝的主要内容,如果未能解决你的问题,请参考以下文章
Postgres连接本地数据库出错-"连线被拒,请检查主机名称和埠号,并确定 postmaster 可以接受 TCP/IP 连线"
如何在Docker环境中启动时,如何从节点服务器连接到postgres
Docker Compose 无法从数据库 (jdbc:postgresql://db:5432/postgres) 为用户“postgres”获取连接:连接尝试失败