Как переименовать стандартного суперпользователя postgres в «root»? - PullRequest
10 голосов
/ 07 марта 2012

Я сейчас вхожу в PostgreSQL, используя psql -U postgres.Как переименовать пользователя postgres в root?

Если я уже вошел в систему как postgres, то попытка ALTER USER postgres RENAME TO root выдаст ERROR: session user cannot be renamed.

Возможно липереименовать пользователя без входа в систему как postgres user?Я не думаю, что у меня есть какой-либо другой суперпользователь, поскольку это свежая установка PostgreSQL.

Кстати, я использую Gentoo на Amazon EC2.

Ответы [ 3 ]

15 голосов
/ 07 марта 2012

Вы можете просто создать нового суперпользователя postgres с именем root, войдя в систему как пользователь postgres и набрав (в оболочке):

createuser --superuser root
psql> create database root owner root

После этого, войдя в систему как пользователь root, выдолжен иметь возможность делать то, что вы хотите с пользователем postgres.

4 голосов
/ 07 марта 2012

А как же:

ALTER ROLE postgres RENAME TO root;

используя другую роль суперпользователя?

2 голосов
/ 07 марта 2012

Вы можете попробовать

update pg_authid set rolname ='root' where rolname = 'postgres';

Но учтите, что ручное копирование системных каталогов всегда немного опасно.

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