gpt4 book ai didi

node.js - 身份验证无法将 node.js 与 PostgreSQL 连接起来

转载 作者:搜寻专家 更新时间:2023-10-31 22:59:17 24 4
gpt4 key购买 nike

我有一些数据库是用 PostgreSQL 设置的,我可以从 psql REPL 之类的事情上做我需要的一切,但是当我尝试在同一台机器上通过 node.js 访问它时,我得到一个 为用户[我的用户名]提交的密码验证” 错误。

根据在线教程,我的数据库访问代码是这样的:

var pg = require('pg');
var path = require('path');
var connectionString = require(path.join(__dirname, '../', '../', 'config'));

var client = new pg.Client(connectionString);
client.connect();
var query = client.query('CREATE TABLE items(id SERIAL PRIMARY KEY, text VARCHAR(40) not null, complete BOOLEAN)');
query.on('end', function() { client.end(); });

但是因为我已经用我自己的一些函数设置了表,所以我只是想在 POST 上访问这些函数,方法是:

var express = require('express');
var router = express.Router();
var pg = require('pg');
var path = require('path');
var connectionString = 'postgres://localhost:5432/[My User Name]?ssl=true;

router.post('/locations', function(req,res) {
var client = new pg.Client(connectionString);
client.connect();

var query = client.query([Call to my function, works in REPL, something like "SELECT * FROM create_location([Data from req])"]);
});

我将我的 pg_.conf 设置为:

local  all  postgres         peer
local all all trust
local all all 127.0.0.1/32 trust
host all all ::1/128 md5

最佳答案

您的连接字符串似乎有误。连接字符串必须是这样的:

postgres://[username]:[password]@[host]:[port]/[databasename]

在你的情况下:

postgres://[username]@localhost:5432/[databasename]?ssl=true

关于node.js - 身份验证无法将 node.js 与 PostgreSQL 连接起来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32067153/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com