Не удалось запустить posgtresql, причина не ясна

Я установил postgresql by pacman. Теперь я пытаюсь запустить его:

$ sudo systemctl start postgresql Job for postgresql.service failed because the control process exited with error code. See "systemctl status postgresql.service" and "journalctl -xe" for details. 

А потом:

  $ sudo systemctl status postgresql ● postgresql.service - PostgreSQL database server Loaded: loaded (/usr/lib/systemd/system/postgresql.service; disabled; vendor preset: disabled) Active: failed (Result: exit-code) since Sun 2016-07-10 15:30:47 UTC; 17s ago Process: 19468 ExecStartPre=/usr/bin/postgresql-check-db-dir ${PGROOT}/data (code=exited, status=1/FAILURE) Jul 10 15:30:47 my_comp systemd[1]: Starting PostgreSQL database server... Jul 10 15:30:47 my_comp systemd[1]: postgresql.service: Control process exited, code=exited status=1 Jul 10 15:30:47 my_comp systemd[1]: Failed to start PostgreSQL database server. Jul 10 15:30:47 my_comp systemd[1]: postgresql.service: Unit entered failed state. Jul 10 15:30:47 my_comp systemd[1]: postgresql.service: Failed with result 'exit-code'. 

Что с этим не так?

  • Использование mate desktop без systemd
  • Рестарт, перезагрузка или остановка службы systemd влияют на ExecStartPost?
  • Systemd, перезапустить службу при изменении IP-адреса
  • как systemd определяет, что служба остановлена?
  • Выход systemctl усечен
  • системное сообщение о состоянии?
  • Galera + systemd: wsrep_notify_cmd терпит неудачу с sudo (невозможно изменить в sudoers gid: операция не разрешена)
  • Есть ли способ автоматически перезапустить докер после обновления правил брандмауэра с помощью iptables?
  • 2 Solutions collect form web for “Не удалось запустить posgtresql, причина не ясна”

    Следующий шаг решил вашу проблему

    шаг 1: создать каталог данных (в соответствии с установленной переменной PGROOT в файле конфигурации)

     sudo mkdir /var/lib/postgres/data 

    Шаг 2: set / var / lib / postgres / владение данными для пользователей 'postgres'

     chown postgres /var/lib/postgres/data 

    Шаг 3: Как пользователь «postgres» запускает базу данных.

     sudo -i -u postgres initdb -D '/var/lib/postgres/data' 

    Шаг 4. Запустите службу с правами root

    В раздел, который вы поделили, входит эта строка:

     /usr/bin/postgresql-check-db-dir ${PGROOT}/data (code=exited, status=1/FAILURE) 

    Что такое $PGROOT ? Существует ли $PGROOT/data ? У этого каталога есть файлы init? Если нет, вам может потребоваться запустить initdb в каталоге.

    Для инициализации создайте пустой каталог данных с правами root, затем используйте chown, чтобы назначить право собственности на этот каталог на учетную запись пользователя базы данных, затем su, чтобы стать пользователем базы данных для запуска initdb /path/to/data .

    Linux и Unix - лучшая ОС в мире.