ALTER USER MAPPING — ユーザマップの定義を変更する
ALTER USER MAPPING FOR { user_name | USER | CURRENT_USER | SESSION_USER | PUBLIC }
SERVER server_name
OPTIONS ( [ ADD | SET | DROP ] option ['value'] [, ... ] )
ALTER USER MAPPINGはユーザマップの定義を変更します。
外部サーバの所有者は任意のユーザに対するそのサーバ向けのユーザマップを変更することができます。
また、サーバ上でUSAGE権限がユーザに付与されていた場合、ユーザは自身の持つユーザ名に対応するユーザマップを変更することができます。
user_name
対応付けするユーザ名です。
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は、一貫性と相互運用性を目的に、標準と違いを持たせています。