华为云云数据库GaussDBCREATE EXTENSION(实验室特性)_云淘科技

功能描述

安装一个扩展。当前特性是实验室特性,使用时请联系华为工程师提供技术支持。

注意事项

在使用CREATE EXTENSION载入扩展到数据库中之前,必须先安装好该扩展的支持文件。
CREATE EXTENSION命令安装一个新的扩展到一个数据库中,必须保证没有同名的扩展已经被安装。
安装一个扩展意味着执行一个扩展的脚本文件,这个脚本会创建一个新的SQL实体,例如函数、数据类型、操作符和索引支持的方法。
安装扩展需要有和创建他的组件对象相同的权限。对于大多数扩展这意味着需要超户或者数据库所有者的权限,对于后续的权限检查和该扩展脚本所创建的实体,运行CREATE EXTENSION命令的角色将变为扩展的所有者。
CREATE EXTENSION时如果数据库中存在与EXTENSION内同名的PACKAGE、同义词、操作符、目录、函数、存储过程、视图、表这些数据库对象,将会导致CREATE EXTENSION失败。
数据库禁止直接创建扩展,因为扩展可能会引起非预期的错误,且在升级后面临不兼容的问题。如果需要创建扩展,需要设置enable_extension为true才能够创建。
CREATE EXTENSION时,如果enable_object_special_character值为off,且扩展的脚本文件中使用”@extschema@”,那么扩展的支持文件中schema参数的值不能包含[“$’\]中任意特殊字符。

语法格式

CREATE EXTENSION [ IF NOT EXISTS ] extension_name
[ WITH ] [ SCHEMA schema_name ]
[ VERSION version ]
[ FROM old_version ]

参数说明

IF NOT EXISTS

如果系统已经存在一个同名的扩展,不会报错。这种情况下会给出一个提示。请注意该参数不保证系统存在的扩展和现在脚本创建的扩展相同。

extension_name

将被安装扩展的名字,数据库将使用文件SHAREDIR/extension/extension_name.control中的详细信息创建扩展。

schema_name

扩展的实例被安装在该模式下,扩展的内容可以被重新安装。指定的模式必须已经存在,如果没有指定,扩展的控制文件也不指定一个模式,这样将使用默认模式。

扩展不认为它在任何模式里面:扩展在一个数据库范围内的名字是不受限制的,但是一个扩展的实例是属于一个模式的。

version

安装扩展的版本,可以写为一个标识符或者字符串.默认的版本在扩展的控制文件中指定。

old_version

当你想升级安装”old style” 模块中没有的内容时,你必须指定FROM old_version。这个选项使CREATE EXTENSION 运行一个安装脚本将新的内容安装到扩展中,而不是创建一个新的实体。注意:SCHEMA指定了包括这些已存在实体的模式。

示例

在当前数据库安装扩展。例如安装testxxx:

CREATE EXTENSION testxxx;

父主题: SQL语法

同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家