Memiliki sedikit masalah dengan PostgreSQL di Mac OS X 10.8.4. Saya tidak sengaja melakukannya brew rm postgresql --force
saat server postgres sedang berjalan. Ketika saya menginstal menggunakan brew install postgresql
dan menjalankan pg_ctl -D /usr/local/var/postgres start
saya mendapatkan:
pg_ctl: another server might be running; trying to start server anyway
server starting
FATAL: lock file "postmaster.pid" already exists
HINT: Is another postmaster (PID 752) running in data directory "/usr/local/var/postgres"?
ketika saya menjalankan "ps -ef | grep postgres" saya mendapatkan:
501 752 235 0 12:42PM ?? 0:00.01 /usr/local/opt/postgresql/bin/postgres -D /usr/local/var/postgres -r /usr/local/var/postgres/server.log
501 754 752 0 12:42PM ?? 0:00.00 postgres: checkpointer process
501 755 752 0 12:42PM ?? 0:00.34 postgres: writer process
501 756 752 0 12:42PM ?? 0:00.02 postgres: wal writer process
501 757 752 0 12:42PM ?? 0:00.01 postgres: autovacuum launcher process
501 758 752 0 12:42PM ?? 0:00.01 postgres: stats collector process
501 945 452 0 12:58PM ttys000 0:00.00 grep postgres
ketika saya mencoba menghentikan server dengan pg_ctl stop -D /usr/local/var/postgres -m fast
atau pg_ctl -D /usr/local/var/postgres stop -mi
saya mendapatkan:
waiting for server to shut down........................................... Failed
pg_ctl: server does not shut down
EDIT
which pg_ctl
/usr/local/bin/pg_ctl
pg_ctl --version
pg_ctl (PostgreSQL) 9.2.4
Inti dari server.log
: https://gist.github.com/anonymous/6106182
postgresql
macos
terminal
Parker Hutchinson
sumber
sumber
pg_ctl -D /usr/local/var/postgres stop -m immediate
lebih jauh dari dua upaya lainnya?pg_ctl -D /usr/local/var/postgres stop -mi
dan ya yang saya dapatkan hanyalah "Server tidak mati"postgres --help
tidak langsung menunjukkan bendera "m".brew reinstall postgresql
stackoverflow.com/a/39781473/6086226 bekerja untuk sayaJawaban:
Punya masalah yang sama
pg_ctl: server does not shut down
,. Selanjutnyaps auxwww | grep postgres
tidak ada postgres running, sedangkanpg_ctl -D /usr/local/var/postgres status
postgres running. Memulai ulang mac saya tidak membantu, saya bahkan melangkah lebih jauh untuk mengatur ulang SMC, tetapi SO Q / A ini memberi saya ide apa yang harus dicari selanjutnya: masalah pembuatan bir.Mengikuti alur pemikiran ini, saya menemukan posting blog yang bermanfaat ini , yang turun ke perintah berikut yang memecahkan masalah ini untuk saya:
Semoga ini bisa membantu seseorang.
Perbarui - Perintah tidak dikenal: layanan
Setelah sedikit penyelidikan mengikuti salah satu komentar ('Perintah tidak dikenal: layanan'), saya menemukan bahwa penulis Homebrew memutuskan untuk menghapus
services
dari repo, mengingat tidak ada yang mau mempertahankan kode ini.Anda dapat membaca lebih lanjut tentang itu di sini dan di sini (tiket github terkait).
Setelah menggali lebih banyak, saya menemukan repo ini yang ditambahkan
services
di Mac.Beginilah cara saya 'kembali'
services
:~ » brew tap gapple/services ~ » brew services usage: [sudo] brew services [--help] <command> [<formula>] Small wrapper around `launchctl` for supported formulae, commands available: cleanup Get rid of stale services and unused plists list List all services managed by `brew services` restart Gracefully restart selected service start Start selected service stop Stop selected service Options, sudo and paths: sudo When run as root, operates on /Library/LaunchDaemons (run at boot!) Run at boot: /Library/LaunchDaemons Run at login: /Users/user/Library/LaunchAgents
Berikut adalah solusi lain yang disarankan: /apple/150300/need-help-using-homebrew-services-command . Tidak memeriksanya sendiri, jadi tidak tahu apakah dan bagaimana cara kerjanya.
sumber
bundle exec rake pg:stop
,. Tapi itu tidak berhasil, mengarah kepg_ctl: server does not shut down
. Solusi itubrew services restart postgresql
berhasil untuk saya. 👌$ brew services list
$ brew services stop postgresql
Berhenti
postgresql
, tetapi mungkin perlu beberapa saat → Berhasil dihentikanpostgresql
(label: homebrew.mxcl.postgresql)sumber
pg_ctl ... stop
tanpa hasil. Setelah saya menjalankan layanan pembuatan bir, berhenti postgresql, pg_ctl saya ... berhenti berfungsi seperti yang diharapkan lagi sekarang. Tidak yakin bagaimana caranya, tapi saya senang ini menyelesaikannya!brew services stop postgresql@10
Saya memiliki masalah serupa. Saya lupa bahwa saya mengintegrasikan 'makan siang' beberapa hari yang lalu dan menggunakannya sebagai pembungkus launchctl untuk memulai plist
~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
saat memulai. pg_ctl tidak efektif karena baris kode berikut<key>KeepAlive<key>
:Mencoba mematikan proses secara langsung tidak berhasil karena saya perlu membongkar plist.
sumber
homebrew.mxcl.postgresql92.plist
. Periksa dirimu sendiri.Saya mengalami masalah yang sama ... menghapus agen peluncuran memecahkan masalah bagi saya:
sumber
Saya mengatasi kesalahan ini dengan menggunakan perintah
pg_ctl stop -m immediate pg_ctl start
Saya tidak perlu membongkar plist dengan cara ini.
sumber
ternyata brew.plist saya untuk postgres perlu dibongkar dan dihapus di ~ / Library / LaunchAgents /. Setelah restart semuanya baik-baik saja ... pertanyaan penutup.
sumber
Saat mengandalkan PostgreSQL yang diinstal brew, perintah berikut berfungsi untuk mematikannya.
> brew services stop postgresql stopping `postgresql`... (might take a while) ==> Successfully stopped `postgresql` (label: homebrew.mxcl.postgresql)
Seperti yang disebutkan dalam jawaban lain, menelusuri daftar proses dan kemudian membunuh apa pun yang terkait dengan postgres tidak berfungsi.
ps aux | grep postgres kill $PID
sumber
Saya tidak
postgres
memulai melaluibrew services
, jadi tidak bisa menghentikannya seperti itu.Ini berhasil.
Gunakan
-D
parameter dari atas.$ pg_ctl stop -D "/Users/username/Library/Application Support/Postgres/var-9.6"
sumber