2016-11-10 34 views
1

我正在使用OS X El Capitan版本10.11.3 我下載了Postgres應用程序並運行了應用程序。psql:致命:角色「vimarshchaturvedi」不存在。 Postgres.app安裝

頂部大象圖標表示版本9.6.1.0(9.6.1.0)

當我點擊「打開PSQL」我讓我的終端上下面的輸出。

$ '/Applications/Postgres.app/Contents/Versions/9.6/bin'/psql -p5432 
psql: FATAL: role <username> does not exist 

哪裏是我的用戶名。據我瞭解,應用程序應該使用我的用戶名和密碼創建一個角色。

我試着這樣做:

psql -h localhost -U <username> 

這給了同樣的錯誤。

以下是我嘗試在SO上發佈的答案所獲得的各種輸出。

$ which psql 
/Applications/Postgres.app/Contents/Versions/latest/bin/psql 

搜索了一下後,我越跑以下命令:

psql -h localhost -U postgres 
postgres=# 

Postgres的外殼打開。任何人都可以解釋發生了什麼?

回答

0

啓動沒有任何給定用戶名的psql(-U ...)會嘗試使用與當前操作系統用戶同名的db用戶登錄。很明顯,該數據庫用戶尚未創建。

與每一個DB集羣創建的默認超級用戶名爲postgres。不要將此與RDBMS的名稱或名爲postgres其他用途的系統數據庫混淆。

,你可以與用戶postgres登錄並沒有PW表示兩件事情的事實:

  1. 用戶`Postgres的存在(廢話)。
  2. 它設置爲無密碼的訪問,無論是與一個.pgpass文件或pg_hba.conf與認證方法peeridenttrust之一。最有可能的是peer

如果是這樣,從外殼速戰速決:

createuser -h localhost -U postgres vimarshchaturvedi 

vimarshchaturvedi明明是你的操作系統的用戶名。

登錄後,可以查看哪個登錄角色(=用戶)退出:

SELECT rolname FROM pg_roles; 
相關問題