Меню

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

PostgreSQL позиционирует себя как наиболее продвинутую платформу приложений базы данных с открытым исходным кодом, и Debian Linux, безусловно, имеет множество пакетов, которые делают его еще более сложным. Вы также можете найти множество пакетов для PostgreSQL, если вы работаете с Ubuntu Server или любым из различных спинов Ubuntu, поскольку они основаны на ядре Debian. Этот уровень сложности и развития делает предупреждения «невозможно подключиться к серверу» и «нет такого файла или каталога» гораздо более раздражающим.

К счастью, это обычно простые случаи проблем с разрешениями, вызванные тем, что PostgreSQL хочет, чтобы пользователь с именем postgres держал эти каталоги. Используя простой трюк командной строки, вы можете исправить это практически мгновенно. Однако вы должны заранее пройти несколько базовых диагностических проверок, просто чтобы убедиться, что это действительно проблема, с которой вы столкнулись.

Исправление PostgreSQL не удалось подключиться к ошибкам сервера

Сначала попробуйте перезапустить систему PostgreSQL вручную. Иногда этого достаточно, чтобы что-то исправить, а если нет, то вы, по крайней мере, получите сообщение об ошибке для работы. Скорее всего, вы просто перезапустите систему, введя команду psql от имени пользователя postgres.

Вы можете обнаружить, что это все прояснило. В противном случае вы можете получить строку с надписью «psql: не удалось подключиться к серверу: нет такого файла или каталога», что означает, что у вас проблемы с правами доступа. Если вы получите это сообщение об ошибке, вы также получите другой текст.

Проверьте статус службы, если вы получили это сообщение, чтобы убедиться, что модули загружены. Они должны быть, но если это не так, вы можете перезагрузить. Если вы получили сообщение «Loaded: загружен (/lib/systemd/system/postgresql.service; enabled)», то они работают. Пытаться перезапуск службы sudo после перезапуска просто сделать краткий перезапуск и посмотреть, исправит ли это что-нибудь. Обычно это не так, но это может стоить попробовать в зависимости.


Предполагая, что это не помогло, загляните в журнал PostgreSQL, чтобы найти ошибки. В маловероятном случае, если вы обнаружите что-то об ошибках пакета, вы можете пропустить один из модулей SQL. Обычно это не является причиной этих проблем, но, конечно, не повредит хотя бы взглянуть. Скорее всего, вы действительно столкнетесь с чем-то, что предупреждает вас о том, что «разрешения должны быть u = rwx (0700)» и

что «каталог данных« /var/lib/postgresql/9.6/main »имеет доступ к группе или миру», хотя вы можете увидеть другой номер версии в зависимости от того, какой сервер SQL вы используете.

Это связано с тем, что Debian и подобные дистрибутивы ожидают, что пользователь и группа postgres контролируют эти каталоги с разрешениями 0700 и всеми файлами с разрешениями 0600 в целях безопасности. Все, что вам нужно сделать, это запустить следующую команду в терминале, чтобы исправить разрешения:

sudo chown -R postgres: postgres /var/lib/postgresql/9.6/ sudo chmod -R u = rwX, go = /var/lib/postgresql/9.6/

Имейте в виду, что это должен быть верхний регистр X, а не более распространенный нижний регистр x, с которым вы, вероятно, больше знакомы из-за особого способа установки этих опций разрешения доступа к файлам. Хотя для этого вам нужен root-доступ, включение этих двух меток sudo должно быть более чем достаточным, чтобы дать себе соответствующие разрешения при работе от имени обычного пользователя. Это важно, так как Ubuntu и различные реализации Linux были выделены из Ubuntu и хэшировали основную корневую учетную запись, поэтому вам нужно действовать таким образом.

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

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

Здравствуйте!
Пожалуйста, помогите разобраться.
Manjaro Linux. По учебнику для Linux были команды через art-get. Но установка прошла через sudo.
Вроде бы, всё нормально

Код

(venv) [leto@leto-virtualbox workout]$ psql --version
psql (PostgreSQL) 13.4

дальше

Код

(venv) [leto@leto-virtualbox workout]$ sudo su - postgres
[postgres@leto-virtualbox ~]$ psql
psql: ошибка: не удалось подключиться к серверу: Нет такого файла или каталога
        Он действительно работает локально и принимает
        соединения через Unix-сокет "/run/postgresql/.s.PGSQL.5432"?

Неправильно, что в приложении?

Выше была установка в терминале приложения, ниже вариант в терминале Manjaro:

И, наверное, получилась каша на каше? Потому, что тут я ничего не понимаю.

Код

leto@leto-virtualbox ~]$ sudo su postgres -l # or sudo -u postgres -i
[postgres@leto-virtualbox ~]$ initdb --locale $LANG -E UTF8 -D '/var/lib/postgres/data/'
Файлы, относящиеся к этой СУБД, будут принадлежать пользователю "postgres".
От его имени также будет запускаться процесс сервера.

Кластер баз данных будет инициализирован с локалью "ru_RU.UTF-8".
Выбрана конфигурация текстового поиска по умолчанию "russian".

Контроль целостности страниц данных отключён.

initdb: ошибка: каталог "/var/lib/postgres/data" существует, но он не пуст
Если вы хотите создать новую систему баз данных,
удалите или очистите каталог "/var/lib/postgres/data",
либо при запуске initdb в качестве пути укажите не "/var/lib/postgres/data".
[postgres@leto-virtualbox ~]$ exit
выход
[leto@leto-virtualbox ~]$ sudo su - postgres
[postgres@leto-virtualbox ~]$ psql
psql: ошибка: не удалось подключиться к серверу: Нет такого файла или каталога
  Он действительно работает локально и принимает
  соединения через Unix-сокет "/run/postgresql/.s.PGSQL.5432"?
[postgres@leto-virtualbox ~]$

Добавлено через 5 часов 43 минуты
Всё было сделано, как в этой статье

https://infoit.com.ua/linux/ka… anjaro-20/

========================

Ни у кого этой проблемы не было?

Пробую ещё так, но не пойму какой пароль запрашивает — при установке не было запроса .

Код

[leto@leto-virtualbox workout]$ sudo su - postgres
[sudo] пароль для leto: 
[postgres@leto-virtualbox ~]$ psql
psql: ошибка: не удалось подключиться к серверу: Нет такого файла или каталога
        Он действительно работает локально и принимает
        соединения через Unix-сокет "/run/postgresql/.s.PGSQL.5432"?
[postgres@leto-virtualbox ~]$ sudo psql

Мы полагаем, что ваш системный администратор изложил вам основы
безопасности. Как правило, всё сводится к трём следующим правилам:

    №1) Уважайте частную жизнь других.
    №2) Думайте, прежде что-то вводить.
    №3) С большой властью приходит большая ответственность.

[sudo] пароль для postgres: 
Попробуйте ещё раз.
[sudo] пароль для postgres: 
Попробуйте ещё раз.
[sudo] пароль для postgres: 
sudo: 3 incorrect password attempts
[postgres@leto-virtualbox ~]$

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь

Как и некоторые другие, я получаю эту ошибку, когда запускаю rake db: переношу в свой проект или даже пытаюсь выполнить большинство задач базы данных для Ruby on Rails 3.2 приложения.

PGError (не удалось подключиться к серверу: нет такого файла или каталога. сервер, работающий локально, и прием соединений в сокетном домене Unix «/tmp/.s.PGSQL.5432»?

Я установил PostgreSQL с Homebrew давным-давно и после попытки установки MongoDB моя установка PostgreSQL никогда не была такой же. Я запускаю OS X v10.6 Snow Leopard.

Что не так и как лучше понять, как PostgreSQL и должен быть настроен на моем Mac?

До сих пор (я думаю) это говорит мне, что PostgreSQL не работает (?).

ps -aef|grep postgres                                                                                                   ([email protected]) (develop) ✗
  501 17604 11329   0   0:00.00 ttys001    0:00.00 grep postgres

Но это говорит мне, что PostgreSQL работает?

✪ launchctl load -w /usr/local/Cellar/postgresql/9.1.4/homebrew.mxcl.postgresql.plist                                                        (ruby-1.9.2-p136) 
homebrew.mxcl.postgresql: Already loaded

Как это исправить? что я не вижу?

PS: ~/Library/LaunchAgents содержит два файла .plist PostgreSQL. Я не уверен, что это важно.

org.postgresql.postgres.plist
homebrew.mxcl.postgresql.plist

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

$psql -p 5432 -h localhost

psql: could not connect to server: Connection refused
    Is the server running on host "localhost" (127.0.0.1) and accepting
    TCP/IP connections on port 5432?
could not connect to server: Connection refused
    Is the server running on host "localhost" (::1) and accepting
    TCP/IP connections on port 5432?
could not connect to server: Connection refused
    Is the server running on host "localhost" (fe80::1) and accepting
    TCP/IP connections on port 5432?

Я читал, так как это происходит потому, что OS X устанавливает собственную версию PostgreSQL, а Homebrew устанавливает другую версию в другом месте, а команды PostgreSQL ищут в каталоге /tmp/. Вам нужно будет искать больше в Stack Overflow, но в основном вы symlink PostgreSQL, так что все, что ищет в этом пути tmp, действительно находит реальный путь, если это имеет смысл.

Это ссылка, в которой я нашел еще несколько вещей, чтобы попробовать, в частности, делать символическую ссылку в соответствии с выше, Mac OSX Lion Postgres не принимает подключения на /tmp/.s. PGSQL.5432. Я все еще хочу, чтобы кто-то собрал достойное объяснение концепций установки PostgreSQL на OS X и почему все это так сложно.

Последние сведения, помогающие устранить неполадки:

$ which psql // This tells you which PostgreSQL you are using when you run $ psql. 

Затем запустите:

$ echo $PATH

Ключевое значение, которое необходимо учитывать, следующее:

Убедитесь, что запись пути для копии PostgreSQL, которую вы хотите запустить COMES, до пути к OS X-системе PostgreSQL.

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

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Psql ошибка важно роль root не существует
  • Psql ошибка важно пользователь postgres не прошел проверку подлинности peer