配置数据库扩展程序

本部分介绍了如何配置数据库服务支持的数据库扩展程序。

安装扩展程序

扩展程序只能安装在主 DBCluster 上。安装完成后,该扩展程序会复制到备用实例。

大多数扩展程序都可以通过连接到数据库集群并运行 CREATE EXTENSION 命令来直接安装。

不过,有少数扩展程序需要进行额外配置,因此用户必须设置数据库标志 "dbs.enable_<extension-name>": "on",然后连接到数据库集群并运行 CREATE EXTENSION 命令。

只有属于 cloudsqlsuperuseralloydbsuperuser 角色的数据库用户才能运行 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 数据库中存储和搜索矢量嵌入。