2013-11-24 71 views
0

我在Windows上使用Postgesql和PgAdmin時沒有任何問題,但卻努力讓它在Linux上工作(我是Linux N00b)。我已經在我的Fedora盒子上安裝了64位版本,後面是these instructions(用9.2版本替換9.3版本)。一切正常,直到我與發射的pgsql:在Linux上安裝Postgresql和PgAdmin3

sudo -u postgres psql template1 

在這裏,我得到一個錯誤「權限被拒絕」的是試圖改變我的主目錄。

我可以根據說明更改'postgres'的密碼,我推測這只是因爲我可以在pg_hba.conf中使用'md5'而不是'trust'(如果不是,那麼我不明白爲什麼我需要這一步)。

當我啓動PgAdmin3時,最初我沒有連接。試圖連接到服務器給我一個用戶'postgres'認證錯誤。我曾嘗試將pg_hba.conf重置爲'trust',但這也不起作用。

我希望對Linux中的'postgres'用戶有所解釋,因爲它似乎是Linux系統上的一個單獨的實際用戶(與Windows不同,它只是一個與Postgress相關的'非實體'用戶)。其次,有助於獲得PgAdmin與Postgresql的對話。

回答

1
psql -U postgres template1 

它會提示輸入密碼,如果你設置MD5 pg_hba.conf中

+0

感謝您的建議。我沒有得到Linus'Permission Denied'錯誤,但不幸的是,當我以這種方式設置'postgres'的密碼時,我嘗試連接時遇到了一個psql錯誤'FATAL:用戶密碼驗證失敗'postgres'''。 – MappaGnosis

0

多挖約我發現,大多數的文件不完整後。我需要通過Cefull羅的解決方案(1)(在大多數的文件爲)連接和NOT的組合:

sudo -U postgres psql

然後改變我需要一個更明確的SQL命令如下

密碼

template1=# ALTER USER postgres with encrypted password ‘yourpassword’;

我相信,我需要明確說明「使用加密密碼」,因爲我使用MD5,雖然再次,90%的文檔不指出這一點,並與MD5一起建議密碼的基本變化。也許這是Fedora特有的,誰知道,但現在我可以通過PgAdmin3連接。

+1

幾個誤解。只有當你不是postgres時才需要'sudo'部分,當然,只有當你的系統安裝了sudo時纔可能使用'sudo'部分。認證方法'trust'允許沒有密碼的連接,但只有當你指定了適當的連接(並重新加載)時。通常「本地」和「主機」混在一起。和其他SQL命令一樣,「ALTER USER」完全獨立於連接設置。 –