ALTER USER MAPPING
ALTER USER MAPPING — изменить определение сопоставления пользователей
Синтаксис
ALTER USER MAPPING FOR { имя_пользователя | USER | CURRENT_ROLE | CURRENT_USER | SESSION_USER | PUBLIC }
SERVER имя_сервера
OPTIONS ( [ ADD | SET | DROP ] параметр ['значение'] [, ... ] )Описание
ALTER USER MAPPING изменяет определение сопоставления пользователей.
Владелец стороннего сервера может изменить сопоставление любых пользователей на этом сервере. Кроме того, пользователь может изменить сопоставление для своего собственного имени пользователя, если он наделён правом USAGE на данном сервере.
Параметры
имя_пользователяИмя пользователя для сопоставления. Значения
CURRENT_ROLE,CURRENT_USERиUSERсоответствуют имени текущего пользователя. ЗначениеPUBLICсоответствует именам всех текущих и будущих пользователей системы.имя_сервераИмя сервера, для которого меняется сопоставление пользователей.
OPTIONS ( [ ADD | SET | DROP ]параметр['значение'] [, ... ] )Эти формы меняют параметры сопоставления пользователей. Новые параметры переопределяют любые определённые ранее. Возможные операции с параметрами:
ADD(добавить),SET(установить) иDROP(удалить). По умолчанию подразумеваетсяADD. Имена параметров должны быть уникальными; кроме того, они проверяются обёрткой сторонних данных.
Примеры
Изменение пароля в сопоставлении пользователя bob на сервере foo:
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, Postgres Pro в этом аспекте отклоняется от стандарта ради согласованности и совместимости.
См. также
CREATE USER MAPPING, DROP USER MAPPINGALTER USER MAPPING
ALTER USER MAPPING — change the definition of a user mapping
Synopsis
ALTER USER MAPPING FOR { user_name | USER | CURRENT_ROLE | CURRENT_USER | SESSION_USER | PUBLIC }
SERVER server_name
OPTIONS ( [ ADD | SET | DROP ] option ['value'] [, ... ] )
Description
ALTER USER MAPPING changes the definition of a user mapping.
The owner of a foreign server can alter user mappings for that server for any user. Also, a user can alter a user mapping for their own user name if USAGE privilege on the server has been granted to the user.
Parameters
user_nameUser name of the mapping.
CURRENT_ROLE,CURRENT_USER, andUSERmatch the name of the current user.PUBLICis used to match all present and future user names in the system.server_nameServer name of the user mapping.
OPTIONS ( [ ADD | SET | DROP ]option['value'] [, ... ] )Change options for the user mapping. The new options override any previously specified options.
ADD,SET, andDROPspecify the action to be performed.ADDis assumed if no operation is explicitly specified. Option names must be unique; options are also validated by the server's foreign-data wrapper.
Examples
Change the password for user mapping bob, server foo:
ALTER USER MAPPING FOR bob SERVER foo OPTIONS (SET password 'public');
Compatibility
ALTER USER MAPPING 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, Postgres Pro diverges from the standard here in the interest of consistency and interoperability.