メニュー
Amazon Redshift
データベース開発者ガイド (API Version 2012年12月1日)

システムテーブルとビューのデータの可視性

システムテーブルとビューには、データについて 2 つのクラスの可視性 (ユーザーが表示可能、スーパーユーザーが表示可能) があります。

スーパーユーザー特権を持っているユーザーのみが、スーパーユーザーが表示可能なカテゴリのテーブルのデータを表示できます。通常のユーザーは、ユーザーが表示可能なテーブルのデータを表示できます。通常のユーザーに、スーパーユーザーが表示可能なテーブルのアクセス権を付与するには、そのテーブルに対する SELECT 権限の GRANT を、通常のユーザーに対して実行します。

デフォルトでは、ユーザーが表示可能なテーブルの大部分で、別のユーザーによって生成された行は、通常のユーザーには表示されません。通常のユーザーに無制限の SYSLOG ACCESS が付与された場合、そのユーザーは、別のユーザーによって生成された行を含む、ユーザーが表示可能なテーブルのすべての行を表示できます。詳細については、「ALTER USER」または「CREATE USER」を参照してください。STV_RECENTS および SVV_TRANSACTIONS のすべての行は、すべてのユーザーに表示されます。

注記

システムテーブルに対する無制限のアクセス権限を付与されたユーザーは、別のユーザーが生成したデータへの可視性が提供されます。たとえば、STL_QUERY と STL_QUERY_TEXT には INSERT、UPDATE、および DELETE ステートメントのフルテキストが含まれており、ユーザーが生成した機密データがこれらに含まれている可能性があります。

スーパーユーザーは、すべてのテーブルのすべての行を表示できます。通常のユーザーに、スーパーユーザーが表示可能なテーブルのアクセス権を付与するには、そのテーブルに対する SELECT 権限の GRANT を、通常のユーザーに対して実行します。

システム生成クエリのフィルタ処理

通常、SVL_QUERY_SUMMARY、SVL_QLOG など、クエリに関連するシステムテーブルとビューには、Amazon Redshift がデータベースのステータスを監視するために使用する、自動的に生成された多数のステートメントが含まれます。これらのシステム生成クエリはスーパーユーザーに表示されますが、ほとんど役立ちません。userid 列を使用するシステムテーブルまたはシステムビューからの選択時にそれらのクエリを除外するには、条件 userid > 1 を WHERE 句に追加します。(例:

select * from svl_query_summary where userid > 1