Используя 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"?

Примечание: Бродяга 1.9.2 Box: ubuntu / trusty64,https://atlas.hashicorp.com/ubuntu/boxes/trusty64

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

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

8 ответов


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

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

Я бы предложил следовать этим инструкциям:

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

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

    9.6 ------- главное -- 5432 Postgres из онлайн каталога /var/lib в/с PostgreSQL/9.6/главная

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

  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] ЖУРНАЛ: недопустимый метод аутентификации "все"
    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 и все должно быть хорошо.

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

удачи!


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


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

enter image description here

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

под управлением

sudo chmod +r pg_hba.conf

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

sudo service postgresql start

удалось снова запустить сервер.


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

как я это исправил (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
  • удалить почтмейстер.пид: rm /usr/local/var/postgres/postmaster.pid
  • начать postgres с:pg_ctl -D /usr/local/var/postgres start
  • сделал

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

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

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

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


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


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