PIGSTY

软件包

扩展包与别名

管理扩展与软件包并非易事,以下以两个常见扩展为例:

实体示例 pgvector示例 postgis...
扩展名vectorpostgis, postgis_topology, postgis_raster,...
软件包pgvectorpostgis
操作系统包pgvector_17postgresql-16-postgis-3
RPM/DEB 包pgvector_17_0.8.0-1PGDG.rhel8.x86_64.rpmpostgresql-17-postgis-3_3.5.2+dfsg-1.pgdg22.04+1_amd64.deb

如需高效安装正确的 RPM / DEB 包,可借助抽象层:软件包别名。 因此,你只需指定“规范化”名称(如 pgvectorpostgis),即可完成扩展的下载与安装。 无需关心 PG 版本、操作系统版本、架构、扩展版本等细节。

软件包别名 pkg 用于扩展的下载与安装,但在数据库中执行 CREATE EXTENSION 时,需使用扩展名 ext(如在 meta 库中使用 vector)。 注意,部分扩展(如上例中的 timescaledb)需显式预加载。

此外,所有扩展被划分为 16 个主要类别,每个类别也有对应的别名, 便于批量下载与安装,例如:

将 17 替换为 16、15、14、13...
repo_extra_packages: [ pg17-main ,pg17-core ,pg17-time ,pg17-gis ,pg17-rag ,pg17-fts ,pg17-olap ,pg17-feat ,pg17-lang ,pg17-type ,pg17-util ,pg17-func ,pg17-admin ,pg17-stat ,pg17-sec ,pg17-fdw ,pg17-sim ,pg17-etl]
pg_extensions: [pg17-time ,pg17-gis ,pg17-rag ,pg17-fts ,pg17-feat ,pg17-lang ,pg17-type ,pg17-util ,pg17-func ,pg17-admin ,pg17-stat ,pg17-sec ,pg17-fdw ,pg17-sim ,pg17-etl ] #,pg17-olap]

所有扩展均可同时安装,唯独 olap 类别下,citushydra 冲突,pg_duckdbpg_mooncake 冲突。 因此可全部下载,但需分批安装。