VastbaseE100

基于开源技术的HTAP数据库管理系统。性能优异,稳定可靠,提供诸多专属领域特性。

Menu

ALTER AGGREGATE

功能描述

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

语法格式

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

其中 aggregate_signature 是:

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

说明

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

您必须拥有聚合函数才能使用 ALTER AGGREGATE。要更改聚合函数的架构,还必须对新架构具有 CREATE权限。要更改所有者,您还必须是新拥有角色的直接或间接成员,并且该角色必须对聚合函数的架构具有CREATE 权限。(这些限制强制要求更改所有者不会通过删除和重新创建聚合函数来执行任何操作。但是,超级用户无论如何都可以更改任何聚合函数的所有权。)

参数说明

  • name

    现有聚合函数的名称(可选择模式限定)。

  • argmode

    参数说明的模式: IN 或 VARIADIC 。如果省略,则默认为 IN 。

  • argname

    参数说明的名称。请注意, ALTER AGGREGATE 实际上并不关注参数说明名称,因为只有参数说明数据类型需要确定聚合函数的身份。

  • argtype

    聚合函数在其上运行的输入数据类型。要引用零参数说明聚合函数,请写入 *来代替参数说明规范列表。要引用有序集合聚合函数,请在直接和聚合参数说明规范之间写入ORDER BY 。

  • new_name

    聚合函数的新名称。

  • new_owner

    聚合函数的新所有者。

  • new_schema

    聚合函数的新架构。

注意事项

引用有序集合的推荐语法是在直接和聚合参数说明规范之间写入 ORDER BY,其风格与 CREATE AGGREGATE中的相同。但是,它也可以省略 ORDER BY,只需将直接和聚合的参数说明规范运行到一个列表中。在这种缩写形式中,如果在直接和聚合参数说明列表中都使用VARIADIC “any” ,则只写一次 VARIADIC “any” 。

示例

要将类型 integer 的聚合函数 myavg 重命名为 my_average :

ALTER AGGREGATE myavg(integer) RENAME TO my_average; 

要将类型 integer 的聚合函数 myavg 的所有者更改为 joe :

ALTER AGGREGATE myavg(integer) OWNER TO joe; 

要将有序集合 mypercentile 与 float8 类型的直接参数说明和类型 integer 的聚合参数说明一起移动到模式 myschema 中:

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

这也可以:

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