SET ROLE
説明
現在のセッションで、ロールとその関連するすべての権限およびネストされたロールをアクティブにします。ロールがアクティブ化された後、ユーザーはこのロールを使用して操作を実行できます。
このコマンドを実行した後、select is_role_in_session("<role_name>"); を実行して、このロールが現在のセッションでアクティブかどうかを確認できます。
このコマンドは v3.0 からサポートされています。
使用上の注意
ユーザーは、自分に割り当てられたロールのみをアクティブ化できます。
ユーザーのロールを照会するには、 SHOW GRANTS を使用します。
現在のユーザーのアクティブなロールを照会するには、SELECT CURRENT_ROLE() を使用します。詳細については、 current_role を参照してください。
構文
-- 特定のロールをアクティブにし、このロールとして操作を実行します。
SET ROLE <role_name>[,<role_name>,..];
-- 特定のロールを除く、ユーザーのすべてのロールをアクティブにします。
SET ROLE ALL EXCEPT <role_name>[,<role_name>,..];
-- ユーザーのすべてのロールをアクティブにします。
SET ROLE ALL;
パラメータ
role_name: ロール名