从本地节点服务器到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”获取连接:连接尝试失败

节点 js 应用程序中 db 连接池处理的最佳实践?

npgsql Leaking Postgres DB Connections:监控连接的方法?

建立从 Postgres 到 Power bi 的直接查询连接