?
本文檔使用 php中文網(wǎng)手冊(cè) 發(fā)布
ALTER USER MAPPING FOR { user_name | USER | CURRENT_USER | PUBLIC } SERVER server_name OPTIONS ( [ ADD | SET | DROP ] option ['value'] [, ... ] )
ALTER USER MAPPING 更改戶映射的定義。
外服務(wù)器的所有者可以為任何用戶更改那個(gè)服務(wù)器的戶映射。 而且,若已將服務(wù)器的USAGE權(quán)限授予該用戶,那么該用戶 可以為其自身的用戶名修改戶映射。
映射的名稱(chēng)。CURRENT_USER和USER匹配當(dāng)前用戶的名稱(chēng)。 PUBLIC用于匹配系統(tǒng)中已有和將來(lái)創(chuàng)建的所有用戶名。
用戶映射的服務(wù)器名稱(chēng)。
為戶映射更改選項(xiàng)。先選項(xiàng)重寫(xiě)所有先前聲明的選項(xiàng)。 ADD, SET, 和DROP聲明要執(zhí)行的操作。若未明確聲明操作,則假定為ADD。 選項(xiàng)名稱(chēng)必須是獨(dú)一無(wú)二的;選項(xiàng)也要通過(guò)服務(wù)器的外數(shù)據(jù)封裝包驗(yàn)證。
為戶映射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)。存在一個(gè)微妙的語(yǔ)法問(wèn)題: 標(biāo)準(zhǔn)省略了FOR關(guān)鍵字。自CREATE USER MAPPING 和DROP USER MAPPING在類(lèi)似的位置使用FOR, 并且IBM DB2 對(duì)于ALTER USER MAPPING(作為其他主要SQL/MED實(shí)現(xiàn)) 也需要它,PostgreSQL偏離在一致性和交互操作性的利益的標(biāo)準(zhǔn)。