psql: не удалось подключиться к серверу: нет такого файла или каталога (Mac OS X)

После перезагрузки моего 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 из-за этой ошибки.

ПРЕДУПРЕЖДЕНИЕ. Если вы удалите postmaster.pid, не убедившись, что на вашем компьютере нет процессов postgres вы можете повредить свою базу данных . (PostgreSQL должен удалить его автоматически, если postmaster завершил.).

РЕШЕНИЕ: Это устранило проблему – я удалил этот файл, а потом все сработало!

 /usr/local/var/postgres/postmaster.pid 

и вот как я понял, почему это нужно удалить.

  1. Я использовал следующую команду, чтобы проверить, были ли запущены процессы PG. для меня их не было, я даже не мог запустить PG-сервер:

     ps auxw | grep post 
  2. Я искал файл .s.PGSQL.5432, который был в сообщении об ошибке выше. Я использовал следующую команду:

     sudo find / -name .s.PGSQL.5432 -ls 

    это не показало ничего после поиска моего компьютера, поэтому файл не существовал, но, очевидно, psql «хотел» или «думал, что он там».

  3. Я просмотрел журналы своего сервера и увидел следующую ошибку:

     cat /usr/local/var/postgres/server.log 

    в конце журнала сервера я вижу следующую ошибку:

     FATAL: pre-existing shared memory block (key 5432001, ID 65538) is still in use HINT: If you're sure there are no old server processes still running, remove the shared memory block or just delete the file "postmaster.pid". 
  4. Следуя советам в сообщении об ошибке, я удалил файл postmaster.pid в том же каталоге, что и server.log. Это решило проблему, и я смог перезапустить.

Таким образом, кажется, что мой macbook, зависающий и перезагруженный, заставил Postgres думать, что его процессы все еще работают даже после перезагрузки. Удаление этого файла разрешено. Надеюсь, это поможет другим! Многие люди имеют схожие проблемы, но большинство ответов связано с правами доступа к файлам, тогда как в моем случае все было по-другому.

Если вы установили с помощью доморощенного, используйте следующую команду

 brew services stop postgresql brew services start postgresql 

Если ваш ubuntu будет работать над следующей командой, просто перезапустите сервер, запустив

 $sudo service postgresql restart 

или

 sudo /etc/init.d/postgresql restart 

Ничто из этого не помогло мне. Мне пришлось переустановить Postgres следующим образом:

  • Удалить postgresql с помощью варева: brew uninstall postgresql
  • brew doctor (исправить все, что здесь)
  • brew prune
  • Удалите все папки Postgres:

    • rm -r /usr/local/var/postgres
    • rm -r /Users//Library/Application\ Support/Postgres
  • Переустановите postgresql с варевом: brew install postgresql

  • Запустить сервер: brew services start postgresql
  • Теперь вам нужно создать свои базы данных … ( createdb )

Привет мир 🙂
Самый лучший, но странный способ для меня состоял в следующем.

1) Загрузите postgres93.app или другую версию. Добавьте это приложение в папку / Applications /.

2) Добавьте строку (команду) в файл .bash_profile (который находится в моем домашнем каталоге):

  export PATH = / Приложения / Postgres93.app / Содержание / MacOS / bin /: $ PATH 

Это PATH для psql из Postgres93.app . Строка (команда) запускается каждый раз при запуске консоли.

3) Запустите Postgres93.app из папки /Applications/ . Он запускает локальный сервер (порт «5432», а хост – «localhost»).

4) После всех этих манипуляций я был рад запустить $ createuser -SRDP user_name и другие команды и убедиться, что это сработало! Postgres93.app можно запускать при каждом запуске системы.

5) Также, если вы хотите увидеть свои базы данных графически, вы должны установить PG Commander.app . Это хороший способ увидеть вашу базу данных postgres как симпатичные таблицы данных

Конечно, это полезно только для локального сервера. Я буду рад, если эта инструкция поможет другим, кто столкнулся с этой проблемой.

Эта проблема имеет много источников и, следовательно, множество ответов. Я испытал каждого из них.

1) Если у вас есть какой-то сбой, удаление файла /usr/local/var/postgres/postmaster.pid, вероятно, необходимо, так как postgres, возможно, не справились с ним должным образом. Но убедитесь, что процесс не запущен.

2) Крейг Рингер указал в других сообщениях, что пакет Apple postgreSQL приводит к проблемам установки pg gem. Установка переменной среды PATH является решением.

3) Еще одно решение – удалить и переустановить gem. Также может понадобиться обновление для пивоварения.

Если вы наткнетесь на этот пост, если вы сможете определить один из источников, вы сэкономите время …

если ваш postmaster.pid ушел, и вы не можете перезапустить или что-то еще, сделайте следующее:

pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start

как объяснено здесь изначально

Я столкнулся с аналогичной проблемой здесь, я решил эту проблему, как показано ниже.

На самом деле процесс postgres мертв, чтобы увидеть статус postgres, выполните следующую команду

 sudo /etc/init.d/postgres status 

Будет сказано, что процесс мертв. Просто запустите процесс

 sudo /etc/init.d/postgres start 

Для меня решение было просто перезагрузить компьютер. Сначала я попытался перезапустить службу Brew, и, когда это не сработало, перезагрузка показалась следующей лучшей возможностью попробовать, прежде чем рассматривать некоторые из наиболее востребованных решений. После этого все работало так, как должно было.

Моя проблема закончилась тем, что я использовал Gas Mask (файловый менеджер хостов для Mac), и у меня не было записи для localhost в файле hosts, который я использовал.

Я добавил:

 127.0.0.1 localhost 

И это решило мою проблему.

Это случилось со мной после того, как мой Mac (High Sierra) застыл, и мне пришлось вручную перезапустить его (нажмите и удерживайте кнопку питания). Все, что я должен был сделать, чтобы исправить это, – это чистый перезапуск.

Возможно, это не связано, но аналогичная ошибка появляется при обновлении postgre до основной версии с использованием brew ; используя brew info postgresql узнал об этом, что помогло:

 To migrate existing data from a previous major version of PostgreSQL run: brew postgresql-upgrade-database 

Мне пришлось искать этот пост несколько раз, чтобы решить эту проблему. Есть еще одно исправление, которое также относится к аналогичным проблемам с другими запущенными программами.

Я только что обнаружил, что вы можете использовать следующие две команды.

$ сверху

Это покажет все текущие действия с их номерами pid. Когда вы найдете postgres и связанный pid

$ kill pid_number

Я просто получил ту же проблему, что и мой компьютер ( ubuntu ) для обновления и получил ошибку ниже:

не удалось подключиться к серверу: нет такого файла или каталога. Сервер работает локально и принимает соединения в сокетном домене Unix «/var/run/postgresql/.s.PGSQL.5432»?

После завершения процесса обновления при перезапуске системная ошибка исчезла. И его работа как прелесть, как и раньше. Я думаю, это произошло, когда pg обновлялся, и начался другой процесс.

SUPER NEWBIE ALERT: Я просто изучаю веб-разработку и конкретный учебник, о котором я говорил, я должен установить Postgres, но на самом деле не упоминал, что я должен запускать его также … Как только я открыл приложение Postgres, все было в порядке и денди.

Ответ @ Джагдиша Барабари дал мне ключ, который мне нужно было решить. Оказывается, были установлены две версии postgresql, в то время как только один был запущен. Очистка всех файлов postgresql и переустановка последней версии разрешили эту проблему для меня.

Причин этой ошибки много, поэтому сначала найдите файл журнала и проверьте его на наличие подсказок. Это может быть в /usr/local/var/log/postgres.log или /usr/local/var/postgres/server.log или, возможно, в другом месте. Если вы установили с Homebrew, вы можете найти его в ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist .

Я не совсем уверен, почему, но моя установка Postgres немного запуталась, и некоторые файлы были удалены, что привело к ошибке OP.

Несмотря на то, что я могу запускать команды, такие как brew service retart postgres и видеть правильные сообщения, эта ошибка сохраняется.

Я просмотрел документацию postgres и обнаружил, что мой файл /usr/local/var/postgres был полностью пуст. Поэтому я запустил следующее:

 initdb /usr/local/var/postgres 

Кажется, что с этой командой произошли некоторые конфигурации.

Затем он попросил меня запустить это:

 postgres -D /usr/local/var/postgres 

И это сказало, что файл postmaster.pid уже существует.

Мне просто нужно было знать, сможет ли пиво собирать конфиги, которые я только что запустил, поэтому я проверил это.

 ls /usr/local/var/postgres 

Это показало мне файл postmaster.pid. Затем я brew services stop postgresql , и файл postmaster.pid исчез. Затем я brew services start postgresql и VIOLA, файл снова появился.

Затем я пошел вперед и запустил приложение, которое действительно нашло сервер, однако, похоже, мои базы данных пропали.

Хотя я знаю, что они могут вообще не уйти – новая инициализация, которую я сделал, возможно, создала новую data_area, а на старую не указали. Я должен был бы посмотреть, где это, и вернуть его обратно, или просто создать мои базы данных снова.

Надеюсь это поможет! Чтение документов postgres мне очень помогло. Я ненавижу читать ответы, похожие на «Вставить это в него!» потому что я не знаю, что, черт возьми, происходит и почему.

  • Rownum в postgresql
  • Postgresql UUID поддерживается Hibernate?
  • Вычисление и сохранение пространства в PostgreSQL
  • isnumeric () с PostgreSQL
  • fe_sendauth: пароль не указан
  • Первичные ключи с Apache Spark
  • Postgres не удалось подключиться к серверу
  • Как указать пароль для psql неинтерактивно?
  • Названия часовых поясов с одинаковыми свойствами дают разные результаты при применении к метке времени
  • `pg_tblspc` отсутствует после установки последней версии OS X (Yosemite или El Capitan)
  • Как запросить json-столбец для пустых объектов?
  • Interesting Posts

    Как получить std :: векторный указатель на необработанные данные?

    Музыкальный проигрыватель на Linux без плейлистов, просто просмотр каталога и воспроизведение файлов

    Включение активных гиперссылок на синий

    Facebook новый javascript sdk – загрузка фотографий с ним!

    Является ли iSCSI хорошим для моей ситуации?

    Пакетное слияние / mux .srt с .mkv файлами

    Можно ли использовать внешний ключ MySQL для одной из двух возможных таблиц?

    Получить первый URL-адрес поиска google для выделенного текста в любом приложении

    Поиск максимального значения в массиве с использованием рекурсии

    Простой инструмент для захвата изображений для Mac OS X, который использует FireWire

    Как использовать DataAdapter с хранимой процедурой и параметром

    запрос на основе даты

    Обновления, нарушающие Windows Embedded Standard 7 в DISM

    Можно ли установить базовый URL для приложения NodeJS?

    LINQ to SQL с использованием GROUP BY и COUNT (DISTINCT)

    Давайте будем гением компьютера.