После перезапуска моего Mac я получил страшную ошибку Postgres:
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
Причина этого состояла в том, что мой macbook полностью завис из-за не связанной с этим проблемы, и мне пришлось выполнить полную перезагрузку с помощью кнопки питания. После перезагрузки я не смог запустить Postgres из-за этой ошибки.
macos
postgresql
Огненный дракон
источник
источник
brew reinstall postgresql
stackoverflow.com/a/39781473/6086226 работал на меняОтветы:
ВНИМАНИЕ: Если вы удалите postmaster.pid, не убедившись, что на самом деле не
postgres
запущены процессы, которые могут привести к повреждению вашей базы данных . (PostgreSQL должен удалить его автоматически, если почтмейстер вышел.).РЕШЕНИЕ: Это решило проблему - я удалил этот файл, и тогда все заработало!
-
и вот как я понял, почему это нужно было удалить.
Я использовал следующую команду, чтобы увидеть, были ли запущены какие-либо процессы PG. для меня их не было, я даже не мог запустить сервер PG:
Я искал файл .s.PGSQL.5432, который был в сообщении об ошибке выше. я использовал следующую команду:
после поиска по всему моему компьютеру ничего не показывалось, поэтому файл не существовал, но, очевидно,
psql
«хотел» или «думал, что он там».Я посмотрел журналы своего сервера и увидел следующую ошибку:
в конце журнала сервера я вижу следующую ошибку:
Следуя совету в сообщении об ошибке, я удалил файл postmaster.pid в том же каталоге, что и server.log. Это решило проблему, и я смог перезапустить.
Итак, кажется, что мой MacBook завис и был жестко перезагружен, что заставило Postgres думать, что его процессы все еще работают даже после перезагрузки. Удаление этого файла разрешено. Надеюсь, что это помогает другим! У многих людей есть похожие проблемы, но большинство ответов были связаны с правами доступа к файлам, тогда как в моем случае все было иначе.
источник
postgres
процессов , запущенных прежде чем это сделать./usr/local/var/log/postgres.log
.Ничто из вышеперечисленного не помогло мне. Мне пришлось переустановить Postgres следующим образом:
brew uninstall postgresql
brew doctor
(исправить все, что здесь)brew cleanup
Удалить все папки Postgres:
rm -r /usr/local/var/postgres
rm -r /Users/<username>/Library/Application\ Support/Postgres
Переустановите postgresql с помощью brew:
brew install postgresql
brew services start postgresql
createdb
)источник
brew postgresql-upgrade-database
brew reinstall postgres
подтверждением того, что последний номер основной версии Homebrew Postgres был таким же, как мой текущий (сломанный) номер.Если вы используете MacOS и установили postgres через homebrew, попробуйте перезапустить его с
Если вы используете Ubuntu, вы можете перезапустить его с помощью одной из следующих команд
источник
Может быть, это не связано, но похожая ошибка появляется при обновлении
postgres
до основной версии с использованиемbrew
; с помощьюbrew info postgresql
обнаружил, что это помогло:источник
Вот мой путь:
источник
fix-my-postgresql
будет выполнять это :)если ваш
postmaster.pid
ушел, и вы не можете перезапустить или что-то еще, сделайте это:pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
как объяснено здесь изначально
источник
Привет, мир :)
Лучший, но странный способ для меня - делать следующие вещи.
1) Скачать postgres93.app или другую версию. Добавьте это приложение в папку / Applications /.
2) Добавить строку (команду) в файл
Это путь к.bash_profile
(который находится в моем домашнем каталоге):psql
отPostgres93.app
. Строка (команда) запускается каждый раз при запуске консоли.3) Запустить
Postgres93.app
из/Applications/
папки. Он запускает локальный сервер (порт «5432», а хост «localhost»).4) После всех этих манипуляций я был рад запустить
$ createuser -SRDP user_name
и другие команды и убедиться, что это сработало!Postgres93.app
можно заставить работать каждый раз, когда ваша система запускается.5) Кроме того, если вы хотите увидеть свои базы данных в графическом виде, вы должны установить
PG Commander.app
. Это хороший способ увидеть вашу базу данных postgres как красивые таблицы данныхКонечно, это полезно только для локального сервера. Я буду рад, если эта инструкция поможет другим, кто столкнулся с этой проблемой.
источник
export PATH='/usr/local/Cellar/postgresql/9.4.1/bin/':$PATH
- Помните, что номер вашей версии может отличаться.Эта проблема имеет много источников, и, следовательно, много ответов. Я испытал каждый из них.
1) Если вы столкнулись с каким-либо сбоем, возможно, требуется удалить файл /usr/local/var/postgres/postmaster.pid, поскольку postgres, возможно, не обработал его должным образом. Но убедитесь, что ни один процесс не запущен.
2) Крейг Рингер в других публикациях указал, что связывание Apple postgreSQL приводит к проблемам с установкой pg gem. Установка переменной среды PATH - это решение.
3) Другое решение, это удалить и переустановить драгоценный камень. Также может понадобиться обновление варева.
Если вы наткнетесь на этот пост, если вы сможете точно определить один из источников, вы сэкономите время ...
источник
Для меня решение было просто перезагрузить компьютер. Сначала я попытался перезапустить сервисы Brew, и когда это не сработало, перезапуск показался мне лучшим вариантом, прежде чем искать некоторые из наиболее сложных решений. Все заработало как надо после.
источник
Я столкнулся с подобной проблемой здесь, я решил эту проблему, как показано ниже.
На самом деле процесс postgres мертв, чтобы увидеть состояние postgres, выполните следующую команду
Это говорит о том, что процесс мертв, просто начните процесс
источник
Это случилось со мной после того, как мой Mac (High Sierra) замерз, и мне пришлось вручную перезапустить его (нажмите и удерживайте кнопку питания). Все, что я должен был сделать, чтобы это исправить, это сделать чистый перезапуск.
источник
Моя проблема закончилась тем, что я использовал Gas Mask (файловый менеджер hosts для Mac), и у меня не было записи для localhost в файле hosts, который я использовал.
Я добавил:
И это решило мою проблему.
источник
Я не совсем уверен, почему, но моя установка Postgres была немного испорчена, и некоторые файлы были удалены, что привело к ошибке OP.
Несмотря на то, что я могу запускать команды вроде
brew service retart postgres
и видеть правильные сообщения, эта ошибка сохранилась.Я просмотрел документацию postgres и обнаружил, что мой файл
/usr/local/var/postgres
совершенно пуст. Итак, я запустил следующее:Похоже, что некоторые конфигурации имели место с этой командой.
Затем он попросил меня запустить это:
И это говорит мне, что файл postmaster.pid уже существует.
Мне просто нужно было знать, сможет ли brew подобрать конфиги, которые я только что запустил, поэтому я проверил это.
Это показал мне файл postmaster.pid. Затем я это сделал
brew services stop postgresql
, и файл postmaster.pid исчез. Затем я сделалbrew services start postgresql
, и VIOLA, файл появился снова.Затем я запустил свое приложение, которое фактически нашло сервер, однако мои базы данных, похоже, исчезли.
Хотя я знаю, что они могут вообще не исчезнуть - новая инициализация, которую я сделал, могла создать новую data_area, а на старую не указывать. Я должен был бы посмотреть, где это и указать на это, или просто снова создать свои базы данных.
Надеюсь это поможет! Чтение документации postgres мне очень помогло. Ненавижу читать ответы типа "Вставь, это работает!" потому что я не знаю, что, черт возьми, происходит и почему.
источник
Причин этой ошибки много, поэтому сначала найдите файл журнала и проверьте его на наличие улик. Это может быть в
/usr/local/var/log/postgres.log
или/usr/local/var/postgres/server.log
или, возможно, в другом месте. Если вы установили с Homebrew, вы можете найти расположение в~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
.источник
Я была такая же проблема. В большинстве случаев проблема заключается в том, что существует оставшийся файл
/usr/local/var/postgres/postmaster.pid
который работает для большинства людей, но мой случай был другим - я пытался погуглить эту проблему в течение последних 3 часов, удалил postresql на OSX через brew, очистил базу данных, ничего не помогло.
Наконец, я заметил, что у меня возникла проблема с brew, которая всякий раз, когда я пытался что-либо установить, высовывалась:
Error: Permission denied @ rb_sysopen - /private/tmp/github_api_....
или что-то вроде этого в конце установки.
Я просто сделал,
sudo chmod -R 777 /private/tmp
и это, наконец, работает!Я записываю это, потому что это может быть решением для кого-то другого
источник
Перейти к
/var/log/
и запустить кошкуpostgres.log
Здесь вы найдете причину сбоя postgres. Если это умное завершение работы, то, вероятно, вашаicu4c
версия (библиотека C ++ для Unicode) неверна, что связано сpostgres
. Итак, выполните следующие команды.brew upgrade
brew cleanup
Это должно работать;)источник
brew style
потом, еслиbrew cleanup
сломается Homebrew.Мне пришлось искать этот пост несколько раз, чтобы решить эту проблему. Есть еще одно исправление, которое также относится к аналогичным проблемам с другими запущенными программами.
Я только что обнаружил, что вы можете использовать следующие две команды.
$ сверху
Это покажет все текущие действия с их номерами pid. Когда вы найдете postgres и связанный pid
$ kill pid_number
источник
Я получил ту же проблему, что и мой компьютер (
ubuntu
) для обновления, и получил ошибку ниже:После завершения процесса обновления при перезапуске моя системная ошибка исчезла. И он работает как шарм, как и раньше ... Я думаю, это произошло, когда pg обновлялся, и начался другой процесс.
источник
SUPER NEWBIE ALERT: Я только изучаю веб-разработку и конкретное руководство, за которым я следовал, упомянуло, что я должен установить Postgres, но на самом деле не упомянул, что я должен его запустить ... После того, как я открыл приложение Postgres, все было хорошо и денди.
источник
Ответ @Jagdish Barabari дал мне подсказку, необходимую для решения этой проблемы. Оказывается, были установлены две версии postgresql, в то время как работала только одна. Очистка всех файлов postgresql и переустановка последней версии решили эту проблему для меня.
источник
Я удалил / usr / lib из LD_LIBRARY_PATH, и это сработало. Я работал в Dockerfile Postgres: Alpine.
источник