ALTER ROLEはロールを変更するSQL文である。
Oracleデータベースにおいて、ロールはユーザーグループの役割を果たす。ロールに権限を付与することができ、そのロールをユーザに付与することができる。PostgreSQLにおけるロールはユーザとユーザーグループの両方にあたるので、Oracleデータベースのロールとは意味合いが異なる。
ALTER ROLE role IDENTIFIED BY password
パスワードを変更するロールの名前を指定する。
変更後のパスワードを指定する。パスワードを引用符で括る必要はない。
ロールのパスワードを変更する例を次に示す。
ALTER ROLE manager IDENTIFIED BY mellon
ロールに設定されたパスワードを削除すると、パスワードを入力しなくてもロールを使えるようになる。
ALTER ROLE manager NOT IDENTIFIED
外部ロールへ変更する。外部ロールを使用するには、OSなどの外部サービスによる認可が必要になる。
ALTER ROLE manager IDENTIFIED EXTERNALLY
グローバル・ロールへ変更する。グローバル・ロールを使用するには、エンタープライズ・ディレクトリ・サービスによる認可が必要になる。
ALTER ROLE manager IDENTIFIED GLOBALLY
ロールを変更するには、ALTER ANY ROLEシステム権限が必要である。
ただし、CREATE ROLEでロールを作成するときに ADMIN OPTION を付けていれば、誰でもそのロールを変更できる。