ALTER AGGREGATE
Name
ALTER AGGREGATE -- 修改一个聚集函数的定义
Synopsis
ALTER AGGREGATE _name_ ( _argtype_ [ , ... ] ) RENAME TO _new_name_
ALTER AGGREGATE _name_ ( _argtype_ [ , ... ] ) OWNER TO _new_owner_
ALTER AGGREGATE _name_ ( _argtype_ [ , ... ] ) SET SCHEMA _new_schema_
描述
ALTER AGGREGATE
改变一个聚集函数的定义。
要使用 ALTER AGGREGATE
,你必须是该聚集函数的所有者。 要改变一个聚集函数的模式,你必须在新模式上有 CREATE
权限。 要改变所有者,你必须是新所有角色的一个直接或间接成员,并且该角色必须在聚集函数的模式上有 CREATE
权限。 (这些限制强制了修改该所有者不会做任何通过删除和重建聚集函数不能做的事情。不过,超级用户可以用任何方法任意更改聚集函数的所属关系。)
参数
_name_
现有的聚集函数的名称(可以有模式修饰)。
_argtype_
聚集函数操作的输入数据类型。要引用一个零参数聚集函数,可以写入*
代替输入数据类型列表。
_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
语句。