2012-06-13 58 views
6

我最近不得不重新安裝homebrew和postgres,現在postgres不能使用rails。Postgres sh:/usr/local/var/postgres/server.log:沒有這樣的文件或目錄

首先試圖運行軌道■當,我得到這個:

/Users/lee/.rvm/gems/[email protected]/gems/activerecord-3.2.6/lib/active_record/connection_adapters/postgresql_adapter.rb:1206:in `initialize': could not connect to server: Connection refused (PG::Error) 

所以我試着開始的Postgres和我得到這個:

pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start 
server starting 
sh: /usr/local/var/postgres/server.log: No such file or directory 

看來,Postgres的是因爲這個運行:

ps aux | grep postgreslee    1099 0.3 0.0 2425480 188 s000 R+ 5:48PM 0:00.01 grep postgres 

我完全不知所措這裏,爲什麼我不能讓它運行。

+2

您可能已將新的postgres安裝到其他目​​錄中。首先嚐試省略-l標誌+日誌文件名,看它是否啓動。順便說一句:你也可以在postgres.conf中指定日誌文件。目錄「/ usr/local/var/postgres」包含什麼內容?它存在嗎?誰是主人? – wildplasser

回答

5

首先,ps | grep實際上是將grep從流程樹中拉出來。 Postgres沒有運行。當登錄目錄不存在時會發生這種事情。所以你可能會把它指向一個不存在的目錄。

如果您還沒有數據目錄,可能會發生這種情況。

建議:

  1. 開始通過確保您的數據目錄中。搜索pg_hba.conf並查看它是否位於系統中的任何位置。如果是,那麼它很可能在你的數據目錄中(如果它是在etc中,那麼尋找base/1/PG_VERSION這將會在你的數據目錄中從底層開始)。
  2. 如果它已存在已更改您的postgresql.conf以正確設置日誌記錄設置並刪除-l選項。
  3. 如果不存在數據目錄,請使用initdb命令創建一個。
+6

如果你在OSX上進行全新安裝(通過自制軟件),你需要首先創建一個數據庫'initdb/usr/local/var/postgres -E utf8' – oschrenk

相關問題