所有这些扩展程序都可以在每个 AlloyDB Omni 实例上使用。如需启用其中任何一个扩展程序,请参阅启用扩展程序。
| 扩展程序 | 说明 | 
|---|---|
| alloydb_ai_nl | 提供用于在应用中使用自然语言安全地查询数据的函数。 | 
| alloydb_password_validation | 提供用于为 AlloyDB Omni 设置和管理密码政策的函数。 | 
| alloydb_scann | 提供用于通过 ScaNN 索引提高向量查询性能的功能。 | 
| amcheck | 提供用于验证关系结构的逻辑一致性的函数,使 pg_amcheck应用能够检查损坏情况。 | 
| anon | 可帮助您隐藏或替换个人身份信息 (PII) 或商业敏感数据。 | 
| auto_explain | 启用慢速语句执行计划的自动日志记录功能,以便进行问题排查等。它提供了一种自动执行 EXPLAIN命令功能的方法。 | 
| autoinc | 提供用于自动递增字段的函数。此触发器会将序列的下一个值存储到整数字段中。 | 
| bloom | 提供一种基于 Bloom 过滤器的索引访问方法。 | 
| btree_gin | 提供实现 B 树等效行为的 GIN 运算符类示例。 | 
| btree_gist | 提供实现 B 树等效行为的 GiST 索引运算符类。 | 
| citext | 提供不区分大小写的字符串类型 citext。 | 
| cube | 实现 cube数据类型,用于表示多维数据集。 | 
| dblink | 提供用于从数据库会话连接到 PostgreSQL 数据库的函数。 | 
| dict_int | 用于全文搜索的插件式字典模板,该模板可控制对整数进行的索引操作。 | 
| earthdistance | 提供两种计算地球表面大圆距离的方法。 | 
| fuzzystrmatch | 提供多种用于确定字符串之间的相似度和差异的函数。 | 
| google_columnar_engine | 提供 AlloyDB Omni 的列式引擎功能,该功能可非常高效地处理 HTAP(混合事务分析处理)和 OLAP(在线分析处理)工作负载。 | 
| google_db_advisor | 提供 AlloyDB Omni 的索引顾问功能,该功能会推荐索引以加快查询处理速度。 | 
| google_ml_integration | 提供用于访问 Vertex AI 预测端点以在 SQL 中获取预测结果的函数。 | 
| hstore | 实现 hstore数据类型,用于在单一 PostgreSQL 值中存储键值对集合。 | 
| hypopg | 提供对假设索引的支持。 | 
| insert_username | 提供用于将当前用户的名称存储到文本字段中的函数。您可以使用此函数来跟踪上次修改数据库表中的行的用户。 | 
| intagg | 提供整数聚合器和枚举器。 | 
| intarray | 提供一组函数和运算符,用于操控不含 null 的整数数组,并对其执行索引搜索操作。 | 
| ip4r | 提供用于 IPv4/v6 地址和地址范围的数据类型以及索引支持。 | 
| isn | 提供用于某些国际产品编号标准的数据类型。 | 
| lo | 支持管理大对象(也称为 LO 或 BLOB)。 | 
| ltree | 实现 ltree数据类型,用于表示采用分层树状结构存储的数据的标签。 | 
| moddatetime | 提供用于将当前时间存储到 timestamp字段中的函数。您可以使用此函数来跟踪上次修改数据库表中的行的时间。 | 
| pageinspect | 在较低级别检查数据库页面的内容。 | 
| pg_bigm | 使用 2-gram(二元语法)索引在 PostgreSQL 中提供全文搜索功能,以加快全文搜索速度。 | 
| parameterized_views | 提供可在将自然语言查询转换为 SQL 查询时添加安全防护层的函数。此扩展程序与 alloydb_ai_nl扩展程序配合使用。 | 
| pg_buffercache | 提供一种实时检查共享缓冲区缓存所发生情况的方法。 | 
| pg_cron | 为 PostgreSQL 提供一个基于 Cron 的作业调度器,该调度器以扩展程序的形式在数据库内运行。它使用与常规 cron相同的语法,但可让您直接从数据库调度 PostgreSQL 命令。 | 
| pg_freespacemap | 检查可用空间映射 (FSM)。 | 
| pg_hint_plan | 帮助您使用提示来改进 PostgreSQL 执行计划,提示是 SQL 注释中的简单说明。 | 
| pg_ivm | 为 PostgreSQL 提供增量视图维护 (IVM) 功能。 | 
| pg_partman | 让您可以创建和管理基于时间和基于序列的表分区集。 | 
| pg_prewarm | 提供一种将关系数据加载到操作系统缓冲区缓存或 PostgreSQL 缓冲区缓存的便捷方式。 | 
| pg_proctab | 让您可以将 pg_top 与 AlloyDB Omni 搭配使用,并从操作系统进程表生成报告。 | 
| pg_repack | 可让您消除表和索引中的臃肿。(可选)可让您执行在线 CLUSTER 操作(按聚簇索引对表排序)。 | 
| pg_similarity | 提供对 PostgreSQL 上的相似度查询的支持。 | 
| pg_squeeze | 移除表中的未使用空间,并且可以选择性地使用索引对表中的记录或行(元组)进行排序。 | 
| g_stats | 让您可以通过比较性能快照来优化数据库性能。 | 
| pg_stat_statements | 提供一种跟踪所执行所有 SQL 语句的执行统计信息的方法。 | 
| pg_surgery | 提供对关系数据执行低级别修改的函数。 pg_surgery扩展程序是一种低级别工具,必须谨慎使用,在其他恢复方法失败时作为最后一种方法使用。 | 
| pg_trgm | 提供多种函数和运算符(用于根据三元语法匹配来确定字母数字文本的相似度),以及索引运算符类(支持快速搜索类似字符串)。 | 
| pg_visibility | 提供了一种方法来检查表的可见性映射 (VM) 和页面级可见性信息。 | 
| pg_wait_sampling | 提供收集等待事件的采样统计信息的功能。 | 
| pgaudit | 使用 PostgreSQL 提供的标准日志记录功能来提供详细的会话和对象审核日志记录。 | 
| pgcrypto | 为 PostgreSQL 提供加密函数。 | 
| pgfincore | 一组函数,用于管理来自 PostgreSQL 的操作系统磁盘缓存内存中的页面。 | 
| pglogical | 使用发布/订阅模型为 PostgreSQL 提供逻辑流式复制。 AlloyDB Omni 包含  | 
| pgrowlocks | 为指定表提供行锁定信息。 | 
| pgstattuple | 提供各种函数来获取元组级统计信息。 | 
| pgtap | 为 PostgreSQL 提供使用 PL/pgSQL 和 PL/SQL 编写的单元测试框架。 | 
| pgtt | 为数据库添加了对全局临时表的支持。 | 
| vector | 原生 pgvectorPostgreSQL 扩展程序是针对 AlloyDB Omni 自定义的,称为vector。它支持将生成的嵌入存储在向量列中、生成向量优化索引以及搜索向量嵌入。 | 
| plpgsql | 一种可加载的过程语言,用于创建函数、过程和触发器。您还可以使用此语言直接执行 DO代码块中的代码。 | 
| plproxy | 一种过程语言处理程序,其具有可选的分片功能并且允许在 PostgreSQL 数据库之间进行远程过程调用。 | 
| plv8 | 提供可启用 JavaScript 的过程语言。 | 
| postgres_fdw | 提供一个外部数据封装容器,您可以使用该封装容器访问存储在外部 PostgreSQL 服务器中的数据。 | 
| postgresql-hll | 引入了一种新的数据类型 hll,它是一个 HyperLogLog 数据结构。 | 
| prefix | 提供前缀匹配以及索引支持。 | 
| refint | 包含用于检查外键限制条件、引用表和被引用表的函数。 | 
| sslinfo | 提供当前客户端在连接到实例时所提供的 SSL 证书的相关信息。 | 
| tablefunc | 提供返回表(多行)的各种函数。 | 
| tcn | 提供触发器函数,以通知监听器数据库表内容的更改。 | 
| temporal_tables | 提供对时态表的支持。在数据库中,时态表会记录某行处于有效状态的时间段。 | 
| tsm_system_rows | 提供 SYSTEM_ROWS 表采样方法,该方法可用于 SELECT 命令的 TABLESAMPLE 子句。 | 
| tsm_system_time | 提供 SYSTEM_TIME 表采样方法,该方法可用于 SELECT 命令的 TABLESAMPLE 子句。 | 
| unaccent | 一个文本搜索字典,用于从词素中移除重音符号和其他变音符号。 如需将此扩展程序与 PostgreSQL 15 兼容的数据库搭配使用,请在创建数据库时将  | 
| uuid-ossp | 提供用于使用若干标准算法之一生成通用唯一标识符 (UUID) 的函数。 | 
逻辑解码插件
除了本页面前面部分列出的扩展程序之外,AlloyDB Omni 还支持 pglogical 扩展程序用于设置该扩展程序流式输出格式的以下插件。
| 插件 | 说明 | 
|---|---|
| [decoderbufs] | 将流式数据设置为 [协议缓冲区] 格式。 | 
| [pgoutput] | PostgreSQL 的内置逻辑解码插件。 | 
| [test-decoding] | 将流式数据设置为文本格式。 | 
| [wal2json] | 将流式数据设置为 JSON 格式。 | 
PostGIS 扩展程序
以下 PostGIS 扩展程序受支持,但未包含在 AlloyDB Omni 中:
- postgis
- postgis_raster
- postgis_sfcgal
- postgis_tiger_geocoder
- postgis_topology
- address_standardizer
- address_standardizer_data_us
如需了解详情,请参阅为 AlloyDB Omni 安装 PostGIS。
Orafce 扩展程序
AlloyDB Omni 不包含 Orafce 扩展程序,但您可以按照为 AlloyDB Omni 安装 Orafce 中的说明,将其手动添加到现有的 AlloyDB Omni 安装中,以便提供来自 Oracle 数据库的其他函数和运算符。
启用扩展程序
如需启用扩展程序,请按以下步骤操作:
- 在 AlloyDB Omni 集群的主实例中连接到数据库。 
- 运行 - CREATE EXTENSION命令。 例如,连接到主实例后,您可以使用- psql启用- citext扩展程序:- mydatabase=> CREATE EXTENSION IF NOT EXISTS citext;
- 重启数据库,以确保您可以使用该扩展程序。 
将扩展程序的共享库添加到 PostgreSQL
如需将扩展程序的共享库添加到 PostgreSQL,您必须更新 DBCluster 清单中的 shared_preload_libraries 数据库标志。
如需有关如何执行此操作的详细说明,请参阅在 Kubernetes 集群上的 AlloyDB Omni 中更新参数。