本部分介绍了如何配置数据库服务支持的数据库扩展程序。
安装扩展程序
扩展程序只能安装在主 DBCluster 上。安装完成后,该扩展程序会复制到备用实例。
大多数扩展程序都可以通过连接到数据库集群并运行 CREATE EXTENSION 命令来直接安装。
不过,有少数扩展程序需要进行额外配置,因此用户必须设置数据库标志 "dbs.enable_<extension-name>": "on"
,然后连接到数据库集群并运行 CREATE EXTENSION
命令。
只有属于 cloudsqlsuperuser
或 alloydbsuperuser
角色的数据库用户才能运行 CREATE EXTENSION
命令。默认情况下,这包括 dbsadmin
用户。
删除扩展程序
如需舍弃扩展程序,尝试执行此操作的数据库用户必须是该扩展程序的所有者。这意味着,只有最初创建扩展程序的数据库用户才有权将其删除。没有其他数据库用户能够舍弃扩展程序,从而确保对扩展程序进行受控管理。
支持的数据库扩展程序
下表列出了所有受支持的扩展程序。
扩展程序 | 随 PostgreSQL 一起提供 | 随 AlloyDB Omni 一起提供 | 说明 |
---|---|---|---|
address_standardizer | 用于将地址解析为组成元素。通常用于支持地理编码地址规范化步骤。 | ||
address_standardizer_data_us | Address Standardizer US 数据集示例 | ||
alloydb_ai_nl | AlloyDB AI 和自然语言的 Google 扩展程序 | ||
amcheck | 提供用于验证关系结构的逻辑一致性的函数,使 pg_amcheck 应用能够检查损坏情况。 | ||
匿名 | 遮盖或替换 PostgreSQL 数据库中的个人身份信息 (PII) 或敏感数据。 | ||
autonic | 提供用于自动递增字段的函数 | ||
bloom | 提供一种基于布隆过滤器访问索引的方法。Bloom 过滤器是一种节省空间的数据结构,可用于测试某个元素是否为集合成员。 | ||
btree_gin | 提供实现 B 树等效行为的 GIN 运算符类示例。 | ||
btree_gist | 提供实现 B 树等效行为的 GiST 索引运算符类。 | ||
citext | 提供不区分大小写的字符串类型 citext。 | ||
cube | 实现用于表示多维数据集的数据类型 cube。 | ||
dblink | 提供用于从数据库会话连接到 PostgreSQL 数据库的函数 | ||
dict_int | 用于全文搜索的插件式字典模板,该模板可控制整数的索引编入。 | ||
dict_xsyn | 用于扩展同义词处理的文本搜索字典模板 | ||
earthdistance | 提供两种计算地球表面大圆距离的方法。 | ||
fuzzystrmatch | 提供多种函数来确定字符串之间的相似性和差别。 | ||
google_columnar_engine | 提供 AlloyDB 的列式引擎功能,该功能可非常高效地处理 HTAP(混合事务分析处理)和 OLAP(在线分析处理)工作负载。 | ||
google_db_advisor | 提供 AlloyDB 的索引顾问功能,该功能会推荐索引以加快查询处理速度。 | ||
google_ml_integration | 提供用于访问 Vertex AI 端点以在 SQL 中获取预测结果的函数。 | ||
postgresql-hll | 提供用于估算集合基数的 HyperLogLog (hll) 数据结构。 | ||
hstore | 实现 hstore 数据类型,用于在单一 PostgreSQL 值内存储键值对集合。 | ||
hypopg | 提供对假设索引的支持。 | ||
insert_username | 提供用于将当前用户的名称存储到文本字段中的函数。您可以使用此函数来跟踪上次修改数据库表中的行的用户。 | ||
intagg | 提供整数聚合器和枚举器。 | ||
intarray | 提供一组函数和运算符,用于操控不含 null 的整数数组,并对其执行索引搜索操作。 | ||
ip4r | 提供 IPv4/v6 地址的数据类型、地址范围以及索引支持。 | ||
isn | 提供用于某些国际产品编号标准的数据类型。 | ||
lo | 支持管理大对象(也称为 LO 或 BLOB)。 | ||
ltree | 实现 ltree 数据类型,用于表示采用分层树状结构存储的数据的标签。 | ||
moddatetime | 提供用于将当前时间存储到 timestamp 字段中的函数。您可以使用此扩展程序来跟踪上次修改数据库表中的行的时间。 |
||
orafce | 提供模拟 Oracle 数据库中部分函数和软件包的函数和运算符。使用这些函数可以将 Oracle 应用移植到 PostgreSQL。 | ||
pageinspect | 在较低级别检查数据库页面的内容。 | ||
pg_bigm | 启用全文搜索,并允许二元语法索引以加快全文搜索速度。 | ||
pg_buffercache | 提供一种实时检查共享缓冲区缓存中的情况的方法。 | ||
pg_cron | 提供基于 Cron 的作业调度器。此扩展程序允许 Cron 语法直接从数据库调度 PostgreSQL 命令。 | ||
pg_freespacemap | 检查可用空间映射 (FSM)。 | ||
pg_hint_plan | 让您可以使用提示来改进 PostgreSQL 执行计划,提示是 SQL 注释中的说明。 | ||
pg_partman | 让您可以创建和管理基于时间和基于序列的表分区集。 | ||
pg_prewarm | 提供一种将关系数据加载到操作系统缓冲区缓存或 PostgreSQL 缓冲区缓存的便捷方式。 | ||
pg_proctab | 让您可以将 pg_top 与 AlloyDB Omni 搭配使用,并从操作系统进程表生成报告。 | ||
pg_repack | 可让您消除表和索引中的臃肿。(可选)可让您执行在线 CLUSTER 操作(按聚簇索引对表排序)。 | ||
pg_similarity | 提供对 PostgreSQL 上的相似度查询的支持。 | ||
pg_squeeze | 移除表中的未使用空间,并且可以选择性地使用索引对表中的记录或行(元组)进行排序。 | ||
pg_stat_statements | 提供一种跟踪所执行所有 SQL 语句的执行统计信息的方法。 | ||
pg_trgm | 提供多种函数和运算符(用于根据三元语法匹配来确定字母数字文本的相似性),以及索引运算符类(支持快速搜索类似字符串)。 | ||
pg_visibility | 提供了一种方法来检查表的可见性映射 (VM) 和页面级可见性信息。 | ||
pg_wait_sampling | 收集等待事件的采样统计信息,为服务器上的进程提供等待事件数据。 | ||
pgaudit | 使用 PostgreSQL 提供的标准日志记录功能来提供详细的会话和对象审核日志记录。 | ||
pgcrypto | 为 PostgreSQL 提供加密函数。 | ||
pgfincore | 一组函数,用于管理来自 PostgreSQL 的操作系统磁盘缓存内存中的页面。 | ||
pglogical | 为 PostgreSQL 提供逻辑复制。 | ||
pgrouting | 扩展了 PostGIS,可通过网络路由和分析实现地理空间处理。 | ||
pgrowlocks | 为指定表提供行锁定信息。 | ||
pgstattuple | 提供各种函数来获取元组级统计信息。 | ||
pgtap | 为 PostgreSQL 提供使用 PL/pgSQL 和 PL/SQL 编写的单元测试框架。 | ||
pgtt | 为数据库添加了对全局临时表的支持。 | ||
plpgsql | 一种可加载的过程语言,用于创建函数、过程和触发器。您还可以使用此语言直接执行 DO 代码块中的代码。 | ||
plproxy | 一种过程语言处理程序,其具有可选的分片功能并且允许在 PostgreSQL 数据库之间进行远程过程调用。 | ||
plv8 | 提供可启用 JavaScript 的过程语言。 | ||
postgis | PostGIS 几何图形和地理空间类型及函数 | ||
postgres_ann | PostgreSQL ANN 搜索 | ||
postgis_raster | PostGIS 光栅类型和函数 | ||
postgis_sfcgal | PostGIS SFCGAL 函数 | ||
postgis_tiger_geocoder | PostGIS tiger 地理编码器和反向地理编码器 | ||
postgis_topology | PostGIS 拓扑空间类型和函数 | ||
postgres_fdw | 允许在实例内或跨实例创建外部数据封装容器。 | ||
prefix | 提供前缀匹配以及索引支持。 | ||
rdkit | 提供用于比较、操纵和识别分子结构的函数。 | ||
refint | 包含用于检查外键限制条件、引用表和被引用表的函数。 | ||
sslinfo | 提供当前客户端在连接到实例时所提供的 SSL 证书的相关信息。 | ||
tablefunc | 包括返回表(多行)的各种函数。 | ||
tcn | 提供触发器函数,以通知监听器数据库表内容的更改。 | ||
temporal_tables | 提供对时态表的支持。时态表会记录某行在数据库视角下的有效时间段。 | ||
tsm_system_rows | 提供表采样方法 SYSTEM_ROWS ,该方法可用于 SELECT 命令的 TABLESAMPLE 子句。 |
||
tsm_system_time | 提供表采样方法 SYSTEM_TIME ,该方法可用于 SELECT 命令的 TABLESAMPLE 子句。 |
||
unaccent | 这是一个文本搜索字典,用于从词素中移除重音符号(变音符号)。 | ||
uuid-ossp | 提供用于使用若干标准算法之一生成通用唯一标识符 (UUID) 的函数。 | ||
pgvector | 一个开源扩展程序,用于在 PostgreSQL 数据库中存储和搜索矢量嵌入。 |