VastbaseE100

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

Menu

ALTER EXTENSION

ALTER EXTENSION - 更改扩展名的定义

语法格式

ALTER EXTENSION name UPDATE [ TO new_version ]
ALTER EXTENSION name SET SCHEMA new_schema
ALTER EXTENSION name ADD member_object
ALTER EXTENSION name DROP member_object

其中 member_object 是:

  ACCESS METHOD object_name |
  AGGREGATE aggregate_name ( aggregate_signature ) |
  CAST (source_type AS target_type) |
  COLLATION object_name |
  CONVERSION object_name |
  DOMAIN object_name |
  EVENT TRIGGER object_name |
  FOREIGN DATA WRAPPER object_name |
  FOREIGN TABLE object_name |
  FUNCTION function_name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ] |
  MATERIALIZED VIEW object_name |
  OPERATOR operator_name (left_type, right_type) |
  OPERATOR CLASS object_name USING index_method |
  OPERATOR FAMILY object_name USING index_method |
  [ PROCEDURAL ] LANGUAGE object_name |
  PROCEDURE procedure_name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ] |
  ROUTINE routine_name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ] |
  SCHEMA object_name |
  SEQUENCE object_name |
  SERVER object_name |
  TABLE object_name |
  TEXT SEARCH CONFIGURATION object_name |
  TEXT SEARCH DICTIONARY object_name |
  TEXT SEARCH PARSER object_name |
  TEXT SEARCH TEMPLATE object_name |
  TRANSFORM FOR type_name LANGUAGE lang_name |
  TYPE object_name |
  VIEW object_name

并且 aggregate_signature 是:

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

说明

ALTER EXTENSION 更改已安装扩展的定义。有几个子表单:

  • UPDATE

    此表单将扩展更新为更新版本。扩展必须提供合适的更新脚本(或一系列脚本),可以将当前安装的版本修改为所请求的版本。

  • SET SCHEMA

    此表单将扩展的对象移动到另一个模式中。扩展必须可重定位才能使此命令成功。

  • ADD member_object

    此表单将现有对象添加到扩展名。这在扩展更新脚本中非常有用。该对象随后将被视为延期的成员;值得注意的是,它只能通过删除扩展名来删除。

  • DROP member_object

    此表单从扩展中删除成员对象。这在扩展更新脚本中非常有用。该对象不会被删除,只与扩展名取消关联。

您必须拥有该扩展名才能使用 ALTER EXTENSION 。 ADD / DROP表单也需要添加/删除对象的所有权。

参数说明

  • name

    已安装扩展的名称。

  • new_version

    所需的扩展新版本。这可以写为标识符或字符串文字。如果未指定, ALTER EXTENSION UPDATE 会尝试更新为扩展程序控制文件中显示为默认版本的任何内容。

  • new_schema

    扩展的新架构。

  • object_name/aggregate_name/function_name/operator_name/procedure_name /routine_name

    要添加到扩展名或从扩展名中删除的对象的名称。表,聚合,域,外表,函数,运算符,运算符类,运算符系列,过程,例程,序列,文本搜索对象,类型和视图的名称可以是模式限定的。

  • source_type

    演员表的源数据类型的名称。

  • target_type

    演员表的目标数据类型的名称。

  • argmode

    函数,过程或聚合参数说明的模式: IN , OUT , INOUT 或 VARIADIC。如果省略,则默认为 IN 。请注意, ALTER EXTENSION 实际上并未关注 OUT参数说明,因为只需要输入参数说明来确定函数的标识。因此,列出 IN , INOUT和 VARIADIC 参数说明就足够了。

  • argname

    函数,过程或聚合参数说明的名称。请注意, ALTER EXTENSION实际上并不关注参数说明名称,因为只需要参数说明数据类型来确定函数的标识。

  • argtype

    函数,过程或聚合参数说明的数据类型。

  • left_type/right_type

    运算符参数说明的数据类型(可选择模式限定)。为前缀或后缀运算符的缺失参数说明写NONE 。

  • PROCEDURAL

    这是一个噪音词。

  • type_name

    转换的数据类型的名称。

  • lang_name

    转换语言的名称。

示例

要将 hstore 扩展更新为2.0版:

ALTER EXTENSION hstore UPDATE TO '2.0'; 

要将 hstore 扩展的架构更改为 utils :

ALTER EXTENSION hstore SET SCHEMA utils; 

要将现有函数添加到 hstore 扩展名:

ALTER EXTENSION hstore ADD FUNCTION populate_record(anyelement, hstore);