2011-09-14 102 views
2

我已經使用這個網站了一堆過去三年左右的時間......這是我的第一篇文章:d的PostgreSQL + Rails的連接故障排除

但足夠無用戲謔和手頭的業務。


我將從方法/問題,錯誤開始,然後是錯誤的跟蹤/日誌。

然後,我會回顧一下爲了解決這個問題,我注意到了一些奇怪的事情,以及我認爲可能導致它的原因。


接近角/問題:

我最近添加到後端的開發團隊在移動應用中,還沒等我實施任何新功能,我一定要得到的產品安裝和運行上我的本地機器...

(在app目錄)軌š

=>引導的WEBrick

=>的Rails 3.1.0.rc4應用開始在開發上http://0.0.0.0:3000

=>與-d呼叫脫離 => Ctrl-C來關閉服務器

[2011-09-14 19:11: 59] INFO的WEBrick 1.3.1

[2011-09-14十九點11分59秒] INFO紅寶石1.8.7(2009-06-12)[萬向darwin10.0]

[2011-09 -14 19:11:59] INFO WEBrick :: HTTPServer#start:pid = 35031 port = 3000

所以,所有這些看起來很像E對於現在,但是當我試圖訪問上的瀏覽器頁面...


錯誤:

(瀏覽器頁面標題):動作控制器:捕獲到異常

PGError

fe_sendauth:沒有密碼供給


TRACE/LOG

(從最後一行繼續在第一部分終端)

高速緩存錯誤:沒有可用的服務器

/Library/Ruby/Gems/1.8/gems/dalli-1.0 .5/lib/dalli/ring.rb:45:in'server_for_key'

/Library/Ruby/Gems/1.8/gems/dalli-1.0.5/lib/dalli/client.rb:239:in`執行'

/Library/Ruby/Gems/1.8/gems/dalli-1.0.5/lib/達利/客戶端。RB:60:在'得到 '

/Library/Ruby/Gems/1.8/gems/rack-cache-1.0.3/lib/rack/cache/metastore.rb:320:in'讀'

/Library/Ruby/Gems/1.8/gems/rack-cache-1.0.3/lib/rack/cache/metastore.rb:30:in`lookup'

/Library/Ruby/Gems/1.8/gems /rack-cache-1.0.3/lib/rack/cache/context.rb:165:in'查找」

/Library/Ruby/Gems/1.8/gems/rack-cache-1.0.3/lib/ rack/cache/context.rb:65:在`call!'中

/Library/Ruby/Gems/1.8/gems/rack-cache-1.0.3/lib/rack/cache/context.rb:50:in'呼叫」

/庫/紅寶石/寶石/ 1.8/gems/rack-1.3.2/lib/rack/deflater.rb:13:在'call'中

/Library/Ruby/Gems/1.8/gems/railties-3.1.0.rc4/lib/rails /rack/content_length.rb:16:in`call'

/Library/Ruby/Gems/1.8/gems/railties-3.1.0.rc4/lib/rails/rack/log_tailer.rb:14:in`電話'

/Library/Ruby/Gems/1.8/gems/rack-1.3.2/lib/rack/han dler/webrick.rb:59:in'service'

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/webrick/httpserver.rb:104:in`service '

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/webrick/httpserver.rb:65:in'跑'

/系統/庫/框架/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/webrick/server.rb:173:in`start_thread'

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/ lib/ruby​​/1.8/webrick/server.rb:162:在'start'中

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/webrick/server.rb:162:in`start_thread」

/系統/資源庫/框架/紅寶石.framework/Versions/1.8/usr/lib/ruby​​/1.8/webrick/server.rb:95:in'start'

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ ruby/1.8/webrick/server.rb:92:在`each'中

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/webrick/server.rb:92 :在'開始'

/系統/天秤座ry/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby​​/1.8/webrick/server.rb:23:in'start'

/System/Library/Frameworks/Ruby.framework/Versions/1.8 /usr/lib/ruby/1.8/webrick/server.rb:82:in`start'

/Library/Ruby/Gems/1.8/gems/rack-1.3.2/lib/rack/handler/webrick。 RB:13:'運行 '

/Library/Ruby/Gems/1.8/gems/rack-1.3.2/lib/rack/server.rb:265:in'開始'

/庫/ Ruby/Gems/1.8/gems/railties-3.1.0.rc4/lib/rails/commands/server.rb:70:in'start'

/Library/Ruby/Gems/1.8/gems/railties-3.1.0.rc4/lib/rails/commands。RB:54

/Library/Ruby/Gems/1.8/gems/railties-3.1.0.rc4/lib/rails/commands.rb:49:in`抽頭」

/庫/紅寶石/寶石/1.8/gems/railties-3.1.0.rc4/lib/rails/commands.rb:49

腳本/導軌:6:'需要」

腳本/導軌:6

緩存:[GET /] pass

Dalli :: Server#connect localhost:11211

本地主機:11211失敗(數:0)

我能給出來自瀏覽器的全部跟蹤爲好,但我不希望這個帖子得到太羅嗦了。

所以這是兩難境地!


我已經完成:

簡單的解決方案(見下表)還沒有做出任何區別。

正確安裝(手動包括路徑後)的PG寶石

我固定pg_hba.conf文件以允許信任(ED)的連接。

我可以通過pgadmin3工具和終端連接到postgres數據庫。


咦?:

運行不同的端口上的服務器沒有任何區別,但如果我嘗試連接到我的PostgreSQL數據庫保留的港口之一,連接繁忙(如果需要,我也可以發佈錯誤日誌)。

如果我嘗試從應用程序訪問不存在的頁面,如用戶/爆炸或登錄/註銷,錯誤是相同的。雖然終端日誌每次都會顯示「[GET /'var']通過」。


思考:

我最好的猜測是,這個問題是從連接仍然期待一個密碼,因爲是在結束「密碼[GET /‘變種’]通過「

OR

那PG DB被不同的服務器上運行,並應用程序不喜歡我想我的本地機器上運行它。

我希望你的猜測比我的好。


如果你設法讓它通過這篇文章,榮譽。非常感謝。 如果你設法想出一個解決方案,不知何故,我會永遠親切。

問候,

〜萊恩·約翰遜(RyeGuyHead)

回答

4

要麼改變你的pg_hba.conf以

local all   all        trust 
host all   all   127.0.0.1/32   trust 
host all   all   ::1/128    trust 

或更換trustmd5database.yml

+0

真棒指定密碼! 我的pg_hba.conf文件與您發佈的文件相同,但是當我更改database.yml文件以包含密碼並將「trust」切換爲「md5」時,出現了不同的錯誤。 但這是一個我應該能夠修復... 非常感謝 –