SHOW DATABASE ROLES¶
指定したデータベース内のすべてのデータベースロールをリストします。
重要
アクティブなデータベースに対する権限(例: USAGE)が付与されたアクティブなロールを持つユーザーは、データベース内のデータベースロールをリストできます。ただし、これは、ユーザーによるデータベースロールを使用した SQL アクションの実行をロールが許可することを必ずしも意味するわけではありません。データベースロールを使用するには、まずそれをユーザーセッションでユーザーがアクティブ化できるアカウントロール、または階層内の下位のアカウントロールに付与する必要があります。
これは、随意アクセス制御およびロールベースアクセス制御の一部です。詳細については、 アクセス制御の概要 をご参照ください。
- こちらもご参照ください。
SHOW GRANTS、 CREATE DATABASE ROLE、 ALTER DATABASE ROLE、 DROP DATABASE ROLE
構文¶
SHOW DATABASE ROLES IN DATABASE <name>
[ LIMIT <rows> [ FROM '<name_string>' ] ]
必須パラメーター¶
nameデータベースの名前を指定します。
名前識別子を指定しないと、コマンドはエラーを返します。
オプションのパラメーター¶
LIMIT rows [ FROM 'name_string' ]オプションで、返される行の最大数を制限すると同時に、結果の「ページネーション」を有効にします。実際に返される行数は、指定された制限より少ない場合があります。例えば、既存のオブジェクトの数が指定された制限より少ないなどです。
オプションの
FROM 'name_string'サブ句は、結果の「カーソル」として効果的に機能します。これにより、指定された文字列と一致するオブジェクト名を持つ最初の行に続く指定された行数を取得できます。文字列は一重引用符で囲む必要があり、 大文字と小文字を区別します。
文字列に完全なオブジェクト名を含める必要はありません。部分的な名前がサポートされています。
デフォルト:値なし(出力に制限は適用されない)
注釈
FROM 'name_string'句とSTARTS WITH 'name_string'句の両方をサポートする SHOW コマンドの場合、同じステートメントでこれらの両方の句を組み合わせることができます。ただし、両方の条件を満たしている必要があります。そうでない場合、互いにキャンセルされ、結果が返されません。さらに、オブジェクトは名前の辞書式順序で返されるため、
FROM 'name_string'は、STARTS WITH 'name_string'によって返される行よりも辞書式の値が大きい行のみを返します。例:
... STARTS WITH 'A' LIMIT ... FROM 'B'は結果を返しません。... STARTS WITH 'B' LIMIT ... FROM 'A'は結果を返しません。... STARTS WITH 'A' LIMIT ... FROM 'AB'は結果を返します(入力文字列に一致する行がある場合)。
使用上の注意¶
このコマンドは特定のデータベース内にあるデータベースロールの表示のみをサポートします。
このコマンドを使用してアカウントのデータベースロールを表示することはできません。
このコマンドの実行には、稼働中のウェアハウスは必要ありません。
このコマンドは、現在のユーザーの現在のロールに少なくとも1つのアクセス権限が付与されているオブジェクトのみを返します。
MANAGE GRANTS アクセス権限により、所有者はアカウント内のすべてのオブジェクトを暗黙的に参照できます。デフォルトでは、アカウント管理者( ACCOUNTADMIN ロールを持つユーザー)とセキュリティ管理者( SECURITYADMIN ロールを持つユーザー)のみが MANAGE GRANTS 権限を持っています。
このコマンドの出力を後処理するには、 パイプ演算子 (
->>)または RESULT_SCAN 関数。どちらのコンストラクトも、出力を クエリできる結果セットとして扱います。For example, you can use the pipe operator or RESULT_SCAN function to select specific columns from the SHOW command output or filter the rows.
When you refer to the output columns, use double-quoted identifiers for the column names. For example, to select the output column
type, specifySELECT "type".You must use double-quoted identifiers because the output column names for SHOW commands are in lowercase. The double quotes ensure that the column names in the SELECT list or WHERE clause match the column names in the SHOW command output that was scanned.
例¶
db_role2 という最初のデータベースロールの後に、 mydb という名前のデータベースにあるデータベースロールを最大10個返します。
SHOW DATABASE ROLES IN DATABASE mydb LIMIT 10 FROM 'db_role2';