CREATE USER MAPPING — 外部サーバのユーザマップを新しく定義する
CREATE USER MAPPING [ IF NOT EXISTS ] FOR {user_name
| USER | CURRENT_ROLE | CURRENT_USER | PUBLIC } SERVERserver_name
[ OPTIONS (option
'value
' [ , ... ] ) ]
CREATE USER MAPPING
は外部サーバとユーザの対応付けを定義します。
ユーザマップは通常接続情報をカプセル化し、外部データラッパーは外部データリソースにアクセスするためにこの情報と外部サーバによりカプセル化した情報を使用します。
外部サーバの所有者は任意のユーザに対するそのサーバ向けのユーザマップを作成することができます。
また、サーバ上でUSAGE
権限がユーザに付与されている場合、ユーザは自身の持つユーザ名に対応するユーザマップを作成することができます。
IF NOT EXISTS
指定のユーザから指定の外部サーバへのマッピングが存在する場合にエラーを発生させません。 この場合、注意メッセージが発行されます。 既存のユーザマッピングが、作成しようとしていたものと類似するものかどうか、全く保証されないことに注意してください。
user_name
外部サーバに対応付けされる既存のユーザ名です。
CURRENT_ROLE
、CURRENT_USER
とUSER
は現在のユーザの名前に対応します。
PUBLIC
が指定された場合、ユーザ指定がないマップが適用されたときに使用される公開マップと呼ばれるものが作成されます。
server_name
ユーザマップを作成する対象の既存のサーバの名前です。
OPTIONS ( option
'value
' [, ... ] )
この句はユーザマップのオプションを指定します。 通常オプションはマップにおける実際のユーザ名とパスワードを定義します。 オプション名は一意でなければなりません。 使用できるオプションの名前と値は、サーバの外部データラッパーにより異なります。
ユーザbob
とサーバfoo
とのユーザマップを作成します。
CREATE USER MAPPING FOR bob SERVER foo OPTIONS (user 'bob', password 'secret');
CREATE USER MAPPING
はISO/IEC 9075-9 (SQL/MED)に従います。