Ответ 1
У меня была такая же ошибка, и я исправил ее, удалив файл pid процесса:
rm -f /usr/local/var/postgres/postmaster.pid
Я искал решение для этого и не нашел рабочего решения.
Я установил postgres, используя brew (brew install postgres
) в своем MacBook, и в настоящее время я запускаю его с помощью служб brew (brew services list
отображает postgres как запущенную службу). Однако, когда я пытаюсь запустить psql
, я получаю следующую ошибку.
psql: невозможно подключиться к серверу: нет такого файла или каталога. сервер работает локально и принимает соединения в домене Unix socket "/tmp/.s.PGSQL.5432"?
Кто-нибудь уже решил аналогичную проблему?
У меня была такая же ошибка, и я исправил ее, удалив файл pid процесса:
rm -f /usr/local/var/postgres/postmaster.pid
Я столкнулся с этой проблемой сегодня. postgres прекратил принимать соединения, хотя доморощенный думал, что он работает.
Чтобы это исправить я побежал,
brew services restart -vvv postgresql
Выход из этой команды,
==> Successfully stopped 'postgresql' (label: homebrew.mxcl.postgresql)
==> Generated plist for postgresql:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>KeepAlive</key>
<true/>
<key>Label</key>
<string>homebrew.mxcl.postgresql</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/opt/postgresql/bin/postgres</string>
<string>-D</string>
<string>/usr/local/var/postgres</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>WorkingDirectory</key>
<string>/usr/local</string>
<key>StandardErrorPath</key>
<string>/usr/local/var/log/postgres.log</string>
</dict>
</plist>
Тогда я подумал, хм, может быть, есть что-то в этом файле журнала,
tail -n 10 /usr/local/var/log/postgres.log
Конечно же,
[4826] FATAL: lock file "postmaster.pid" already exists
[4826] HINT: Is another postmaster (PID 1489) running in data directory "/usr/local/var/postgres"?
Итак, я удалил этот файл
rm /usr/local/var/postgres/postmaster.pid
И все снова заработало.
В моем случае файл postmaster.pid
даже не был там. Я смог заставить его работать, обновив postgres.
brew update
brew upgrade
Затем, поскольку я обновил основную версию с 10 до 11, мне также пришлось запустить это:
brew postgresql-upgrade-database
(источник https://github.com/facebook/react-native/issues/18760#issuecomment-410533581)
Я бы объединил два ответа от Уилсона и Грассхоппера.
Вы можете проверить файл plist для службы postgres с помощью brew services list
, чтобы найти местоположение файла и просто открыть его в своем любимом редакторе.
Вы должны увидеть значение StandardErrorPath
, указанное как:
<key>StandardErrorPath</key>
<string>/usr/local/var/log/postgres.log</string>
И затем вы должны закрыть конец файла журнала, используя tail -n 100 /usr/local/var/log/postgres.log
В моем случае ошибка была следующей:
2017-12-06 11: 51:16.078 GMT [85476] FATAL: файл блокировки "postmaster.pid" уже существует 2017-12-06 11: 51:16.078 GMT [85476] СОВЕТ: Является ли еще один почтмейстер (PID 601) в каталоге данных "/usr/local/var/postgres"?
Это было связано с тем, что мне пришлось жестко отключить мой Mac, и postgres не получили возможности очистить файл PID. Просто удалите файл PID rm /usr/local/var/postgres/postmaster.pid
и запустите postgres brew services start postgresql
Слово предупреждения: не удалять этот файл PID, если вы не уверены, что postgres не работает. Вы можете сделать это, запустив brew services stop postgresql
, а затем ожидая результата brew services list
, чтобы показать, что posgres находится в состоянии остановки.
Для меня сработало удаление папки /usr/local/var/postgres/
а затем повторное удаление и установка postgres
У меня такая же ошибка при установке postgresql93 из версии tap.
Проверяя файл .plist, указанный в выводе brew services list
(~/Library/LaunchAgents/homebrew.mxcl.postgresql93.plist
), я обнаружил следующее сообщение:
FATAL: каталог данных "/usr/local/var/postgres" имеет доступ к группе или миру
ДЕТАЛИ: Разрешения должны быть u = rwx (0700).
Что привело меня к этому ответу: каталог данных"/usr/local/var/postgres " имеет неправильное право собственности
После запуска sudo chmod -R 700 /usr/local/var/postgres
у меня возникла другая ошибка:
FATAL: не удалось открыть каталог "pg_tblspc": нет такого файла или каталога
Что привело меня к: ` pg_tblspc`, отсутствующему после установки последней версии OS X (Yosemite или El Capitan)
После запуска mkdir /usr/local/var/postgres/pg_tblspc/
кластер начал успешно.
Я начал brew postgres
, но только с желтым цветом. Я использую эту статью для решения проблемы:
https://engineering.kapost.com/2018/12/brew-services-postgres-suddenly-wont-start
И теперь это работает.
Спасибо @Аарон Снайдер
обновить его с помощью команды
brew postgresql-upgrade-database
если у вас есть следующая ошибка Команда 'brew' не найдена, ,но ее можно установить с помощью: sudo apt установить linuxbrew-wrapper
затем установите его с помощью команды
sudo apt install linuxbrew-wrapper