メニュー
Amazon Redshift
データベース開発者ガイド (API Version 2012-12-01)

CREATE SCHEMA

現在のデータベースの新しいスキーマを定義します。

構文

Copy
CREATE SCHEMA [ IF NOT EXISTS ] schema_name [ AUTHORIZATION username ] [ schema_element [ ... ] ] CREATE SCHEMA AUTHORIZATION username [ schema_element [ ... ] ]

Parameters

IF NOT EXISTS

指定されたスキーマが既に存在する場合、コマンドはエラーで終了するのではなく、何も変更しないで、スキーマが存在するというメッセージを返すことを示す句。

この句は、CREATE SCHEMA で既存のスキーマを作成しようとしてもスクリプトが失敗しないため、スクリプトを作成する際に便利です。

schema_name

新しいスキーマの名前。有効な名前の詳細については、「名前と識別子」を参照してください。

注記

search_path 設定パラメータのスキーマリストによって、スキーマ名を指定せずに同じ名前のオブジェクトが参照されたときに、優先するオブジェクトが決まります。

AUTHORIZATION

指定されたユーザーに所有権を付与する句。

username

スキーマ所有者の名前。

schema_element

スキーマ内に作成する 1 つまたは複数のオブジェクトの定義。

制限

Amazon Redshift では、スキーマに次の制限があります。

  • スキーマの数は 1 つのデータベースにつき最大 9900 個です。

次の例では、US_SALES というスキーマを作成し、所有権をユーザー DWUSER に付与します。

Copy
create schema us_sales authorization dwuser;

新しいスキーマを表示するには、次に示すように PG_NAMESPACE カタログテーブルに対してクエリを実行します。

Copy
select nspname as schema, usename as owner from pg_namespace, pg_user where pg_namespace.nspowner = pg_user.usesysid and pg_user.usename ='dwuser'; name | owner ----------+---------- us_sales | dwuser (1 row)

次の例では、US_SALES スキーマを作成します。そのスキーマが既に存在する場合は、何もしないでメッセージを返します。

Copy
create schema if not exists us_sales;

このページの内容: