2013-03-10 85 views
1

我想在我的開源項目apartment的Vagrant框中第一次嘗試我的一點chef-solo,以便貢獻者可以更容易地獲得開發環境並運行。使用Vagrant/Chef-solo設置postgresql密碼

有一件事我作爲然而無法實現,雖然從this cookbook

覆蓋默認密碼由postgresql配方中設置的文檔提到如設置JSON配置的東西:

postgresql: { 
    password: { 
    postgres: '' 
    } 
} 

我已經完成here,但我似乎無法讓它覆蓋配方設置的默認加密密碼。

我是全新(截至今日)廚師/流浪者,所以我有點失落,我甚至應該看看下一個。

任何幫助,非常感謝。

+0

您是否在廚師獨奏模式下設置了「您必須在主廚獨奏模式下設置節點['postgresql'] ['password'] ['postgres']」錯誤消息。如果沒有,食譜接受你的密碼,錯誤必須在其他地方... – cmur2 2013-03-10 19:38:29

+0

我再次,另一個似乎有類似的問題http://stackoverflow.com/questions/15195467/chef-and-postgres-how-do -i-specify-the-password#comment21628259_15296603 – cmur2 2013-03-10 19:44:22

回答

5

我克隆了你的寶石並激發了Vagrant(但是使用了我已經下載的Debian Squeeze鏡像,除了postgresqlpostgresql::server以及使用PostgreSQL 8.4而不是9.1),看起來空密碼是壞的您可以選擇使用

postgresql: { 
    password: { 
     postgres: 'foo' 
    } 
    } 

作品與命令PGPASSWORD="foo" psql --username=postgres -h localhost所以我懷疑是空口令有一些問題。

+1

你可以'ALTER USER'設置一個空密碼,但不能用空密碼登錄。它實際上是一位殘疾用戶。試圖通過libpq客戶端使用空密碼登錄會產生如下信息:'fe_sendauth:no passwords supplied'。用戶通常應該改變'pg_hba.conf'來使用'peer'或'ident' auth或者(對於非生產用途)'trust',而不是設置一個空密碼。 – 2013-03-10 23:29:55

+0

事實證明這是兩個問題......我沒有明確地設置主機(假定本地主機是默認的)。一旦我這樣做了,我得到了'psql:fe_sendauth:沒有密碼提供'錯誤,所以顯然是在尋找一個。 @CraigRinger是正確的,我應該設置一個'trust' auth,因爲這只是一個開發環境,允許沒有密碼 – brad 2013-03-11 00:14:09