Назад | Перейти на главную страницу

Postgresql не запускается без такой ошибки файла или каталога?

Я жонглировал версиями Postgresql и, кажется, выстрелил себе в ногу во время переименования чего-то. У меня на станции Ubuntu 14.04 установлены версии 9.3 и 9.4, и я хотел вернуться к версии 9.3, поэтому я проделал некоторую «файловую операцию», чтобы это произошло. Где-то по ходу дела, я думаю, я переименовал, и теперь, когда я выдаю команду:

sudo /etc/init.d/postgresql start

Я получаю следующий вывод ошибки:

* Starting PostgreSQL 9.3 database server                                                                                                             
* Failed to issue method call: Unit postgresql@9.3-main.bak.service failed to load: No such file or directory. See system logs and 'systemctl status postgresql@9.3-main.bak.service' for details.

[fail]
* Starting PostgreSQL 9.4 database server                                                                                                     
* Failed to issue method call: Unit postgresql@9.4-main.service failed to load: No such file or directory. See system logs and 'systemctl status postgresql@9.4-main.service' for details.

Я выполнил команду systemctl status, как указано в сообщении об ошибке для 9.3, и получил следующее:

postgresql@9.3-main.bak.service
Loaded: error (Reason: No such file or directory)
Active: inactive (dead)

Как видно из main.bak.service строка вывода, как-то postgresql подобрал переименование. (Однако я не вижу файла с именем «service» в дереве каталогов.)

Я заглянул в свой файл конфигурации для postgresql и нигде не вижу этого каталога:

data_directory = '/var/lib/postgresql/9.3/main'     # use data in another directory
                # (change requires restart)
hba_file = '/etc/postgresql/9.3/main/pg_hba.conf'   # host-based authentication file
                # (change requires restart)
ident_file = '/etc/postgresql/9.3/main/pg_ident.conf'   # ident configuration file
                # (change requires restart)

У меня нет установленной переменной среды PGROOT или PGDATA, поэтому я не думаю, что это так? Кроме того, как вы можете видеть из команды, которую я использую для запуска postgresql, я не указываю файл конфигурации явно. Есть ли где-то плохая символическая ссылка, о которой я не знаю? Как я могу это исправить?

Откуда postgresql берет ссылку на файл main.bak.service?

Кроме того, следует ли использовать запуск postgresql с помощью postgresql счет вместо корень (su vs sudo)? Моя установка раньше работала, поэтому я все испортил, поэтому я не думаю, что это проблема, если запуск с правами root - это плохо. Но я хотел бы знать, какую учетную запись пользователя использовать при запуске postgresql.