# 改变骨料

ALTER AGGREGATE-更改聚合函数的定义

# 提要

ALTER AGGREGATE name ( aggregate_signature ) RENAME TO new_name
ALTER AGGREGATE name ( aggregate_signature )
                OWNER TO { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER }
ALTER AGGREGATE name ( aggregate_signature ) SET SCHEMA new_schema

where aggregate_signature is:

* |
[ argmode ] [ argname ] argtype [ , ... ] |
[ [ argmode ] [ argname ] argtype [ , ... ] ] ORDER BY [ argmode ] [ argname ] argtype [ , ... ]

# 描述

改变骨料更改聚合函数的定义。

您必须拥有要使用的聚合函数改变骨料。若要更改聚合函数的架构,还必须创造新模式的特权。要更改所有者,您还必须是新所有者角色的直接或间接成员,并且该角色必须具有创造聚合函数架构上的权限。(这些限制强制规定,更改所有者不会做任何您不能通过删除和重新创建聚合函数来做的事情。但是,超级用户无论如何都可以更改任何聚合函数的所有权。)

# 参数

名称

现有聚合函数的名称(可选架构限定)。

argmode

论点的模式:在里面可变的.如果省略,则默认为在里面.

argname

一个论点的名字。注意改变骨料实际上并不关注参数名,因为只需要参数数据类型就可以确定聚合函数的标识。

argtype

聚合函数操作的输入数据类型。要引用零参数聚合函数,请编写*代替参数规范列表。要引用有序集聚合函数,请编写订购人在直接参数和聚合参数规范之间。

新名字

聚合函数的新名称。

新老板

聚合函数的新所有者。

新的_模式

聚合函数的新模式。

# 笔记

引用有序集合聚合的推荐语法是write订购人在直接参数和聚合参数规范之间,使用与中相同的样式创建聚合.然而,省略也会起作用订购人只需在一个列表中运行直接参数和聚合参数规范。在这个缩写形式中,如果可变“任意”在直接参数列表和聚合参数列表中都使用了可变“任意”只有一次。

# 例子

重命名聚合函数的步骤米亚夫对于类型整数我的平均水平:

ALTER AGGREGATE myavg(integer) RENAME TO my_average;

更改聚合函数的所有者米亚夫对于类型整数:

ALTER AGGREGATE myavg(integer) OWNER TO joe;

移动有序集合的步骤我的百分位数使用类型为的直接参数浮动8和类型的聚合参数整数进入模式我的模式:

ALTER AGGREGATE mypercentile(float8 ORDER BY integer) SET SCHEMA myschema;

这也会起作用:

ALTER AGGREGATE mypercentile(float8, integer) SET SCHEMA myschema;

# 兼容性

没有改变骨料SQL标准中的语句。

# 另见

创建聚合, 滴集料