PostgreSQL | Role (User) ROLE Creation | Rename a Role (ALTER ROLE)

You can rename a created role by using the ALTER ROLE command. This page explains how to rename a role.

Rename a Role

To rename a role, use the ALTER ROLE command. The syntax is as follows.

ALTER ROLE name RENAME TO new_name

This changes the name of the target role (role_name) to the new name (new_name). You cannot change the name of the current session user, which is the role used when connecting. In other words, you cannot rename yourself.

A superuser can rename all roles. A role with the CREATEROLE privilege can rename roles that are not superusers.

If the client authentication method uses md5, renaming a role clears its connection password, so it must be set again.

–

Now try it in practice. Connect to PostgreSQL as the superuser postgres and rename the created kuma role.

First, check the list of currently created roles.

postgres=> \du
                                 롤 목록
  롤 이름  |                      속성                      | 소속 그룹:
-----------+------------------------------------------------+------------
 kuma      |                                                | {}
 postgres  | 슈퍼유저, 롤 만들기, DB 만들기, 복제, RLS 통과 | {}
 superkuma | DB 만들기                                     +| {}
           | 3개 연결                                       |


postgres=>

Currently, three roles have been created.

Now rename the kuma role to mykuma. Run the following.

devkuma=# alter role kuma rename to mykuma;
알림:  롤 이름이 변경 되어 MD5 암호를 지웠습니다
ALTER ROLE
devkuma=#

The role name has been changed to mykuma. Because this role used md5 as its authentication method, its password was cleared, as indicated by the message “알림: 롤 이름이 변경 되어 MD5 암호를 지웠습니다”.

Use the ALTER ROLE command to set the connection password again.

devkuma=# alter role mykuma with password 'mybear';
ALTER ROLE
devkuma=#

The connection password for the mykuma role has been set.

Now check the list of created roles again.

devkuma=# \du
                                 롤 목록
  롤 이름  |                      속성                      | 소속 그룹:
-----------+------------------------------------------------+------------
 mykuma    |                                                | {}
 postgres  | 슈퍼유저, 롤 만들기, DB 만들기, 복제, RLS 통과 | {}
 superkuma | DB 만들기                                     +| {}
           | 3개 연결                                       |


devkuma=#

You can confirm that the kuma role has been renamed to mykuma. The attributes set on the role remain unchanged.

–

This page explained how to rename a created role by using the ALTER ROLE command.