データベースオブジェクトのシノニムを作成します。
シノニムは、ロケーション透過性とオブジェクト抽象化を提供します。アプリケーションは、基になるオブジェクトを所有するスキーマやそのオブジェクトがどこに存在するかを知らなくても、シノニム名を参照できます。シノニムは権限の代替ではありません。ユーザーは、基になるオブジェクトに対して必要な権限を依然として持っている必要があります。
構文
CREATE [OR REPLACE] [PUBLIC] SYNONYM [schema.]syn_name
FOR object_schema.object_name[@dblink_name];パラメータ
| パラメータ | 説明 |
|---|---|
syn_name | シノニムの名前。スキーマ内で一意である必要があります。 |
schema | シノニムが存在するスキーマ。省略した場合、シノニムは search_path 内の最初の既存のスキーマに作成されます。 |
object_name | 参照されるオブジェクトの名前。 |
object_schema | 参照されるオブジェクトが存在するスキーマ。 |
dblink_name | オブジェクトがアクセスされるデータベースリンク。 |
注意事項
OR REPLACE:既存のシノニム定義を削除して再作成することなく、新しい定義に置き換えます。
PUBLIC:パブリックスキーマにシノニムを作成します。PUBLIC SYNONYM コマンドは Oracle データベースと互換性があります。以下の2つの形式は同等です。
CREATE [OR REPLACE] PUBLIC SYNONYM syn_name FOR object_schema.object_name;CREATE [OR REPLACE] SYNONYM public.syn_name FOR object_schema.object_name;サポートされるオブジェクトタイプ:PolarDB for PostgreSQL (Compatible with Oracle) は、以下のオブジェクトタイプのシノニムをサポートしています。
テーブル
ビュー
マテリアライズドビュー
シーケンス
ストアドプロシージャ
ストアドファンクション
型
データベースリンク経由でアクセス可能なオブジェクト
その他のシノニム
アクセス制御:シノニムによって参照されるオブジェクトへのアクセスは、現在のユーザーの権限によって決定されます。ユーザーは、基になるオブジェクトに対して必要な権限を持っている必要があります。
例
テーブルのプライベートシノニムの作成
CREATE SYNONYM personnel FOR polardb.emp;