最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

从本地节点服务器到Postgres DB的连接被拒绝

IT培训 admin 9浏览 0评论

从本地节点服务器到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/features/connecting)在本地主机上进行连接:

也可以建立与unix套接字的连接。这在像Ubuntu这样的发行版中很有用,在该发行版中,通过套接字连接而不是密码来管理身份验证。

这不需要端口号:|

希望这对某人有帮助。

从本地节点服务器到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/features/connecting)在本地主机上进行连接:

也可以建立与unix套接字的连接。这在像Ubuntu这样的发行版中很有用,在该发行版中,通过套接字连接而不是密码来管理身份验证。

这不需要端口号:|

希望这对某人有帮助。

发布评论

评论列表 (0)

  1. 暂无评论