2016-02-11 41 views
1

因此,我根據頂級投票評論的說明:Cloud9 postgres,在我的cloud9 IDE帳戶上設置了PostgreSQL數據庫。fe_sendauth:在Cloud9 IDE上設置PostgreSQL數據庫後沒有提供密碼錯誤

這是我的database.yml文件看起來像:

default: &default 
adapter: postgresql 
encoding: unicode 
pool: 5 
username: <%= ENV['USERNAME'] %> 
password: <%= ENV['PASSWORD'] %> 
host:  <%= ENV['IP'] %> 



development: 
    <<: *default 
    database: sample_app_development 

test: 
    <<: *default 
    database: sample_app_test 

production: 
    <<: *default 
    database: sample_app_production 

然後我創建了一個用戶模式,遷移它,並重新加載我的應用程序。但是,當我在cloud9命令行上使用以下命令在本地服務器上加載應用程序:rails server -b $IP -p $PORT時,出現以下錯誤消息:fe_sendauth:沒有提供密碼錯誤。我不明白髮生了什麼問題,因爲我創建了一個擁有密碼的超級用戶,並且已將其包含在我的database.yml文件中。我發現的唯一情況是,可以通過將pg_hba.conf文件更改爲信任本地服務器來解決此錯誤。不過,我認爲在Cloud9 IDE中創建超級用戶和密碼的重點是,您不必這樣做。此外,Cloud9不允許您訪問pg_hba.conf文件。

+0

看起來不像任何(非Cloud9)postgres的專家可以幫助你在這裏。 –

+0

您可以嘗試在Cloud9社區站點上交叉發佈此問題:https://community.c9.io。應該有其他用戶像你自己一樣成功地使用Rails和Postgres – Mutahhir

+0

Cloud9不會限制編輯你的'pg_hba.conf'文件。只需使用'sudo vim/etc/postgresql/9.3/main/pg_hba.conf'對其進行編輯 –

回答

0

您不需要更改pg_hba.conf文件。 只要輸入在終端這些命令:

$ source ~/.profile 
$ rake db:create 
$ rake db:migrate 

然後通常重啓服務器。 我知道你已經在你提到的指令開始處運行了source〜/ .profile命令(我之前使用過這個答案並且遇到了同樣的問題),但是出於一些神祕的原因Cloud9環境(我從來不必做任何事情)需要在執行這些指令中指定的設置後再次手動獲取'.profile'文件(Cloud 9只是有時候會認爲它很奇怪 - 就像所有的機器一樣......)。第二個命令使用您的pg gem和database.yml文件中的所有配置在您的開發環境中創建新的pg數據庫。

最後的'migrate'命令可能不是必須的,但是由於神祕的原因,我也有數據庫問題在運行'rake db:migrate'之後修復了(如果我是正確的,它只是更新數據庫以便能夠使用您的模型或您可能添加到開發環境中的任何新的虛擬數據)。

希望這會有所幫助。

+1

嗯。不太確定那是應該做的。當我運行這些命令時,它說app_development已經存在,並且遷移不會執行任何操作。我仍然有同樣的問題。 – PCR

相關問題