我忘记或者在安装过程中输入了PostgreSQL默认用户的密码。我似乎不能运行它,我得到以下错误:

psql: FATAL:  password authentication failed for user "hisham"
hisham-agil: hisham$ psql

是否有方法重置密码或如何创建具有超级用户权限的新用户?

我是PostgreSQL的新手,只是第一次安装它。我正在尝试使用Ruby on Rails,我正在运行Mac OS X v10.7 (Lion)。


当前回答

注意:在Linux上,您可以简单地运行sudo su - postgres来成为postgres用户,然后使用psql更改所需的内容。

其他回答

对于Windows安装,将创建Windows用户。“psql”使用该用户连接到端口。如果您更改了PostgreSQL用户的密码,它不会更改Windows用户的密码。 只有当您可以访问命令行时,下面的命令行才能工作。

相反,您可以使用Windows GUI应用程序“c:\Windows\system32\lusrmgr.exe”。这个应用程序管理由Windows创建的用户。现在可以修改密码了。

如果你在Windows上,你可以直接运行

net user postgres postgres

并以postgres/postgres用户/密码登录PostgreSQL。

将下面的代码添加到pg_hba.conf文件中。PostgreSQL的安装目录中会出现哪个

hostnossl    all          all            0.0.0.0/0  trust

它将开始工作。

pg_hba.conf (C:\Program Files\PostgreSQL\9.3\data)文件在给出这些答案后发生了变化。在Windows中,对我有用的是打开文件并将METHOD从md5更改为trust:

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# IPv4 local connections:
host    all             all             127.0.0.1/32            trust
# IPv6 local connections:
host    all             all             ::1/128                 trust

然后,我使用pgAdmin III在没有密码的情况下登录,通过“文件→更改密码”菜单修改了用户postgres的密码。

我只是在Windows 10上有这个问题,在我的情况下,问题是我只是运行psql,它默认试图登录与我的Windows用户名(“内森”),但没有PostgreSQL用户的名字,它没有告诉我。

所以解决方案是运行psql -U postgres而不是仅仅运行psql,然后我在安装时输入的密码就可以工作了。