2013-11-26 44 views
0

我刚刚在Windows机器上安装了postgresql 9.3。在安装过程中,安装程序要求输入密码。我输入了一个密码,并继续我的快乐方式。系统从未要求用户与此密码关联。安装后密码无法正常工作

然后我在命令提示符下键入psql,以便我可以开始玩数据库。系统立即提示我输入密码。当我试图进入我在安装过程中使用的密码,我得到以下错误:

PS C:\用户\尼克> PSQL 密码: PSQL:FATAL:密码验证失败的用户“尼克”

这里有一些有趣的观点。

  1. 密码显然不起作用。
  2. postgresql显然看着安装它的Windows用户并为它创建了一个帐户。很酷,我想。不过,我不确定这意味着什么。

那么,我怎么登录到这个东西呢?

谢谢!

+1

你用默认'postgres'用户试过了吗? 'psql -U postgres' – PeeHaa

+0

如果所有其他操作都失败,只需编辑'pg_hba.conf'文件并将'local'指令设置为信任。这应该允许您使用任何帐户登录。 (一旦进入,不要忘记恢复此更改) – PeeHaa

+1

看起来像postgres用户是我在安装过程中设置的密码的人!谢谢。算我一个 – Nick

回答

0

postgresql apparently looked at the Windows user that installed it and created an account for it. Cool I suppose. I'm not sure what this means, though.

没有。一般来说,当使用密码认证时,PostgreSQL不会给你提示用户不存在。这是为了避免安全信息泄漏。

例如我的系统上:

$ psql -h localhost -U chris2 
Password for user chris2: 
psql: FATAL: password authentication failed for user "chris2" 
$ psql -U chris2 
psql: FATAL: role "chris2" does not exist 

这是因为我的开发系统上我有Unix套接字trust认证,因此不需要密码。默认情况下,创建的唯一帐户是'postgres'帐户。还创建了一个'postgres'数据库(用于在数据库创建期间连接)。所以这就是你必须登录的。

相关问题