2009-08-26 52 views
4

我有一個PostgreSQL 8.3版本DB中設置了在Linux操作系統中,一起讀pg_hba.conf裏PostgreSQL並不與用戶的Postgres 提示密碼

local all   postgres       ident sameuser 
local all   all        md5 

所以沒有信任從本地計算機的連接。

但是,當通過命令行與psql連接時,不會詢問密碼,並且所有用戶都可以訪問所有數據庫。

我在這裏完全失去了..

+0

您是否有任何以PG設置開頭的環境變量? (例如PGUSER,PGHOST等) – 2009-08-26 15:36:05

+3

或〜/ .pgpass文件? – 2009-08-26 15:40:46

回答

5

您確定您在pg_hba.conf更改後是否重新啓動或重新加載PostgreSQL?

如果是的話,鍵入的Postgres系統帳戶(殼)這個命令:

psql -qAt -c "show hba_file" | xargs grep -v -E '^[[:space:]]*#' 

如果這不會幫助 - 向我們展示了命令的輸出。

+0

原來,由於混淆的原因,我正在查看錯誤的conf文件。發現感謝顯示hba_file(不知道有關命令之前) – Ash 2009-08-27 07:23:46

+0

我重新創建一個postgresql配置,並且這個命令幫助我比較新配置和舊配置。 +1和星號的問題。 – scottyseus 2015-06-08 15:36:02

0

嘗試

host all all 127.0.0.1/32  md5 

代替。

1

你必須改變爲IPv4和IPv6兩種線pg_hba.conf中

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

需要重新啓動服務器。