本部分介绍了如何配置数据库服务支持的数据库扩展程序。
安装扩展程序
扩展程序只能安装在主 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 数据库中存储和搜索矢量嵌入。 |