Psql не удалось подключиться к серверу: нет такого файла или каталога, ошибка 5432?

Я пытаюсь запустить psql на моей машине-бродяге, но я получаю эту ошибку:

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"?

Примечание: Vagrant 1.9.2 Box: ubuntu/trusty64, https://atlas.hashicorp.com/ubuntu/boxes/trusty64

Команды EDIT, которые я использовал для установки и запуска postgres:

  • sudo apt-get update
  • sudo apt-get install postgresql
  • sudo su postgres
  • psql -d postgres -U postgres

Ответ 1

У меня была такая же проблема, связанная с настройкой моего файла pg_hba.conf (находится в /etc/postgresql/9.6/main). Обратите внимание, что 9.6 - это версия postgresql, которую я использую.

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

Я хотел бы предложить следующие инструкции:

  1. Убедитесь, что служба postgresql запущена, используя sudo service postgresql start
  2. Запустите pg_lsclusters из вашего терминала
  3. Проверьте, какой кластер вы используете, вывод должен быть примерно таким:

    Версия - каталог данных владельца статуса порта кластера

    9.6 ------- main - 5432 онлайн постгрес /var/lib/postgresql/9.6/main

    Не обращайте внимания на знаки "---", так как они используются там только для выравнивания. Важной информацией являются версия и кластер. Вы также можете проверить, работает ли сервер в столбце состояния.

  4. Скопируйте информацию из версии и кластера и используйте так: pg_ctlcluster <version> <cluster> start, так что в моем случае, используя версию 9.6 и кластер 'main', это будет pg_ctlcluster 9.6 main start
  5. Если что-то не так, то postgresql сгенерирует журнал, к которому можно обратиться по /var/log/postgresql/postgresql-<version>-main.log, поэтому в моем случае полной командой будет sudo nano/var/log/postgresql/postgresql-9.6-main.log.
  6. Выходные данные должны показать, что является ошибкой.

    2017-07-13 16:53:04 BRT [32176-1] LOG: неверный метод аутентификации "все"
    2017-07-13 16:53:04 BRT [32176-2] КОНТЕКСТ: строка 90 файла конфигурации "/etc/postgresql/9.5/main/pg_hba.conf"
    2017-07-13 16:53:04 BRT [32176-3] FATAL: не удалось загрузить pg_hba.conf

  7. Исправьте ошибки и перезапустите сервис postgresql через sudo service postgresql restart и все должно быть в порядке.

Я много искал, чтобы найти это, кредит идет на этот пост.

Удачи!

Ответ 2

У меня была такая же проблема, но не ответы здесь помогли.

Как я исправил его (mac)

  • Попробуйте запустить postgresql с помощью pg_ctl -D/usr/local/var/postgres start
  • Найдите сообщение об ошибке, которое говорит что-то вроде FATAL: could not open directory "pg_tblspc": No such file or directory.
  • Создайте этот отсутствующий каталог mkdir/usr/local/var/postgres/pg_tblspc
  • Повторяйте с первого шага, пока не создадите все отсутствующие каталоги
  • Когда это будет сделано, а затем снова попытается запустить postgresql, он может сказать, что FATAL: lock file "postmaster.pid" already exists
  • Удалить postmaster.pid: rm/usr/local/var/postgres/postmaster.pid
  • Начать postgres с помощью: pg_ctl -D/usr/local/var/postgres start
  • Сделано ✨

Ответ 3

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

enter image description here

Обратите внимание, что pg_hba.conf принадлежит root, и пользователи даже не могут его прочитать. Это приводит к тому, что postgres не может открыть этот файл и, следовательно, не может запустить сервер, что приводит к ошибке, замеченной в исходном вопросе.

Запустив

sudo chmod +r pg_hba.conf

Мне удалось сделать этот файл снова доступным для пользователя postgres, а затем после запуска

sudo service postgresql start

Был в состоянии снова запустить сервер.

Ответ 4

/etc/postgresql/9.6/main/postgresql.conf ли /etc/postgresql/9.6/main/postgresql.conf назначенный порт? На моей установке по умолчанию Xubuntu Linux мой показал порт = 5433 по какой-то причине так хорошо, как я помню, но я прокомментировал строку в том же файле, который сказал listen_addresses = 'localhost' и раскомментировал строку listen_addresses = '*'. Поэтому, возможно, начните и проверьте там. Надеюсь, это поможет.

Ответ 5

Используйте команду:

rm -rf /usr/local/var/postgres && initdb /usr/local/var/postgres -E utf8

Ответ 6

Откройте диспетчер баз данных и выполните этот скрипт

update pg_database set datallowconn = 'true' where datname = 'your_database_name';

Ответ 7

То же самое случилось со мной, поскольку я что-то изменил в /etc/hosts. После его изменения до 127.0.0.1 localhost это сработало для меня.

Ответ 8

В пределах зш:

rm -rf /usr/local/var/postgres && initdb /usr/local/var/postgres -E utf8

Это единственное, что сработало для меня после бесчисленных часов устранения неполадок.

Ответ 10

У меня была такая же ошибка, когда я создавал SQL db в виртуальной машине. Я изменил значение по умолчанию /etc/postgresql/9.3/main/postgresql.conf shared_buffers = 200MB 200MB до 75% от моей общей ОЗУ. Ну, я забыл на самом деле выделить эту RAM в виртуальной машине. Когда я дал команду создать новую базу данных, я получил ту же ошибку.

Сработал, дал ребенку свою бутылку (ОЗУ) и престо, это сработало.

Ответ 11

просто переустановите свой pgsql с помощью прямой версии sudo apt-get install postgresql-9.5 (u должен удалить пакет перед установкой нового)

Ответ 12

Я смог решить проблему, запустив:

sudo systemctl start [email protected]

Ответ 13

Я получил эту ошибку, когда восстановил свою базу данных из последнего файла резервной копии pg_basebackup. После этого, когда я пытался подключиться к базе данных (PSQL), я получал ту же ошибку. Ошибка была устранена, когда я обновил файл pg_hba.conf и там, где была "равноправная" аутентификация, я заменил ее на "md5", а затем перезапустил службы postgres. После этого проблема была решена.

Ответ 14

У меня были подобные проблемы недавно. Перепробовав более 5 предложений, я решил вернуться к основам и начать с самого начала. Это означало удаление моей установки postgresql и следование этому руководству после переустановки postgresql. https://help.ubuntu.com/lts/serverguide/postgresql.html