【发布时间】:2018-12-30 13:23:01
【问题描述】:
FATAL: no PostgreSQL user name specified in startup packet
通过执行以下操作尝试连接到我的 kubernetes 集群中的 postgreSQL 实例时的日志:
const { POSTGRES_DATABASE, POSTGRES_USERNAME, POSTGRES_PASSWORD } = require('../config/config');
const Sequelize = require('sequelize');
const conn = new Sequelize(POSTGRES_DATABASE, {
username: POSTGRES_USERNAME,
password: POSTGRES_PASSWORD
});
config/config.js
const config = {
POSTGRES_DATABASE: 'postgres://postgres/postgresdb',
POSTGRES_USERNAME: 'postgresadmin',
POSTGRES_PASSWORD: 'admin123',
SERVER_PORT: '5000'
}
module.exports = config;
我在 nodeJS 中使用 SequelizeJS。 http://docs.sequelizejs.com/
由于在 postgreSQL 日志中看到尝试,请求似乎连接正常。但是出了点问题,我想知道 postgres 或节点服务中的权限是否有问题。
感谢一些帮助或想法
【问题讨论】:
-
POSTGRES_USERNAME是一个变量吗?它是在哪里定义的? -
我更新了第一篇@doublesharp
-
您正在传递用户名作为密码 -
password: POSTGRES_USERNAME -
另外,您使用的数据库与配置中的不同。这似乎很奇怪。
-
我想我的意思是,要么使用 config.js 中的那个,要么从 config.js 中删除它。将其添加到 config.js 中而不使用它会令人困惑,并且会在以后导致更多的混乱。
标签: node.js postgresql kubernetes sequelize.js