Ошибка в полном объеме гласит:
PSQL: не удалось подключиться к серверу: нет такого файла или каталога. Работает ли сервер локально и принимает подключения через сокет домена Unix "/tmp/.s.PGSQL.5432"?
Я второй раз настраиваю Postgresql через Homebrew на моем Mac, и я понятия не имею, что происходит. Раньше это работало. В какой-то момент я, должно быть, ввел команду, которая все испортила. Я не уверен. Теперь всякий раз, когда я ввожу команду SQL из командной строки, я получаю вышеуказанное сообщение. Я запустил команду, чтобы проверить, работает ли сервер, и, очевидно, это не так. Если я пытаюсь запустить сервер с помощью
$ postgres -D / usr / local / pgsql / data
Я получаю следующую ошибку:
postgres не может получить доступ к файлу конфигурации сервера "/usr/local/pgsql/data/postgresql.conf": такого файла или каталога нет
Я удалил и переустановил Postgresql через Homebrew, но проблема остается. Я полностью в растерянности относительно того, как заставить это работать. Любая помощь будет оценена.
источник
brew services
не была полезна, потому что они создавали впечатление, что все работает. Удалениеpostmaster.pid
это то, что, наконец, заставило все работать снова. Спасибо!Ответ здесь .
Запустите эту команду, чтобы вручную запустить сервер:
источник
Я получал то же самое
петля Homebrew установить / запустить / остановить / перезапустить безрезультатно ...
Наконец-то
brew postgresql-upgrade-database
сработало.Кажется, я был на 9.6 вместо 10.4, и мой последний перезапуск App Store перезапустил все мои серверы баз данных ...
источник
brew postgresql-upgrade-database
чего мне не хватало. Спасибо что подметил это.Я только что решил ту же проблему. Это просто потому, что я забыл правильно запустить его перед использованием.
Для чистой установки
postgresql
в Mac OS процесс будет (используя команду brew ):тогда, если вы хотите автоматически запускаться
postgresql
при входе в систему:или вы просто хотите запустить его в любое время:
Если ваш случай более сложный, давайте
brew uninstall postgresql
повторим эти шаги.Надеюсь, это поможет!
источник
brew services start postgresql
теперь предпочтительный способ запуска postgres при входе в системуЯ продолжал получать вышеупомянутую ошибку, и ни одно из вышеупомянутых решений не работало для меня. Наконец, следующее решение решило мою проблему в Mac OS X
Установите postgres, используя brew
Установить Brew Services
Для запуска postgres в качестве фонового сервиса
Чтобы остановить postgres вручную
Мы также можем использовать Brew Services для перезапуска Postgres
источник
Это происходит, когда сервер postgres не работает. Шаги, чтобы правильно установить Postgres через Homebrew на MAC:
brew install postgres
initdb /Users/<username>/db -E utf8
[Это инициализирует postgres для использования данного каталога в качестве каталога базы данных. Обычно не рекомендуется использовать каталог пользователя для хранения базы данных. Отредактируйте файл sudoers для добавления initdb и аналогичных команд, а затем запустите initdb в / usr / local / var / postgres]pg_ctl -D /Users/<username>/db -l logfile start
[После успешного выполнения шага 2 будет предложено запустить шаг 3. Эта команда запускает сервер вручную.]источник
Это сработало для меня. Измените каталог postgresql в соответствии с версией вашей системы.
Общий путь-
rm /usr/local/var/postgres/postmaster.pid
но для postgresql@9.6 в моем системном пути есть
rm /usr/local/var/postgresql@9.6/postmaster.pid
перезапустите postgresql@9.6-
brew services restart postgresql@9.6
источник
Я просто раскомментирую в /etc/postgresql/9.5/main/postgresql.conf
и перезапустите postgres. И для меня это работает.
источник
недавно я прошел через аналогичную проблему. есть только другая проблема и решение. Я запускал 2 версии postgres (9.3 и 9.6), хотя сервер был настроен на работу на 2 разных портах, но кое-как команда psql на bash пытается подключиться к порту по умолчанию 5432. Убедитесь, что сервер работает, и проверьте, настройки вашего порта, затем запустите
psql -p <port> postgres
. Решением является изменение порта.источник
Я долго искал, и это было самое чистое и аккуратное решение:
Недавно я обновил Postgres с 9.2 до 9.3, используя bg upgrade postgres. Процесс прошел гладко, и pg_upgrade - очень удобный инструмент.
Тем не менее, возникли проблемы, когда я попытался запустить любые спецификации, необходимые для подключения к Postgres. Хотя Postgres определенно бежал, я вдруг получил:
не удалось подключиться к серверу: нет такого файла или каталога (PG :: ConnectionBad). Сервер работает локально и принимает подключения через сокет домена Unix "/var/pgsql_socket/.s.PGSQL.5432"? Проблема заключалась в том, что новая версия Postgres прослушивает /tmp/.s.PGSQL.5432. Я мог бы возиться с конфигом и заставить Postgres использовать сокет домена, которым он был ранее, или четко указать Rails, как подключаться, но оба этих подхода казались работой, которую мне не нужно было делать. Я ни разу не велел Rails подключаться к postgres по этому пути, Rails предполагал это, и теперь его предположения были неверны.
Исправить это просто, если немного удивительно. Когда вы устанавливаете гем 'pg', он определяет, какая версия Postgres установлена, и соответственно устанавливает путь к сокету домена. Решение так же просто, как переустановить драгоценный камень.
$ gem uninstall pg $ cd my-rails-app/ $ bundle install
http://daniel.fone.net.nz/blog/2014/12/01/fixing-connection-errors-after-upgrading-postgres/
источник
обновить его с помощью команды
если у вас есть следующая ошибка Команда 'brew' не найдена, но может быть установлена с помощью: sudo apt install linuxbrew-wrapper
затем установите его с помощью команды
источник
Для меня это также произошло после перезагрузки, и ни одно из вышеперечисленных решений не помогло мне. После проверки журнала сервера вот так:
Я заметил:
Поэтому я изменил права доступа следующим образом:
и все снова заработало, и жизнь была хорошей.
источник
Следующие шаги помогают мне:
brew удалить postgresql brew установить postgresql brew postgresql-upgrade-database
источник