ALTER AGGREGATE

ALTER AGGREGATE

修改聚集函数的定义。

概要

ALTER AGGREGATE name ( type [ , ... ] ) RENAME TO new_name

ALTER AGGREGATE name ( type [ , ... ] ) OWNER TO new_owner

ALTER AGGREGATE name ( type [ , ... ] ) SET SCHEMA new_schema

Description

ALTER AGGREGATE 用来修改一个聚集函数的定义

你必须是该聚集函数的所有者才能使用ALTER AGGREGATE. 要更改聚集函数的模式, 你还必须拥有新模式的 CREATE 权限。要更改聚集函数的所有者,你还必须是新角色的直接或者成员,而且新角色必须在聚集函数的模式上面拥有 CREATE 权限。(这些限制强制要求拥有者不能通过丢弃并重建该聚集函数来做任何不能做的事情。然而,超级用户可以改变任何聚合函数的所有权。)

参数

name
现有聚集函数的名称(可以是限定模式)
type
聚集函数能运行的输入数据类型。要引用零参数聚合函数,写入*代替输入数据类型的列表。
new_name
聚集函数的新名称。
new_owner
聚集函数的新所有者。
new_schema
聚集函数的新模式名

示例

integer 类型的聚集函数myavg 重命名为 my_average:

ALTER AGGREGATE myavg(integer) RENAME TO my_average;

integer 类型的聚集函数 myavg 的所有者改为 joe:

ALTER AGGREGATE myavg(integer) OWNER TO joe;

integer 类型的聚集函数myavg 模式修改为 myschema:

ALTER AGGREGATE myavg(integer) SET SCHEMA myschema;

兼容性

SQL标准中没有ALTER AGGREGATE 语句。