Hologres中支持加载扩展(extension)以实现更丰富的功能,本文为您介绍Hologres中支持的extension扩展以及如何加载、查看、卸载extension。
使用限制
一个数据库只能在一个Schema下加载一次extension。例如在某数据库的默认Schema下加载了extension,则此数据库下其他的Schema不能再加载extension。
可以将extension加载在全局空间pg_catalog系统Schema下,默认该数据库的所有Schema都能访问该extension的功能;如果不指定Schema,则会默认加载在public Schema下。
账号具有Superuser权限才能加载、卸载extension。
目前仅支持加载系统内置extension,不支持加载自定义及外部extension。
Extension扩展
Extension名称 | 适用场景 | 相关文档 | 使用说明 |
spm、slpm | 开启权限模型调用函数的开关。 | 无 | |
hive_compatible | 使用 | 无 | |
hologres_fdw | Hologres跨库查询。 | 仅独享实例支持,共享集群不支持。 | |
dlf_fdw | 通过DLF读取OSS数据。 | 无 | |
proxima | 使用Proxima进行向量计算。 | 仅独享实例支持,共享集群不支持。 | |
flow_analysis | 使用明细圈人、漏斗分析函数。 | 无 | |
roaringbitmap | 使用Roaring Bitmap函数。 | 仅独享实例支持,共享集群不支持。 | |
hg_binlog | 消费Hologres Binlog。 | 仅独享实例支持,共享集群不支持。 | |
foreign_table_exposer | 针对特定BI工具优化访问外表。 | 无 | |
postgis | 使用空间函数。 | 仅独享实例支持,共享集群不支持。 | |
clickhouse | 兼容ClickHouse迁移函数。 | 仅独享实例支持,共享集群不支持。 |
加载Extension
语法示例
加载Extension的SQL命令如下。
-- 需Superuser权限执行 CREATE extension IF NOT EXISTS <extension_name> SCHEMA <schema_name>;
参数
说明
extension_name
需要加载的extension名称,Hologres支持的部分extension参见本文上述列表。
schema_name
加载extension所在的schema名称。如果不指定schema,则会默认在public下加载extension,建议加载在pg_catalog下,数据库级别可用。
使用示例
在pg_catalog下加载postgis扩展示例如下。
CREATE extension if not exists postgis schema pg_catalog;
查看当前数据库已加载Extension
通过如下SQL命令可以查看当前数据库下已加载的extension,包括系统默认加载的extension。
SELECT
e.extname AS "Name",
e.extversion AS "Version",
n.nspname AS "Schema",
c.description AS "Description"
FROM
pg_catalog.pg_extension e
LEFT JOIN pg_catalog.pg_namespace n ON n.oid = e.extnamespace
LEFT JOIN pg_catalog.pg_description c ON c.objoid = e.oid
AND c.classoid = 'pg_catalog.pg_extension'::pg_catalog.regclass
ORDER BY 1;
卸载Extension
卸载extension的SQL命令如下。
-- 需Superuser权限执行
DROP extension <extension_name>;
参数 | 说明 |
extension_name | 需要卸载的extension名称,Hologres支持的部分extension参见本文上述列表。 |
- 本页导读 (1)