ALTER USER MAPPING — modifica a definição de um mapeamento de usuário
ALTER USER MAPPING FOR
{ nome_do_usuário
| USER
| CURRENT_ROLE
| CURRENT_USER
| SESSION_USER
| PUBLIC
}
SERVER nome_do_servidor
OPTIONS ( [ ADD | SET | DROP ] opção ['valor']
[, ... ] )
O comando ALTER USER MAPPING altera a definição
de um mapeamento de usuário.
O dono do servidor estrangeiro pode alterar os mapeamentos de usuário
desse servidor para qualquer usuário.
Além disso, um usuário pode alterar o mapeamento de usuário para o
seu próprio nome de usuário, se tiver sido concedido o privilégio
USAGE no servidor ao usuário.
nome_do_usuário
O nome do usuário no mapeamento.
Os termos CURRENT_ROLE,
CURRENT_USER, e USER,
correspondem ao nome do usuário corrente.
O termo PUBLIC é usado para corresponder a
todos os nomes de usuário correntes e futuros no sistema.
nome_do_servidorO nome do servidor no mapeamento do usuário.
OPTIONS ( [ ADD | SET | DROP ] opção ['valor'] [, ... ] )
Altera as opções para o mapeamento do usuário.
As novas opções prevalecem sobre quaisquer opções especificadas
anteriormente.
ADD, SET, e
DROP, especificam a ação a ser executada.
É assumido ADD, se nenhuma ação for
especificada explicitamente.
Os nomes das opções devem ser únicos; os nomes e valores também
são validados usando a função validadora do empacotador de dados
estrangeiros, se houver.
Alterar a senha para o mapeamento do usuário bob,
no servidor foo:
ALTER USER MAPPING FOR bob SERVER foo OPTIONS (SET password 'newsecret');
O comando CREATE USER MAPPING
está em conformidade com o padrão
ISO/IEC 9075-9 (SQL/MED).
Há um problema sutil de sintaxe:
O padrão omite a palavra-chave FOR.
Uma vez que tanto CREATE USER MAPPING quanto
DROP USER MAPPING usam o FOR
em posições análogas, e o
IBM DB2 (que é outra grande implementação de SQL/MED)
também o requer para ALTER USER MAPPING, o
PostgreSQL diverge do padrão aqui no
interesse de consistência e interoperabilidade.