postgresql pg 库采用 windows 用户名而不是 postgresql

Posted

技术标签:

【中文标题】postgresql pg 库采用 windows 用户名而不是 postgresql【英文标题】:postgresql pg library taking windows username instead of postgresql 【发布时间】:2022-01-24 05:48:59 【问题描述】:

我在 Strapi 应用程序中使用 pg lib,最初它使用正确的 postgresql 用户名(postgres)、数据库名称(strapi_db)和密码(postgres)创建 postgres 连接,但登录后它更改为使用我的 windows 10 用户名连接( rayappan.a,数据库为 rayappan.a)。这对我来说似乎很奇怪,因为我从未在任何地方配置过使用我的 Windows 凭据进行 POSTGRESQL 连接。请任何人告诉我如何解决用户名连接问题

问候, 拉亚潘·安东尼拉杰

【问题讨论】:

如果您希望任何人能够提供帮助,您将不得不提供一些示例代码。 【参考方案1】:

看看https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNSTRING。它指出用户名:

默认与运行应用程序的用户的操作系统名称相同。"

数据库名称:

默认与用户名相同。

所以似乎建立了一个未设置参数的新连接。

【讨论】:

module.exports = ( env ) => ( defaultConnection: "default", connections: default: connector: "bookshelf", connection: "default", settings: client: “postgres”,主机:env(“DATABASE_HOST”,“localhost”),端口:env.int(“DATABASE_PORT”,5432),数据库:env(“DATABASE_NAME”,“postgres”),用户名:env(“DATABASE_USERNAME” , "postgres"), 密码: env("DATABASE_PASSWORD", "postgres") , 选项: , , , ); 这是我在 Strapi 应用程序中的 config/database.js 文件内容 对不起,我没有使用strapi的经验。如果您将您的配置与strapi.io/blog/postgre-sql-and-strapi-setup 进行比较,您会发现默认连接中有connection : "default"。这可能是您的问题的原因吗? 我删除了连接:“默认”,但仍然遇到同样的问题。 module.exports = ( env ) => ( defaultConnection: "default", connections: default: connector: "bookshelf", connection: client: "postgres", host: env(“DATABASE_HOST”,“localhost”),端口:env.int(“DATABASE_PORT”,5432),数据库:env(“DATABASE_NAME”,“postgres”),用户:env(“DATABASE_USERNAME”,“postgres”),用户名:env(“DATABASE_USERNAME”,“postgres”),密码:env(“DATABASE_PASSWORD”,“postgres”),模式:env(“DATABASE_SCHEMA”,“public”),,选项:,,, );

以上是关于postgresql pg 库采用 windows 用户名而不是 postgresql的主要内容,如果未能解决你的问题,请参考以下文章

在Windows 7上更改/重置postgresql用户密码

postgresql windows 服务启动失败

postgresql如何防止删库

PostgreSQL pg_qualstats 解决索引缺失,添加索引

PostgreSQL常用查看命令

ora2pg oracle迁移postgresql工具