ALTER OPERATOR — modifica a definição de um operador
ALTER OPERATORnome( {tipo_esquerdo| NONE } ,tipo_direito) OWNER TO {novo_dono| CURRENT_ROLE | CURRENT_USER | SESSION_USER } ALTER OPERATORnome( {tipo_esquerdo| NONE } ,tipo_direito) SET SCHEMAnovo_esquemaALTER OPERATORnome( {tipo_esquerdo| NONE } ,tipo_direito) SET ( { RESTRICT = {estimador_de_seletividade_de_restrição| NONE } | JOIN = {estimador_de_seletividade_de_junção| NONE } | COMMUTATOR =comutador_do_operador| NEGATOR =negador_do_operador| HASHES | MERGES } [, ... ] )
O comando ALTER OPERATOR altera a definição
de um operador.
É necessário ser o dono do operador para usar o comando
ALTER OPERATOR.
Para alterar o dono, é necessário ser capaz de executar o comando
SET ROLE para a função de banco de dados
(role) que será a nova dona,
e esta função de banco de dados precisa possuir o privilégio
CREATE no esquema do operador.
(Estas restrições impõem que alterar o dono não faz nada que
não poderia ser feito excluindo e recriando a operador.
Entretanto, um superusuário pode alterar o dono de qualquer
operador.)
nomeO nome (opcionalmente qualificado pelo esquema) do operador existente.
tipo_esquerdo
O tipo de dados do operando esquerdo do operador;
deve ser escrito NONE se o operador não tiver
operando esquerdo.
tipo_direitoO tipo de dados do operando direito do operador.
novo_donoO novo dono do operador.
novo_esquemaO novo esquema para o operador.
estimador_de_seletividade_de_restrição
O nome da função estimadora de seletividade de restrição para
este operador; deve ser escrito NONE para
remover o estimador de seletividade existente.
estimador_de_seletividade_de_junção
O nome da função estimadora de seletividade de junção para
este operador; deve ser escrito NONE
para remover o estimador de seletividade existente.
comutador_do_operadorO comutador deste operador. Só pode ser alterado se o operador não possuir um comutador existente.
negador_do_operadorO negador deste operador. Só pode ser alterado se o operador não tiver um negador existente.
HASHESIndica que este operador oferece suporte a junção por hash. Só pode ser ativado, não desativado.
MERGESIndica que este operador oferece suporte a junção por mesclagem. Só pode ser ativado, não desativado.
Veja Seção 36.14 e Seção 36.15 para obter mais informações.
Como os comutadores vêm em pares que são comutadores entre si,
ALTER OPERATOR SET COMMUTATOR também irá definir
o comutador do comutador_do_operador
como sendo o operador alvo.
Da mesma maneira, ALTER OPERATOR SET NEGATOR
também irá definir o negador do
negador_do_operador
como sendo o operador alvo.
Portanto, é necessário ser dono do operador comutador ou negador,
bem como do operador alvo.
Alterar o dono do operador personalizado a @@ b
para o tipo de dados text:
ALTER OPERATOR @@ (text, text) OWNER TO joe;
Alterar as funções de estimativa de seletividade de restrição de
junção do operador personalizado a && b
para o tipo de dados int[]:
ALTER OPERATOR && (int[], int[]) SET (RESTRICT = _int_contsel, JOIN = _int_contjoinsel);
Marcar o operador && como sendo seu
próprio comutador:
ALTER OPERATOR && (int[], int[]) SET (COMMUTATOR = &&);
Não existe o comando ALTER OPERATOR no padrão
SQL.