Sequelize通过Unix套接字连接到Postgres
我想通过Unix套接字(不通过localhost
)使用Sequelize连接到Postgres。
Postgres被configuration为接受来自用户pgdba
Unix套接字连接。 所有从psql
命令行工作。 所以Pg端正确configuration。
我似乎无法findSequelizeconfiguration,虽然支持Unix套接字。 最近我能find的是mysql,我已经适应了Pg,但似乎没有工作:
var sequelizeConfig = { dialect: 'postgres', dialectOptions: { socketPath: '/home/pgdba/data/5432/.s.PGSQL.5432', } port: 5432 }; var sequelize = new Sequelize('fooDb', 'pgdba', 'passwd', sequelizeConfig);
我在启动应用时遇到的错误:
Unable to connect to the database: +23ms { [SequelizeConnectionError: pg_hba.conf rejects connection for host "127.0.0.1", user "pgdba", database "fooDb"] name: 'SequelizeConnectionError', message: 'pg_hba.conf rejects connection for host "127.0.0.1", user "pgdba", database "fooDb"',...
显然,sequelize仍然试图通过localhost
而不是Unix套接字和pg_hba.conf
正确地拒绝它,如configuration。 有没有办法configurationPostgres和Unix套接字的Sequelize?
在Node v5.1.0和Postgresql 9.5.0beta2上使用Sequelize 3.14.2。