2012-06-13 39 views
6

Gần đây tôi đã phải cài đặt lại homebrew và postgres và bây giờ postgres không hoạt động với đường ray.Postgres sh: /usr/local/var/postgres/server.log: Không có tệp hoặc thư mục nào như vậy

Trước khi cố gắng chạy đường ray s, tôi có được điều này:

/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) 

Vì vậy, tôi cố gắng bắt đầu postgres và tôi có được điều này:

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 

Dường như postgres đang chạy vì điều này:

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

Tôi hoàn toàn mất mát ở đây là tại sao tôi không thể chạy.

+2

Có thể bạn đã cài đặt các bưu cục mới vào một thư mục khác. Trước tiên, hãy thử bỏ qua cờ -l + logfilename để xem nó có bắt đầu hay không. BTW: bạn cũng có thể chỉ định logfile trong postgres.conf. Thư mục "/ usr/local/var/postgres" chứa gì? nó tồn tại ? ai là chủ sở hữu? – wildplasser

Trả lời

5

Đầu tiên, ps | grep là trong thực tế kéo grep của bạn ra khỏi cây quá trình. Postgres không chạy. Điều này xảy ra khi thư mục để đăng nhập không tồn tại. Vì vậy, có lẽ bạn đang trỏ nó vào một thư mục không tồn tại.

Điều này có thể xảy ra nếu bạn chưa có thư mục dữ liệu.

Khuyến nghị:

  1. Bắt đầu bằng cách đảm bảo thư mục dữ liệu của bạn tồn tại. tìm kiếm pg_hba.conf và xem liệu nó có ở bất cứ đâu trên hệ thống của bạn hay không. Nếu đó là sau đó có một cơ hội tốt đó là trong thư mục dữ liệu của bạn (nếu nó là trong vv, sau đó tìm cơ sở/1/PG_VERSION Điều này sẽ được trong thư mục dữ liệu của bạn một cấp lên từ cơ sở).
  2. nếu nó tồn tại đã thay đổi postgresql.conf của bạn để đặt cài đặt ghi nhật ký phù hợp và thả tùy chọn -l.
  3. Nếu không có thư mục dữ liệu nào tồn tại, hãy sử dụng lệnh initdb để tạo một thư mục.
+6

Nếu bạn cài đặt mới trên OSX (qua homebrew), trước tiên bạn cần phải tạo một cơ sở dữ liệu «initdb/usr/local/var/postgres -E utf8' – oschrenk

Các vấn đề liên quan