Исправлено: 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. Там нет ситуации, где это действительно должно быть необходимо в любом случае, кроме исправления этой проблемы в первую очередь.

Ссылка на основную публикацию
Adblock
detector