2012-10-29 76 views
3

我試圖提示psql接口嘗試創建一個數據庫,實際上遵循Hartl博士的教程http://ruby.railstutorial.org/book/ruby-on-rails-tutorial?version=3.2Postgresql或psql'rails db'密碼錯誤

我創建的項目有:

rails new postgr_ --database=postgresql 

我加密碼database.yml文件:

development: 
    adapter: postgresql 
    encoding: unicode 
    database: postgr__development 
    pool: 5 
    username: postgr_ 
    password: 12345 

test: 
    adapter: postgresql 
    encoding: unicode 
    database: postgr__test 
    pool: 5 
    username: postgr_ 
    password: 12345 

production: 
    adapter: postgresql 
    encoding: unicode 
    database: postgr__production 
    pool: 5 
    username: postgr_ 
    password: 12345 

我再進入終端:

$ rails db 

我也得到輸入密碼後出現以下錯誤:

psql: FATAL: password authentication failed for user "postgr_" 

我一直在昨天和今天整天這個很好的一部分,無法解決這個問題。我很可能錯過了一些基本的東西,如果你發現它,請讓我知道。謝謝!

+0

你有使用'postgr_'在PostgreSQL裏面? –

+0

postgr_是項目名稱和用戶名。我不知道要在哪裏或什麼文件。 – aug2uag

+0

@mu太短:PostgreSQL的pgadmin應用程序需要修改才能運行?任何幫助表示讚賞,謝謝! – aug2uag

回答

2

您錯過了設置postgresql角色和創建數據庫的步驟。

此過程取決於您使用的系統。我會假設你正在使用主流的linux發行版。 首先登錄到postgresql帳戶。您可以使用下面的命令之一:

$ su - postgres 

$ sudo -i -u postgres 

登錄後,啓動psql程序:

$ psql template1 

在psql的提示,創建新的用戶角色和您的項目的數據庫:

=> create role postgr_ with createdb login password '12345'; 

然後簡單地退出程序

=> \q 

而且從PostgreSQL用戶帳戶

$ exit 

那麼你應該能夠運行rail db命令註銷成功

+0

謝謝。我去: $ sudo postgres receive: PostgreSQL服務器的「根」執行是不允許的。 和su命令,獲取: su:對不起 – aug2uag

+0

您是否在本機上擁有本地管理員權限? – didierc

+0

絕對不好意思,耽誤了時間。該錯誤還表示「服務器必須在非特權用戶ID下啓動,以防止可能的系統安全性受到影響。有關如何正確啓動服務器的更多信息,請參閱 的文檔。 – aug2uag