Случайно удалена привилегия суперпользователя у пользователя: postgres на postgres 10. Как вернуть его без переустановки? - PullRequest
0 голосов
/ 13 января 2020

Я случайно удалил привилегию суперпользователя у пользователя: postgres. Я не знаю, как получить другого супер пользователя. Я остановил службу postgres и попытался войти в однопользовательском режиме:

/usr/pgsql-10/bin/postgres --single -D /var/lib/pgsql/10/data

Я получаю эту ошибку:

"root" выполнение PostgreSQL сервер не разрешен. Сервер должен быть запущен под непривилегированным идентификатором пользователя, чтобы предотвратить возможную угрозу безопасности системы. См. Документацию для получения дополнительной информации о том, как правильно запустить сервер.

В Linux, как я могу запустить Postgres в однопользовательском режиме, чтобы я мог исправить привилегию суперпользователя?

Редактировать: я использовал эту ссылку для справки, но я получаю ошибку, упомянутую выше. Случайно удалены postgres привилегии суперпользователя по умолчанию - могу ли я их вернуть?

1 Ответ

1 голос
/ 13 января 2020

Я объединил решения по этим трем ссылкам:

  1. Случайно удален postgres Права суперпользователя по умолчанию - могу ли я получить его обратно?
  2. Восстановление учетной записи суперпользователя на postgres сервере
  3. «root» выполнение PostgreSQL сервера не разрешено

После остановки службы postgresql я запустил эту команду:

sudo -u postgres /usr/pgsql-10/bin/postgres --single -D /var/lib/pgsql/10/data
  1. / usr / pg sql -10 / bin / postgres - это местоположение моего postgres двоичного файла

  2. / var / lib / pgsql / 10 / data - это местоположение моего postgresql conf

Это позволило мне получить доступ к однопользовательскому режиму, где я только что набрал эту команду:

ALTER USER postgres SUPERUSER;

Так что, если кто-то испытывает тот же сценарий, что и я, попробуйте опубликованную команду.

...