ALTER AGGREGATE
ALTER AGGREGATE¶
修改聚集函数的定义。
- 语法
-
``` sql ALTER AGGREGATE name ( type [ , … ] ) RENAME TO new_name
ALTER AGGREGATE name ( type [ , … ] ) OWNER TO new_owner
ALTER AGGREGATE name ( type [ , … ] ) SET SCHEMA new_schema ```
- 描述
-
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
语句。 - 相关SQL命令
CREATE AGGREGATE
,DROP AGGREGATE