ALTER USER MAPPING — изменить определение сопоставления пользователей
ALTER USER MAPPING FOR {имя_пользователя
| USER | CURRENT_USER | SESSION_USER | PUBLIC } SERVERимя_сервера
OPTIONS ( [ ADD | SET | DROP ]параметр
['значение
'] [, ... ] )
ALTER USER MAPPING
изменяет определение сопоставления пользователей.
Владелец стороннего сервера может изменить сопоставление любых пользователей на этом сервере. Кроме того, пользователь может изменить сопоставление для своего собственного имени пользователя, если он наделён правом USAGE
на данном сервере.
имя_пользователя
Имя пользователя для сопоставления. Значения 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
, PostgreSQL в этом аспекте отклоняется от стандарта ради согласованности и совместимости.