?
This document uses PHP Chinese website manual Release
ALTER USER MAPPING FOR { user_name | USER | CURRENT_USER | PUBLIC } SERVER server_name OPTIONS ( [ ADD | SET | DROP ] option ['value'] [, ... ] )
ALTER USER MAPPING 更改戶映射的定義。
外服務(wù)器的所有者可以為任何用戶更改那個服務(wù)器的戶映射。 而且,若已將服務(wù)器的USAGE權(quán)限授予該用戶,那么該用戶 可以為其自身的用戶名修改戶映射。
映射的名稱。CURRENT_USER和USER匹配當(dāng)前用戶的名稱。 PUBLIC用于匹配系統(tǒng)中已有和將來創(chuàng)建的所有用戶名。
用戶映射的服務(wù)器名稱。
為戶映射更改選項。先選項重寫所有先前聲明的選項。 ADD, SET, 和DROP聲明要執(zhí)行的操作。若未明確聲明操作,則假定為ADD。 選項名稱必須是獨一無二的;選項也要通過服務(wù)器的外數(shù)據(jù)封裝包驗證。
為戶映射bob,服務(wù)器 foo更改密碼:
ALTER USER MAPPING FOR bob SERVER foo OPTIONS (user 'bob', password 'public');
foo conforms to ISO/IEC 9075-9 (SQL/MED). There is a subtle syntax issue: The standard omits the FOR key word. Since both CREATE USER MAPPING and DROP USER MAPPING use FOR in analogous positions, and IBM DB2 (being the other major SQL/MED implementation) also requires it for ALTER USER MAPPING, PostgreSQL diverges from the standard here in the interest of consistency and interoperability. foo符合于ISO/IEC 9075-9(SQL/MED)。存在一個微妙的語法問題: 標(biāo)準(zhǔn)省略了FOR關(guān)鍵字。自CREATE USER MAPPING 和DROP USER MAPPING在類似的位置使用FOR, 并且IBM DB2 對于ALTER USER MAPPING(作為其他主要SQL/MED實現(xiàn)) 也需要它,PostgreSQL偏離在一致性和交互操作性的利益的標(biāo)準(zhǔn)。