ALTER DATASHARE - Amazon Redshift

ALTER DATASHARE

データ共有の定義を変更します。ALTER DATASHARE を使用して、オブジェクトを追加または削除できます。追加または削除するデータ共有オブジェクトに対して必要な許可を持つデータ共有の所有者は、データ共有を変更できます。

Syntax

次の構文は、データ共有に対して、オブジェクトを追加または削除する方法を示しています。

ALTER DATASHARE datashare_name { ADD | REMOVE } { 
TABLE schema.table [, ...] 
| SCHEMA schema [, ...] 
| FUNCTION schema.sql_udf [, ...] 
| ALL TABLES IN SCHEMA schema [, ...] 
| ALL FUNCTIONS IN SCHEMA schema [, ...] }

次の構文は、データ共有のプロパティを設定する方法を示しています。

ALTER DATASHARE datashare_name { 
[ SET PUBLICACCESSIBLE [=] TRUE | FALSE ] 
[ SET INCLUDENEW [=] TRUE | FALSE FOR SCHEMA schema ] }

Parameters

datashare_name

変更するデータ共有の名前。

ADD | REMOVE

データ共有にオブジェクトを追加するか、データ共有からオブジェクトを削除するかを指定する句。

TABLE schema.table [, ...]

データ共有に追加する、指定されたスキーマ内のテーブルまたはビューの名前。

SCHEMA schema [, ...]

データ共有に追加するスキーマの名前。

FUNCTION schema.sql_udf [, ...]

データ共有に追加するユーザー定義 SQL 関数の名前。

ALL TABLES IN SCHEMA schema [, ...]

指定されたスキーマ内のすべてのテーブルをデータ共有に追加するかどうかを指定する句。

ALL FUNCTIONS IN SCHEMA schema [, ...] }

指定されたスキーマ内のすべての関数をデータ共有に追加することを指定する句。

[ SET PUBLICACCESSIBLE [=] TRUE | FALSE ]

公開でアクセス可能なクラスターとデータ共有を共有できるかどうかを指定する句。

[ SET INCLUDENEW [=] TRUE | FALSE FOR SCHEMA schema ]

指定したスキーマで作成される将来のテーブル、ビュー、または SQL ユーザー定義関数 (UDF) をデータ共有に追加するかどうかを指定する句。指定したスキーマにある現在のテーブル、ビュー、または SQL UDF は、データ共有に追加されません。データ共有とスキーマの各ペアについて、このプロパティを変更できるのはスーパーユーザーのみです。INCLUDENEW 句はデフォルトで false を返します。

使用に関する注意事項

次のユーザーは、データ共有を変更できます。

  • スーパーユーザー

  • データ共有の所有者

  • データ共有に対する ALTER または ALL 権限を持つユーザー

特定のオブジェクトをデータ共有に追加するには、これらのユーザーはオブジェクトに対する権限を持っている必要があります。ユーザーはオブジェクトの所有者であるか、オブジェクトに対する SELECT、USAGE、ALL 権限を持っている必要があります。

スキーマ、テーブル、通常のビュー、遅延バインディングビュー、マテリアライズドビュー、および SQL ユーザー定義関数 (UDF) を共有できます。スキーマに他のオブジェクトを追加する前に、まずスキーマをデータ共有に追加します。スキーマを追加する場合、Amazon Redshift はその下にすべてのオブジェクトを追加するわけではありません。それらを明示的に追加する必要があります。

Examples

次の例では、public.tickit_sales_redshift テーブルをデータ共有 SalesShare に追加します。

ALTER DATASHARE SalesShare ADD TABLE public.tickit_sales_redshift;

次の例では、すべてのテーブルをデータ共有 SalesShare に追加します。

ALTER DATASHARE SalesShare ADD ALL TABLES IN SCHEMA PUBLIC;

次の例では、public.tickit_sales_redshift テーブルをデータ共有 SalesShare から削除します。

ALTER DATASHARE SalesShare REMOVE TABLE public.tickit_sales_redshift;