Как переименовать суперпользователя 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.
вы можете попробовать
update pg_authid set rolname ='root' where rolname = 'postgres';
но имейте в виду, что жевать системные каталоги вручную всегда немного опасно.