2013-07-04 60 views
2

我爲Rails項目設置我的本地PostgreSQL數據庫(即我加盟),並已完成了以下:PostgreSQL的「無pg_hba.conf的條目」錯誤

  • 安裝的Postgres
  • 新增/捆綁 'PG' 寶石
  • 創建了一個名爲 「foobar的」 一個數據庫用戶
  • 創建一個數據庫名爲 「foobar_development」

Rails應用程序自帶了RAK e數據庫:遷移任務。當我運行這個任務,我碰到下面的錯誤輸出:

FATAL: no pg_hba.conf entry for host "::1", user "foobar", database "foobar_development", SSL off 

我發現在以下位置pg_hba.conf文件:

在/ usr /本地的/ var/Postgres的

這裏的pg_hba.conf文件的相關部分:

# TYPE DATABASE  USER   ADDRESS     METHOD 

# "local" is for Unix domain socket connections only 
local all    all          trust 
# IPv4 local connections: 
host all    all    127.0.0.1/32   trust 
# IPv6 local connections: 
host all    all    ::1/128     trust 
# Allow replication connections from localhost, by a user with the 
# replication privilege. 

#local replication  jimmyli        trust 
#host replication  jimmyli  127.0.0.1/32   trust 
#host replication  jimmyli  ::1/128     trust 

我使用的是與我的Mac(版本9.2.4)附帶的Postgres的,雖然我很擔心,我可能已經安裝了它的地方,埃爾斯另一個版本e(並且應該刪除它 - 無論如何我可以檢查它?)。我也使用Postgres.app來運行psql。 (http://postgresapp.com/)。

我認爲我的pg_hba.conf文件應該可以正常工作(因爲我讓所有用戶都可以訪問所有dbs),所以我想知道是否還有另外一個pg_hba.conf文件,並且正在查看錯誤的/沒有被使用的。我如何測試這個假設?

回答

0

pg_hba.conf應該被複制到您的數據目錄中。根據list here,它應該在〜/ Library/Application \ Support/Postgres/var中。希望可以幫助...

+0

呀,這是非常接近正確的道路 - 發現的Postgres內做SHOW hba_file正確的道路。 – jyli7

4

你進行更改您pg_hba.conf文件後重新裝入PostgreSQL的?嘗試以超級用戶身份登錄到數據庫併發出select pg_reload_conf();以重新加載pg_hba.conf和postgresql.conf文件。

8

Got it!看起來我正在看錯誤的/不相關的pg_hba.conf文件。要找到合適的人,我登錄到用psql數據庫,並跑了「SHOW hba_file」

這給我的路徑相關的文件,這在我的情況是:

/Library/PostgreSQL/9.1/數據

然後我添加了正確的行(請參閱我的問題)到這個問題,並且一切正常!

0

坐落在命令行中輸入以下環境變量來要求SSL的Postgres連接:

$ export PGSSLMODE=require 
相關問題