Как переименовать суперпользователя postgres по умолчанию в "root"?

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

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

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

кстати, я запускаю Gentoo на Amazon EC2.

3 ответов


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

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

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


о:

ALTER ROLE postgres RENAME TO root;

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


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

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

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