Jac*_*son 4 postgresql node.js express
我有一些使用PostgreSQL设置的数据库,我能够从psql REPL那样做我需要的一切,但当我尝试通过同一台机器上的node.js访问它时,我收到一个password authentication filed for user"[my user name]"
错误.
根据在线教程,我的数据库访问代码是这样的:
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(); });
Run Code Online (Sandbox Code Playgroud)
但是由于我已经使用我自己的一些函数设置了表,我只是尝试在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])"]);
});
Run Code Online (Sandbox Code Playgroud)
我把我的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
Run Code Online (Sandbox Code Playgroud)
你的连接字符串似乎是错误的.连接字符串必须像:
postgres://[username]:[password]@[host]:[port]/[databasename]
Run Code Online (Sandbox Code Playgroud)
在你的情况下:
postgres://[username]@localhost:5432/[databasename]?ssl=true
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3578 次 |
最近记录: |