一个扩展包通常需要一个包含创建该扩展的对象的SQL命令的脚本文件以及一个指定扩展本身的一些基本属性的控制文件。如果扩展包括C代码,通常还有一个C代码编译而成的共享库文件。控制文件和脚本默认被放在数据库的安装目录下的 Server/share/extension 目录中,C 编译的共享库文件则放在 Server/lib 中。
扩展常用的命令,请注意必须用超级用户执行:
CREATE EXTENSION extension_name:此命令将安装一个名为extension_name的新扩展
ALTER EXTENSION extension name:此命令将更改扩展名,大多用于升级扩展。
DROP EXTENIONS extension_name:在清理操作完成后,此命令用于删除一个扩展。
示例:
查询当前已安装的扩展:
test=# \dx
已安装扩展列表
名称 | 版本 | 架构模式 | 描述
---------------------±-----±-----------±-----------------------------------------------------------------------------------------
dbms_ddl | 1.0 | sys | DBMS_DDL system package
dbms_output | 1.0 | sys | DBMS_OUTPUT system package
dbms_utility | 1.0 | sys | dbms_utility extension package
kdb_cast | 1.0 | sys | kdb_cast extension
kdb_license | 1.0 | pg_catalog | kdb_license extension
kdb_oracle_datatype | 1.0 | sys | kdb_oracle_datatype extension
kdb_schedule | 1.0 | sys | A KingbaseES job scheduler
查询当前版本支持的扩展:
select * from sys_available_extensions;