Не удается запустить psql в PostgreSQL 9.5 - PullRequest
0 голосов
/ 26 ноября 2018

Я использую PostgreSQL 9.5 в Ubuntu 16.04 LTS.Я получаю приведенную ниже ошибку при вводе 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"?

При проверке журналов в /var/log/postgresql/postgresql-9.5-main.log я вижу ошибку как:

2018-11-2613:17:41 IST [3508-1] FATAL: не удалось получить доступ к файлу закрытого ключа "/etc/ssl/private/ssl-cert-snakeoil.key": разрешение отклонено

Ниже приведеныправа доступа для файлов /etc/ssl/private и ssl-cert-snakeoil.key:

vivek@vivek-ThinkPad-E480:~$ ls -l /etc/ssl
total 36
drwxr-xr-x 2 root root     20480 Nov 22 13:06 certs
-rwxr-xr-x 1 root root     10835 Dec  8  2017 openssl.cnf
drwxr--r-- 2 root ssl-cert  4096 Nov 22 13:06 private

vivek@vivek-ThinkPad-E480:~$ sudo ls -l /etc/ssl/private
total 4
-rw-r----- 1 root ssl-cert 1704 Nov 22 13:06 ssl-cert-snakeoil.key

Пользователь postgres также добавлен в группу ssl-cert.

vivek@vivek-ThinkPad-E480:~$ getent group ssl-cert
ssl-cert:x:112:postgres

ПРИМЕЧАНИЕ. Я обнаружил, что server.key нет в /var/lib/postgresql/9.5/main.

Я также опубликовал это на DBA Stackexchange , но пока нет ответа.

Кто-нибудь может направить меня в правильном направлении при настройке разрешений?

1 Ответ

0 голосов
/ 26 ноября 2018

Это никогда не может работать, и ваш сервер не сможет запуститься, потому что пользователь ОС postgres не имеет прав доступа к файлам в etc/ssl/private.

Чтобы разрешить пользователям в группе ssl-cert чтобы получить доступ к файлам в каталоге, запустите

chmod g+x /etc/ssl/private

Пока вы на нем, убедитесь, что /etc/ssl имеет необходимые разрешения.

Чтобы проверить, все ли работает, станьте пользователемpostgres и попробуйте прочитать файл.

...