Небольшая проблема с PostgreSQL в Mac OS X 10.8.4. Я случайно сделал это brew rm postgresql --force
при работающем сервере postgres. Когда я установил using brew install postgresql
и запустил, pg_ctl -D /usr/local/var/postgres start
я получаю:
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"?
когда я запускаю "ps -ef | grep postgres", я получаю:
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
когда я пытаюсь остановить сервер pg_ctl stop -D /usr/local/var/postgres -m fast
или pg_ctl -D /usr/local/var/postgres stop -mi
получаю:
waiting for server to shut down........................................... Failed
pg_ctl: server does not shut down
РЕДАКТИРОВАТЬ
which pg_ctl
/usr/local/bin/pg_ctl
pg_ctl --version
pg_ctl (PostgreSQL) 9.2.4
Суть server.log
: https://gist.github.com/anonymous/6106182
postgresql
macos
terminal
Паркер Хатчинсон
источник
источник
pg_ctl -D /usr/local/var/postgres stop -m immediate
что-то большее, чем две другие попытки?pg_ctl -D /usr/local/var/postgres stop -mi
и да, все, что я получаю, это «Сервер не выключается»postgres --help
не сразу показал флаг «м».brew reinstall postgresql
stackoverflow.com/a/39781473/6086226 работал у меняОтветы:
Была такая же проблема
pg_ctl: server does not shut down
. Кроме того, не былоps auxwww | grep postgres
показано, что postgres запущен, аpg_ctl -D /usr/local/var/postgres status
показал, что postgres запущен. Перезагрузка моего Mac не помогла, я даже дошел до сброса SMC, но этот SO Q / A дал мне идею, что искать дальше: проблемы с пивом.Следуя этой мысли, я нашел этот полезный пост в блоге , который сводился к следующим командам, которые решили эту проблему для меня:
Надеюсь, это кому-то поможет.
Обновление - Неизвестная команда: услуги
После небольшого расследования после одного из комментариев («Неизвестная команда: сервисы») я обнаружил, что авторы Homebrew решили удалить его
services
из репозитория, поскольку никто не хочет поддерживать этот код.Вы можете прочитать об этом здесь и здесь (соответствующие билеты на github).
Еще немного покопавшись, я нашел это репо, которое добавляет
services
на Mac.Вот как я «вернулся»
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
Вот еще одно предлагаемое решение: /apple/150300/need-help-using-homebrew-services-command . Сам не проверял, поэтому не знаю, работает ли и как.
источник
bundle exec rake pg:stop
. Но это не сработало, что привело кpg_ctl: server does not shut down
. Обходной путьbrew services restart postgresql
сработал для меня. 👌$ brew services list
$ brew services stop postgresql
Остановка
postgresql
, но это может занять некоторое время → Успешно остановленоpostgresql
(label: homebrew.mxcl.postgresql)источник
pg_ctl ... stop
безрезультатно. Как только я запустил brew services stop postgresql, мой pg_ctl ... stop теперь снова работает, как ожидалось. Не знаю, как, но я рад, что это помогло!brew services stop postgresql@10
У меня была аналогичная проблема. Я забыл, что интегрировал «обеденный» несколько дней назад и использовал его как оболочку launchctl для
~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
запуска plist при запуске. pg_ctl не работал из-за следующей строки кода<key>KeepAlive<key>
:Попытка убить процесс напрямую не сработала, потому что мне нужно было выгрузить plist.
источник
homebrew.mxcl.postgresql92.plist
. Проверь себя.У меня была такая же проблема ... удаление агента запуска решило проблему для меня:
источник
Я обошел эту ошибку с помощью команды
pg_ctl stop -m immediate pg_ctl start
Мне таким образом не нужно было выгружать plist.
источник
Оказывается, мой brew.plist для postgres нужно выгрузить и удалить в ~ / Library / LaunchAgents /. После перезагрузки все хорошо ... закрывающий вопрос.
источник
При использовании PostgreSQL, установленного brew, следующая команда сработала для его выключения.
> brew services stop postgresql stopping `postgresql`... (might take a while) ==> Successfully stopped `postgresql` (label: homebrew.mxcl.postgresql)
Как упоминалось в другом ответе, поиск по списку процессов с последующим уничтожением всего, что связано с postgres, не работает.
ps aux | grep postgres kill $PID
источник
Я не
postgres
начинал черезbrew services
, поэтому не мог остановить это так.Это сработало.
Используйте параметр
-D
сверху.$ pg_ctl stop -D "/Users/username/Library/Application Support/Postgres/var-9.6"
источник