ALTER AGGREGATE nome ( tipo [ , ... ] ) RENAME TO novo_nome ALTER AGGREGATE nome ( tipo [ , ... ] ) OWNER TO novo_dono ALTER AGGREGATE nome ( tipo [ , ... ] ) SET SCHEMA novo_esquema
O comando ALTER AGGREGATE altera a definição de uma função de agregação.
Para utilizar o comando ALTER AGGREGATE é necessário ser o dono da função de agregação. Para alterar o esquema de uma função de agregação, também é necessário possuir o privilégio CREATE no novo esquema. Para alterar o dono, também é necessário ser um membro direto ou indireto do novo papel (role) dono, e este papel deve possuir o privilégio CREATE no esquema da função de agregação (Estas restrições garantem que alterar o dono não faz nada que não poderia ser feito removendo e recriando a função de agregação. Entretanto, de qualquer forma, um superusuário sempre pode alterar o dono de qualquer função de agregação).
O nome (opcionalmente qualificado pelo esquema) de uma função de agregação existente.
O tipo de dado de entrada sobre o qual a função de agregação opera. Para fazer referência a uma função de agregação sem argumentos, deve ser escrito * no lugar da lista de tipos de dado de entrada.
O novo nome da função de agregação.
O novo dono da função de agregação.
O novo esquema da função de agregação.
Para mudar o nome da função de agregação minhamedia para o tipo integer para minha_media:
ALTER AGGREGATE minhamedia(integer) RENAME TO minha_media;
Para mudar o dono da função de agregação minhamedia para o tipo integer para joel:
ALTER AGGREGATE minhamedia(integer) OWNER TO joel;
Para mover a função de agregação minhamedia para o tipo integer para o esquema meuesquema:
ALTER AGGREGATE minhamedia(integer) SET SCHEMA meuesquema;