ALTER USER MAPPING — ユーザマップの定義を変更する
ALTER USER MAPPING FOR {user_name
| USER | CURRENT_ROLE | CURRENT_USER | SESSION_USER | PUBLIC } SERVERserver_name
OPTIONS ( [ ADD | SET | DROP ]option
['value
'] [, ... ] )
ALTER USER MAPPING
はユーザマップの定義を変更します。
外部サーバの所有者は任意のユーザに対するそのサーバ向けのユーザマップを変更することができます。
また、サーバ上でUSAGE
権限がユーザに付与されていた場合、ユーザは自身の持つユーザ名に対応するユーザマップを変更することができます。
user_name
対応付けするユーザ名です。
CURRENT_ROLE
、CURRENT_USER
とUSER
は現在のユーザ名に対応します。
PUBLIC
は現在および将来にシステム上に存在するすべてのユーザに対応させるために使用します。
server_name
ユーザマップのサーバ名です。
OPTIONS ( [ ADD | SET | DROP ] option
['value
'] [, ... ] )
ユーザマップのオプションを変更します。
新しいオプションは過去に指定されたオプションをすべて上書きします。
ADD
、SET
、DROP
は実行する動作を指定します。
明示的な動作指定がない場合、ADD
とみなされます。
オプション名は一意でなければなりません。
またオプションはサーバの外部データラッパにより検証されます。
サーバfoo
のユーザマップbob
のパスワードを変更します。
ALTER USER MAPPING FOR bob SERVER foo OPTIONS (SET password 'public');
ALTER USER MAPPING
はISO/IEC 9075-9(SQL/MED)に従います。
小さな構文上の問題があります。
標準ではFOR
キーワードを省略します。
CREATE USER MAPPING
とDROP USER MAPPING
ではFOR
を似たような位置で使用し、またIBM DB2(他の主なSQL/MED実装になっています)ではALTER USER MAPPING
で必要としていますので、PostgreSQLは、一貫性と相互運用性を目的に、標準と違いを持たせています。