【问题标题】:PostgresQL password being asked for and not working, despite re-installation尽管重新安装,但仍要求提供 PostgresQL 密码但无法正常工作
【发布时间】:2014-09-27 03:09:53
【问题描述】:

注意我运行的是 Windows 7 和 postgres 9.3 版。

我遇到了一个令人沮丧的问题,即我忘记了我的 postgresQL 密码。在尝试发现如何恢复密码后,无济于事,我决定我应该卸载然后重新安装 postgres。安装过程进行得很顺利,并且在过程结束时提示我输入密码。

但是,在重新安装和新密码之后,我在终端中输入了psql,并被提示输入password:,但是我输入的密码,我刚刚创建的新密码,不起作用。我不确定旧密码是否存储在某个地方?我已经尝试过其他的事情,比如在输入postgrespsql 之前使用su(这在Windows 上不起作用......“'su' 不被识别为内部或外部命令”)。

主要问题是我实际上需要密码,因为我使用的是node-postgres,并且需要使用var conString = "postgres://username:password@localhost/database"; 进行连接。我尝试将重新安装后的usernamepassword 放入其中,但收到错误消息error fetching client from pool { [error: password authentication failed for user "myUserName"]

关于为什么新密码不起作用或如何获取密码并让 postgres 运行的任何想法?

谢谢!

【问题讨论】:

  • 连接psql时是否指定了用户?我对windows了解不多,但是,我会尝试windows equiv:psql -Upostgres,然后输入你的密码。密码取决于帐户。有很多不同的方法可以做到这一点,但这应该会让你参与进来。
  • 我没有指定用户名。从我登录 Windows 开始,Postgres 就给了我系统用户名。我会尝试找到等效的
  • 我能够使用 psql -U postgres 进入 postgreSQL!所以现在我只需要找到创建新用户和密码的命令

标签: node.js postgresql passwords


【解决方案1】:

知道了!

你要做的是

1) 在控制台输入psql -U postgres。这将使您进入 postgresQL(希望 - 如果没有,可能需要更改您的 pg_hba.conf 文件或其他内容)。

2)输入CREATE USER whateverUsernameYouWant;(显然是设置你自己的用户名)

3)输入ALTER USER whateverUsernameYouWant WITH PASSWORD 'thisIsMyNewPassword'(同样,设置您的密码并使用您之前输入的用户名);

4) 在我正在处理的 node.js 文件中,我设置了 var conString = "postgres://whateverUsernameYouWant:thisIsMyNewPassword@localhost/database";

5) 创建数据库后(使用create DATABASE yourDatabaseName OWNER yourUsername;),要在退出postgres 后访问数据库,只需输入psql yourDatabaseName yourUsername,一切都应该是桃色的:)

【讨论】:

  • 是的,就可以了。 postgres 和 windows 将断言登录的“当前用户”作为提供您要登录的用户的一种方式。不过,还有更多。例如,在 unix 上有一个 pg_hba.conf 文件,用于查看如何进行身份验证。不同类别的用户(例如本地用户与网络用户)可以有不同的规则(例如本地不需要密码(受信任)到网络)。很高兴听到你成功了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-07-19
  • 2021-12-17
  • 2018-07-21
  • 1970-01-01
  • 2019-11-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多