下载扩展

如何下载新的扩展插件,并将其添加至 Pigsty 中?

在 Pigsty 默认安装模式中,扩展插件的下载与安装是分离的。在 安装扩展前 ,您需要确保目标节点上已经添加了相应的软件源,否则安装过程会因为找不到软件包而失败。

Pigsty 在安装过程中会下载当前首要PG大版本(16)可用的所有扩展至 INFRA节点 ,并构建一个 本地软件仓库,供包括本机在内的所有节点使用。 这样做可以加速安装,避免重复下载,减少网络流量消耗,提高交付可靠性性,并解决重复安装版本不一致的风险。

您也可以选择使用另一种方式:直接在 Pigsty 纳管的目标节点上添加上游 PostgreSQL 软件仓库及其依赖仓库(操作系统软件源)。 然后直接从互联网上游进行安装,这样做可以方便地将插件更新至最新版本,但要求环境有互联网访问或 HTTP 代理,同时可能会受网络条件影响,并有潜在的安装版本不一致风险。


软件仓库

在首次安装过程中,Pigsty 会从 repo_upstream 指定的上游软件仓库中下载 repo_packages 指定的软件包。 EL 系统与 Debian/Ubuntu 系统的软件包名称有所不同,完整列表请参考以下地址:

极个别插件因为各种原因被排除在外,默认没有下载。如果您需要使用这些扩展,请参考扩展列表里的 RPM / DEB 包名,将其加入到 repo_upstream 中后下载。

  • 依赖过重:pljava, plr
  • 生态位重叠:repmgr, pgexporterext, pgpool
  • EL9 独占:pljava, sequential_uuids, firebird_fdw

下载扩展

要想下载新的扩展插件,您可以将其添加至 repo_upstream 中,并执行以下任务更新本地软件仓库,并刷新所有节点的软件源缓存:

./infra.yml -t repo       # 重新下载指定的软件包至本地软件仓库
./node.yml  -t node_repo  # 刷新所有节点的本地软件仓库元数据缓存 

Pigsty 默认使用位于 INFRA节点 上的本地软件源,如果您不想将这些扩展下载至本地软件源,而是直接使用在线软件仓库进行安装,那么可以直接将上游软件源添加到节点上:

./node.yml -t node_repo -e node_repo_modules=node,pgsql  # 添加 Postgres 插件仓库与操作系统软件源(依赖)

完成这些任务后,您就可以通过标准操作系统包管理器(yum/apt)的方式,安装 PostgreSQL 扩展插件了。