注意我正在运行Windows 7和postgres版本9.3。
我遇到了令人沮丧的问题,即我错误地为postgresQL设置了密码。在尝试发现如何恢复密码后,无济于事,我决定卸载然后重新安装postgres。安装过程进行得很顺利,在流程结束时我被提示输入密码。
然而,在重新安装和新密码之后,我在终端中输入了psql
并被提示输入password:
,但是我输入的密码,我刚刚创建的新密码,不行。我不确定是否可能将旧密码存储在某个地方?我尝试过其他的事情,例如在输入su
或postgres
之前使用psql
(在Windows上无效...“'su'不会被识别为内部或外部命令“)。
主要问题是我实际上需要密码,因为我使用的是node-postgres,需要使用var conString = "postgres://username:password@localhost/database";
进行连接。我尝试在其中重新安装username
和password
,但收到错误消息error fetching client from pool { [error: password authentication failed for user "myUserName"]
为什么新密码无效或如何获取密码并运行postgres的任何想法?
谢谢!
答案 0 :(得分:1)
GOT IT!
你要做的是
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
,一切都应该是桃子的:)