ALTER EXTENSION
更改扩展的定义
英文手册覆盖始于 PostgreSQL 6.4. 来源历史与运行验证各自保留独立版本边界。
当前阅读 PG 18·选择有来源记录的版本
- anchor
- SQL-ALTEREXTENSION
- file
- sql-alterextension.html
- lang
- en
- name
- ALTER EXTENSION
- purpose
- change the definition of an extension
- purpose zh
- 未知
- sections same as
- 未知
- slug
- 18
语法
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
where member_object is:
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
and aggregate_signature is:
* |
[ argmode ] [ argname ] argtype [ , ... ] |
[ [ argmode ] [ argname ] argtype [ , ... ] ] ORDER BY [ argmode ] [ argname ] argtype [ , ... ]语法图
从左向右阅读;分支表示选择,旁路表示可选,循环表示重复。点击带下划线的参数可打开对应规则。
ALTER EXTENSION · 语法 2
ALTER EXTENSION · 语法 3
ALTER EXTENSION · 语法 4
member_object
aggregate_signature
版本定义 PG 18
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这种形式将扩展的对象移入另一个模式。要使该命令成功,扩展必须是可重定位的。
ADDmember_object这种形式将一个现有对象加入扩展。这主要在扩展更新脚本中有用。该对象随后将被视为扩展的成员;特别是,只能通过删除该扩展来删除它。
DROPmember_object这种形式从扩展中移除一个成员对象。这主要在扩展更新脚本中有用。该对象不会被删除,而只是与扩展解除关联。
有关这些操作的更多信息,见第 36.17 节。
要使用ALTER EXTENSION,你必须拥有该扩展。ADD/DROP形式还要求你拥有被添加/移除对象的所有权。
参数
name一个已安装扩展的名称。
new_version扩展要更新到的新版本。它可以写成标识符或字符串常量。如果未指定,
ALTER EXTENSION UPDATE会尝试更新到该扩展控制文件中标明的默认版本。new_schema扩展的新模式。
object_nameaggregate_namefunction_nameoperator_nameprocedure_nameroutine_name要添加到扩展中或从扩展中移除的对象名称。表、聚合、域、外部表、函数、操作符、操作符类、操作符族、过程、例程、序列、文本检索对象、类型和视图的名称可以带模式限定。
source_type类型转换的源数据类型的名称。
target_type类型转换的目标数据类型的名称。
argmode函数、过程或聚合函数参数的模式:
IN、OUT、INOUT或VARIADIC。如果省略,默认值是IN。注意ALTER EXTENSION实际上并不关心OUT参数,因为确定函数身份只需要输入参数。因此,列出IN、INOUT和VARIADIC参数就足够了。argname函数、过程或聚合函数参数的名称。注意
ALTER EXTENSION实际上并不关心参数名称,因为确定函数身份只需要参数数据类型。argtype函数、过程或聚合函数参数的数据类型。
left_typeright_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);
兼容性
ALTER EXTENSION是一个PostgreSQL 扩展。
另见
CREATE EXTENSION, DROP EXTENSION比较版本
完整来源事实
synopsis html
ALTER EXTENSION <em class="replaceable"><code>name</code></em> UPDATE [ TO <em class="replaceable"><code>new_version</code></em> ] ALTER EXTENSION <em class="replaceable"><code>name</code></em> SET SCHEMA <em class="replaceable"><code>new_schema</code></em> ALTER EXTENSION <em class="replaceable"><code>name</code></em> ADD <em class="replaceable"><code>member_object</code></em> ALTER EXTENSION <em class="replaceable"><code>name</code></em> DROP <em class="replaceable"><code>member_object</code></em> <span class="phrase">where <em class="replaceable"><code>member_object</code></em> is:</span> ACCESS METHOD <em class="replaceable"><code>object_name</code></em> | AGGREGATE <em class="replaceable"><code>aggregate_name</code></em> ( <em class="replaceable"><code>aggregate_signature</code></em> ) | CAST (<em class="replaceable"><code>source_type</code></em> AS <em class="replaceable"><code>target_type</code></em>) | COLLATION <em class="replaceable"><code>object_name</code></em> | CONVERSION <em class="replaceable"><code>object_name</code></em> | DOMAIN <em class="replaceable"><code>object_name</code></em> | EVENT TRIGGER <em class="replaceable"><code>object_name</code></em> | FOREIGN DATA WRAPPER <em class="replaceable"><code>object_name</code></em> | FOREIGN TABLE <em class="replaceable"><code>object_name</code></em> | FUNCTION <em class="replaceable"><code>function_name</code></em> [ ( [ [ <em class="replaceable"><code>argmode</code></em> ] [ <em class="replaceable"><code>argname</code></em> ] <em class="replaceable"><code>argtype</code></em> [, ...] ] ) ] | MATERIALIZED VIEW <em class="replaceable"><code>object_name</code></em> | OPERATOR <em class="replaceable"><code>operator_name</code></em> (<em class="replaceable"><code>left_type</code></em>, <em class="replaceable"><code>right_type</code></em>) | OPERATOR CLASS <em class="replaceable"><code>object_name</code></em> USING <em class="replaceable"><code>index_method</code></em> | OPERATOR FAMILY <em class="replaceable"><code>object_name</code></em> USING <em class="replaceable"><code>index_method</code></em> | [ PROCEDURAL ] LANGUAGE <em class="replaceable"><code>object_name</code></em> | PROCEDURE <em class="replaceable"><code>procedure_name</code></em> [ ( [ [ <em class="replaceable"><code>argmode</code></em> ] [ <em class="replaceable"><code>argname</code></em> ] <em class="replaceable"><code>argtype</code></em> [, ...] ] ) ] | ROUTINE <em class="replaceable"><code>routine_name</code></em> [ ( [ [ <em class="replaceable"><code>argmode</code></em> ] [ <em class="replaceable"><code>argname</code></em> ] <em class="replaceable"><code>argtype</code></em> [, ...] ] ) ] | SCHEMA <em class="replaceable"><code>object_name</code></em> | SEQUENCE <em class="replaceable"><code>object_name</code></em> | SERVER <em class="replaceable"><code>object_name</code></em> | TABLE <em class="replaceable"><code>object_name</code></em> | TEXT SEARCH CONFIGURATION <em class="replaceable"><code>object_name</code></em> | TEXT SEARCH DICTIONARY <em class="replaceable"><code>object_name</code></em> | TEXT SEARCH PARSER <em class="replaceable"><code>object_name</code></em> | TEXT SEARCH TEMPLATE <em class="replaceable"><code>object_name</code></em> | TRANSFORM FOR <em class="replaceable"><code>type_name</code></em> LANGUAGE <em class="replaceable"><code>lang_name</code></em> | TYPE <em class="replaceable"><code>object_name</code></em> | VIEW <em class="replaceable"><code>object_name</code></em> <span class="phrase">and <em class="replaceable"><code>aggregate_signature</code></em> is:</span> * | [ <em class="replaceable"><code>argmode</code></em> ] [ <em class="replaceable"><code>argname</code></em> ] <em class="replaceable"><code>argtype</code></em> [ , ... ] | [ [ <em class="replaceable"><code>argmode</code></em> ] [ <em class="replaceable"><code>argname</code></em> ] <em class="replaceable"><code>argtype</code></em> [ , ... ] ] ORDER BY [ <em class="replaceable"><code>argmode</code></em> ] [ <em class="replaceable"><code>argname</code></em> ] <em class="replaceable"><code>argtype</code></em> [ , ... ]
synopsis text
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 where member_object is: 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 and aggregate_signature is: * | [ argmode ] [ argname ] argtype [ , ... ] | [ [ argmode ] [ argname ] argtype [ , ... ] ] ORDER BY [ argmode ] [ argname ] argtype [ , ... ]
来源引用
定义来源
center · PostgreSQL 18 · a709ab85
正文语言: zh-Hans · 1b5ca64c