Используя 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, что приводит к сбою сервера до его запуска.
Я бы предложил следовать этим инструкциям:
- Удостоверьте, что служба postgresql запущена, используя
sudo service postgresql start
- Run
pg_lsclusters
из своего терминал -
проверьте, что такое кластер, который вы используете, выход должен быть чем-то вроде:
версия-каталог данных владельца состояния порта кластера
9.6 ------- главное -- 5432 Postgres из онлайн каталога /var/lib в/с PostgreSQL/9.6/главная
игнорируйте знаки" - - -", поскольку они используются там только для выравнивания. Важной информацией являются версия и кластер. Вы также можете проверить работает сервер или не в столбце статус.
- скопируйте информацию из версии и кластера и используйте так:
pg_ctlcluster <version> <cluster> start
, поэтому в моем случае, используя версию 9.6 и кластер "main", это было быpg_ctlcluster 9.6 main start
- если что-то не так, то postgresql создаст журнал, к которому можно получить доступ на
/var/log/postgresql/postgresql-<version>-main.log
, так что в моем случае полная команда будетsudo nano /var/log/postgresql/postgresql-9.6-main.log
. - вывод должен показать, что такое ошибка.
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 - исправьте ошибки и перезапустите службу postgresql через
sudo service postgresql restart
и все должно быть хорошо.
Я много искал, чтобы найти это, кредит идет на это в должности.
удачи!
тут /etc/postgresql/9.6/main/postgresql.conf
показать, что порт назначается? На моей установке Xubuntu Linux по умолчанию мой показал port = 5433 по какой-то причине, насколько я помню, но я прокомментировал строку в том же файле, который сказал listen_addresses = 'localhost'
и раскомментировал строку listen_addresses = '*'
. Так что, может быть, начнем и проверим там. Надеюсь, это поможет.
Я просто публикую это для всех, кто чувствует себя потерянным и безнадежным, как я сделал, когда нашел этот вопрос. Кажется, что иногда, редактируя некоторые файлы конфигурации, связанные с psotgresql, можно случайно изменить разрешения файла:
обратите внимание, как файл 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 (вы должны удалить пакет перед установкой нового)