2013-11-26 68 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'數據庫(用於在數據庫創建期間連接)。所以這就是你必須登錄的。

相關問題