PSQL 连接到 Node.js 问题

问题描述 投票:0回答:1

因此,我可以使用提示符(psql -h localhost -p 5432 -U postgres -d Luxe-Hotel)并输入密码通过命令提示符连接到我的psql数据库,但我无法通过node.js连接.

import express from "express";
import cors from "cors";
import pkg from "body-parser";
import bcrypt from "bcrypt";
import knex from "knex";
import handleRegistration from "./controllers/handleRegistration.js";
import handleSignIn from "./controllers/handleSignIn.js";

const db = knex({
    client: 'pg',
    connection: {
        host: 'localhost',
        port: 5432,
        user: 'postgres',
        password: 'xxxxxxxxxx',
        database:'Luxe-Hotel'
    },
    pool: { min: 0, max: 7 }
});

db.raw('SELECT 1')
  .then(() => console.log('PostgreSQL connected'))
  .catch(err => console.error('PostgreSQL connection error:', err));

因此,当我启动服务器时,出现错误: “PostgreSQL 连接错误:AggregateError [ECONNREFUSED]: 在内部ConnectMultiple(节点:net:1122:18) 在 afterConnectMultiple (节点:net:1689:7) { 代码:'ECONNREFUSED', [错误]:[ 错误:连接 ECONNREFUSED ::1:5432 在createConnectionError(节点:net:1652:14) 在 afterConnectMultiple (节点:net:1682:16) { 错误号:-111, 代码:'ECONNREFUSED', 系统调用:'连接', 地址:'::1', 端口:5432 }, 错误:连接ECONNREFUSED 127.0.0.1:5432 在createConnectionError(节点:net:1652:14) 在 afterConnectMultiple (节点:net:1682:16) { 错误号:-111, 代码:'ECONNREFUSED', 系统调用:'连接', 地址:'127.0.0.1', 端口:5432 } ] }” 我已经关闭了防火墙,检查 pgsl confiq 文件中的侦听地址和端口,检查了代码中的配置设置,但仍然没有成功。

javascript node.js database postgresql connection
1个回答
0
投票

问题很可能是该用户可以从本地网络进行连接。

为了修复它,请打开

pg_hba.conf
并在最后添加以下条目。

host all all 0.0.0.0.0/0 md5
host all all ::/0 md5

之后您将能够使用 Node.JS 进行连接

© www.soinside.com 2019 - 2024. All rights reserved.