Проблема с запуском PostgreSQL на Arch Linux через systemctl. Job for postgresql.service failed because the control process exited with error code

Решил я значит поставить PostgreSQL на Arch Linux. Решил воспользоваться данным мануалом.

  1. Обновил пакеты командой sudo pacman -Syyu
  2. Установил postgresql командой sudo pacman -S postgresql

Тут пока всё нормально. Следующим этапом автор мануала предлагает мне ввести команду sudo -u postgres –i initdb -D '/var/lib/postgres/data'. И мне выдало ошибку:

sudo: –i: command not found

Данная проблема не давала мне возможность успешно запустить postgresql.service командой sudo systemctl start postgresql.service и кидала ошибку

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

Ответы (2 шт):

Автор решения: nellvincent

Чтобы решить данную проблему, мне предложили ввести команду systemctl status postgresql.service ввывод которой показан ниже

× postgresql.service - PostgreSQL database server
     Loaded: loaded (/usr/lib/systemd/system/postgresql.service; enabled; preset: disabled)
     Active: failed (Result: exit-code) since Thu 2022-07-21 13:20:02 MSK; 20s ago
    Process: 3945 ExecStartPre=/usr/bin/postgresql-check-db-dir ${PGROOT}/data (code=exited, status=1/FAILURE)
        CPU: 41ms

Jul 21 13:20:02 noxethome systemd[1]: Starting PostgreSQL database server...
Jul 21 13:20:02 noxethome postgres[3945]: "/var/lib/postgres/data" is missing or empty. Use a command like
Jul 21 13:20:02 noxethome postgres[3945]:   su - postgres -c "initdb --locale en_US.UTF-8 -D '/var/lib/postgres/data'"
Jul 21 13:20:02 noxethome postgres[3945]: with relevant options, to initialize the database cluster.
Jul 21 13:20:02 noxethome systemd[1]: postgresql.service: Control process exited, code=exited, status=1/FAILURE
Jul 21 13:20:02 noxethome systemd[1]: postgresql.service: Failed with result 'exit-code'.
Jul 21 13:20:02 noxethome systemd[1]: Failed to start PostgreSQL database server.

И я воспользовался командой su - postgres -c "initdb --locale en_US.UTF-8 -D '/var/lib/postgres/data'" которую можно найти на 9 строке вывода от systemctl status postgresql.service

После этого запуск postgresql.service не составил труда.

→ Ссылка
Автор решения: Мелкий

sudo -u postgres –i initdb

Обратите внимание, что символ - и символ - это разные символы. А должен быть один и тот же -. Осторожнее при копировании. Юникод нам дал множество новых символов, выглядящих похожими, но разных с точки зрения машины.

→ Ссылка