我有一個PostgreSQL 8.3版本DB中設置了在Linux操作系統中,一起讀pg_hba.conf裏PostgreSQL並不與用戶的Postgres 提示密碼
local all postgres ident sameuser
local all all md5
所以沒有信任從本地計算機的連接。
但是,當通過命令行與psql連接時,不會詢問密碼,並且所有用戶都可以訪問所有數據庫。
我在這裏完全失去了..
我有一個PostgreSQL 8.3版本DB中設置了在Linux操作系統中,一起讀pg_hba.conf裏PostgreSQL並不與用戶的Postgres 提示密碼
local all postgres ident sameuser
local all all md5
所以沒有信任從本地計算機的連接。
但是,當通過命令行與psql連接時,不會詢問密碼,並且所有用戶都可以訪問所有數據庫。
我在這裏完全失去了..
您確定您在pg_hba.conf更改後是否重新啓動或重新加載PostgreSQL?
如果是的話,鍵入的Postgres系統帳戶(殼)這個命令:
psql -qAt -c "show hba_file" | xargs grep -v -E '^[[:space:]]*#'
如果這不會幫助 - 向我們展示了命令的輸出。
原來,由於混淆的原因,我正在查看錯誤的conf文件。發現感謝顯示hba_file(不知道有關命令之前) – Ash 2009-08-27 07:23:46
我重新創建一個postgresql配置,並且這個命令幫助我比較新配置和舊配置。 +1和星號的問題。 – scottyseus 2015-06-08 15:36:02
嘗試
host all all 127.0.0.1/32 md5
代替。
你必須改變爲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
需要重新啓動服務器。
您是否有任何以PG設置開頭的環境變量? (例如PGUSER,PGHOST等) – 2009-08-26 15:36:05
或〜/ .pgpass文件? – 2009-08-26 15:40:46