Я хотел убрать роли в моей базе данных postgreSQL, когда я наткнулся на одну роль, которую я никогда сознательно не создал. Я предположил, что это имеет какое-то отношение к пользователю Linux, который размещает базу данных, но странно, что система притворяется, что пользователь не существует, когда я пытаюсь изменить или отбросить роль.PostgreSQL: Роль явно существует, но не существует?
select * from pg_roles;
rolname | rolsuper | rolinherit | rolcreaterole | rolcreatedb | rolcatupdate | rolcanlogin | rolreplication | rolconnlimit | rolpassword | rolvaliduntil | rolconfig | oid
---------------+----------+------------+---------------+-------------+--------------+-------------+----------------+--------------+-------------+---------------+-----------+-------
postgreSQL | t | t | t | t | t | t | f | -1 | ******** | | | 16387
postgres | t | t | t | t | t | t | t | -1 | ******** | | | 10
standard_wimi | f | t | f | f | f | f | f | -1 | ******** | | | 17992 enter code here
Итак, postgres - мой суперпользователь, а standard_wimi - роль, которую я только что создал. Сначала я попытался отбросить роль postgreSQL, потому что кажется, что мне это не нужно, и поэтому я думаю, что этого не должно быть (с такими привилегиями). Но любая попытка отбросить или изменить роль дает следующее:
ALTER ROLE postgreSQL NOLOGIN;
ERROR: role "postgresql" does not exist
Может кто-нибудь, пожалуйста, объясните мне это поведение? Откуда взялась эта роль и почему psql притворяется, что ее не существует?
Заранее благодарен!