Seperti beberapa orang lain, saya mendapatkan kesalahan ini saat menjalankan rake db: bermigrasi dalam proyek saya atau bahkan mencoba sebagian besar tugas database untuk aplikasi Ruby on Rails 3.2 saya.
PGError (tidak dapat terhubung ke server: Tidak ada file atau direktori seperti itu. Apakah server berjalan secara lokal dan menerima koneksi pada soket domain Unix "/tmp/.s.PGSQL.5432"?
Saya telah menginstal PostgreSQL dengan Homebrew sejak lama dan mengikuti percobaan instalasi MongoDB baru-baru ini menginstal PostgreSQL saya tidak pernah sama. Saya menjalankan OS X v10.6 Snow Leopard.
Apa yang salah dan bagaimana saya lebih memahami bagaimana PostgreSQL dan harus diatur di Mac saya?
Sejauh ini (menurut saya) ini memberi tahu saya bahwa PostgreSQL tidak berjalan (?).
ps -aef|grep postgres (ruby-1.9.2-p320@jct-ana) (develop) ✗
501 17604 11329 0 0:00.00 ttys001 0:00.00 grep postgres
Tetapi apakah ini memberi tahu saya bahwa PostgreSQL sedang berjalan?
✪ launchctl load -w /usr/local/Cellar/postgresql/9.1.4/homebrew.mxcl.postgresql.plist (ruby-1.9.2-p136)
homebrew.mxcl.postgresql: Already loaded
Bagaimana cara mengatasinya? apa yang tidak saya lihat?
PS: ~/Library/LaunchAgents
mencakup dua file .plist PostgreSQL. Saya tidak yakin apakah itu relevan.
org.postgresql.postgres.plist
homebrew.mxcl.postgresql.plist
Saya mencoba yang berikut ini dan mendapatkan hasil seperti di bawah ini.
$ psql -p 5432 -h localhost
psql: could not connect to server: Connection refused
Is the server running on host "localhost" (127.0.0.1) and accepting
TCP/IP connections on port 5432?
could not connect to server: Connection refused
Is the server running on host "localhost" (::1) and accepting
TCP/IP connections on port 5432?
could not connect to server: Connection refused
Is the server running on host "localhost" (fe80::1) and accepting
TCP/IP connections on port 5432?
Saya telah membaca sejak itu ini terjadi karena OS X menginstal versi PostgreSQL-nya sendiri dan Homebrew menginstal versi yang berbeda di tempat yang berbeda dan perintah PostgreSQL mencari di direktori / tmp /. Anda harus mencari lebih banyak di Stack Overflow, tetapi pada dasarnya Anda menghubungkan PostgreSQL sehingga apa pun yang mencari di jalur tmp itu benar-benar menemukan jalur yang sebenarnya, jika itu masuk akal.
Ini adalah tautan di mana saya menemukan beberapa hal lagi untuk dicoba, khususnya melakukan symlink seperti di atas, Mac OSX Lion Postgres tidak menerima koneksi di /tmp/.s.PGSQL.5432 . Saya masih berharap seseorang akan mengumpulkan penjelasan yang layak tentang konsep di balik menginstal PostgreSQL di OS X dan mengapa semuanya begitu sulit.
Wawasan terbaru untuk membantu pemecahan masalah:
$ which psql // This tells you which PostgreSQL you are using when you run $ psql.
Lalu lari:
$ echo $PATH
Hal utama yang harus diperhatikan adalah ini:
Pastikan entri jalur untuk salinan PostgreSQL yang ingin Anda jalankan DATANG SEBELUM jalur ke PostgreSQL sistem OS X.
Ini adalah persyaratan inti yang memutuskan PostgreSQL mana yang dijalankan dan yang saya diberitahu mengarah ke sebagian besar masalah ini.