Не могу запустить postgres - PullRequest
       47

Не могу запустить postgres

0 голосов
/ 21 ноября 2019

Мне пришлось переустанавливать postgres почти 5 раз, но все равно безуспешно. Порт, похоже, не слушает 5432.

Всякий раз, когда я набираю

systemctl list-dependencies postgresql

, я вижу это так

● ├─postgresql@10-main.service
● ├─system.slice
● └─sysinit.target
●   ├─apparmor.service
●   ├─dev-hugepages.mount
●   ├─dev-mqueue.mount
●   ├─keyboard-setup.service
●   ├─kmod-static-nodes.service
●   ├─plymouth-read-write.service
●   ├─plymouth-start.service
●   ├─proc-sys-fs-binfmt_misc.automount
●   ├─setvtrgb.service
●   ├─sys-fs-fuse-connections.mount
●   ├─sys-kernel-config.mount
●   ├─sys-kernel-debug.mount
●   ├─systemd-ask-password-console.path
●   ├─systemd-binfmt.service
●   ├─systemd-hwdb-update.service
●   ├─systemd-journal-flush.service
●   ├─systemd-journald.service
●   ├─systemd-machine-id-commit.service
●   ├─systemd-modules-load.service
●   ├─systemd-random-seed.service
●   ├─systemd-sysctl.service
●   ├─systemd-timesyncd.service
●   ├─systemd-tmpfiles-setup-dev.service
●   ├─systemd-tmpfiles-setup.service
●   ├─systemd-udev-trigger.service
●   ├─systemd-udevd.service
●   ├─systemd-update-utmp.service
●   ├─cryptsetup.target
●   ├─local-fs.target
●   │ ├─-.mount
●   │ ├─boot-efi.mount
●   │ ├─systemd-fsck-root.service
●   │ └─systemd-remount-fs.service
●   └─swap.target
●     └─swapfile.swap

с красным кружком рядом сpostgresql@10-main.service. Однако, если я выполню

sudo /etc/init.d/postgresql status

, я получу следующий вывод:

● postgresql.service - PostgreSQL RDBMS
   Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
   Active: active (exited) since Thu 2019-11-21 15:19:29 +05; 5min ago
  Process: 24403 ExecReload=/bin/true (code=exited, status=0/SUCCESS)
  Process: 24368 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
 Main PID: 24368 (code=exited, status=0/SUCCESS)

systemd[1]: Starting PostgreSQL RDBMS...
systemd[1]: Started PostgreSQL RDBMS.
systemd[1]: Reloading PostgreSQL RDBMS.
systemd[1]: Reloaded PostgreSQL RDBMS.

И затем, если я выполню

netstat -tulpn | grep :5432

Нет вывода. То же самое касается service postgresql start

Я не могу найти процесс с PID 24368, используя sudo lsof -i -P -n

В чем проблема?

РЕДАКТИРОВАТЬ

При установке postgres я заметил следующий вывод

Ver Cluster Port Status Owner    Data directory              Log file
10  main    5432 down   postgres /var/lib/postgresql/10/main /var/log/postgresql/postgresql-10-main.log

с последней строкой, выделенной красным цветом. Что это?

Кстати, обе папки пусты, я не могу проверить, что находится в этих файлах

РЕДАКТИРОВАТЬ

Наконец, после выполнения systemctl status postgresql@10-main.service

Понятно

    ● postgresql@10-main.service - PostgreSQL Cluster 10-main
       Loaded: loaded (/lib/systemd/system/postgresql@.service; disabled; vendor preset: enabled)
       Active: failed (Result: protocol) since Thu 2019-11-21 15:04:20 +05; 58min ago
    Condition: start condition failed at Thu 2019-11-21 15:57:01 +05; 5min ago
               └─ ConditionPathExists=/etc/postgresql/10/main/postgresql.conf was not met

systemd[1]: Starting PostgreSQL Cluster 10-main...
postgresql@10-main[22146]: Error: /usr/lib/postgresql/10/bin/pg_ctl /usr/lib/postgresql/10/bin/pg_ctl start -D /var/lib/postgresql/10/main -l
postgresql@10-main[22146]: 2019-11-21 15:04:20.265 +05 [22151] FATAL:  private key file "/etc/ssl/private/ssl-cert-snakeoil.key" must be owne
postgresql@10-main[22146]: 2019-11-21 15:04:20.265 +05 [22151] LOG:  database system is shut down
postgresql@10-main[22146]: pg_ctl: could not start server
postgresql@10-main[22146]: Examine the log output.
systemd[1]: postgresql@10-main.service: Can't open PID file /var/run/postgresql/10-main.pid (yet?) after start: No such file or directory
systemd[1]: postgresql@10-main.service: Failed with result 'protocol'.
systemd[1]: Failed to start PostgreSQL Cluster 10-main.

Ответы [ 2 ]

1 голос
/ 21 ноября 2019

Понятия не имею, что не так, но после удаления пользовательских postgres, удаления папок из этого второго ответа и переустановки с помощью

sudo apt-get update
sudo apt-get install postgresql postgresql-contrib

Теперь я вижу это. Кровавый ад потратил на это почти 4 часа!

0 голосов
/ 21 ноября 2019

Вы определили определенную конфигурацию безопасности в PostgreSQL или на вашем сервере?

У меня никогда не было строки, подобной этой:

FATAL: файл личного ключа "/ etc / ssl /private / ssl-cert-snakeoil.key "должен быть владельцем

Из ваших systemctl status postgresql@10-main.service результатов

Вы можете изменить владельца файла сертификата?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...