PIGSTY

扩展仓库

用于交付 PostgreSQL 扩展的基础设施和软件包仓库

Pigsty 为主流 Linux 发行版 提供了一个 PostgreSQL 扩展仓库,其中包含 200+ 额外的 PostgreSQL 扩展。 Pigsty 扩展仓库旨在与 PGDG 官方仓库配合使用,共同使用时可以安装多达 423 个 PostgreSQL 扩展


快速上手

你可以使用 pig CLI 工具启用 infra 和 pgsql 仓库,或者手动将它们添加到系统中:

curl https://repo.pigsty.io/pig | bash      # 下载安装最新版本的 pig 命令行工具
pig repo add all -u                         # 添加 Linux / PGDG / Pigsty 仓库并更新缓存
# 将 Pigsty 的 GPG 公钥添加到系统密钥链中,以验证软件包签名
curl -fsSL https://repo.pigsty.io/key | sudo gpg --dearmor -o /etc/apt/keyrings/pigsty.gpg

# 获取 Debian / Ubuntu 发行版的代号(jammy, focal, bullseye, bookworm),并将相应的上游仓库地址写入 /etc/apt/sources.list.d/ 中
distro_codename=$(lsb_release -cs)
sudo tee /etc/apt/sources.list.d/pigsty-io.list > /dev/null <<EOF
deb [signed-by=/etc/apt/keyrings/pigsty.gpg] https://repo.pigsty.io/apt/infra generic main
deb [signed-by=/etc/apt/keyrings/pigsty.gpg] https://repo.pigsty.io/apt/pgsql/${distro_codename} ${distro_codename} main
EOF

# 刷新 APT 仓库缓存
sudo apt update
# 将 Pigsty 的 GPG 公钥添加到系统密钥链中,以验证软件包签名
curl -fsSL https://repo.pigsty.io/key | sudo tee /etc/pki/rpm-gpg/RPM-GPG-KEY-pigsty >/dev/null

# 将 Pigsty 仓库的定义写入 /etc/yum.repos.d/ 目录中
sudo tee /etc/yum.repos.d/pigsty-io.repo > /dev/null <<-'EOF'
[pigsty-infra]
name=Pigsty Infra for $basearch
baseurl=https://repo.pigsty.io/yum/infra/$basearch
skip_if_unavailable = 1
enabled = 1
priority = 1
gpgcheck = 1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-pigsty
module_hotfixes=1

[pigsty-pgsql]
name=Pigsty PGSQL For el$releasever.$basearch
baseurl=https://repo.pigsty.io/yum/pgsql/el$releasever.$basearch
skip_if_unavailable = 1
enabled = 1
priority = 1
gpgcheck = 1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-pigsty
module_hotfixes=1
EOF

# 刷新 YUM 仓库缓存
sudo yum makecache;

所有的 RPM / DEB 软件包都使用指纹为 (B9BD8B20) 的 GPG 密钥 进行签名,以确保软件包的完整性。


兼容性

Pigsty 仓库由两个主要部分组成:INFRAPGSQL,提供 x86_64aarch64 架构下的 DEB / RPM 包。

INFRA 仓库中的软件包与 PostgreSQL / Linux 大版本无关,包括 Prometheus、Grafana、以及一些 PostgreSQL 管理工具, 通常由 Go 等语言编写的,只有芯片架构(x86_64 | aarch64)的区别。

Linux软件包x86_64aarch64
ELrpm
Debiandeb

PGSQL 仓库中的软件包通常特定于 Linux 大版本(例如 el9, d12),也通常与 PostgreSQL 大版本相关(例如 pg17,pg16 ) 这个仓库中包含 了 PostgreSQL 内核疯子、扩展插件与工具,通常由类 C 语言编写。

系统 / 架构OSx86_64aarch64
EL8el8
17
16
15
14
13
17
16
15
14
13
EL9el9
17
16
15
14
13
17
16
15
14
13
Debian 12d12
17
16
15
14
13
17
16
15
14
13
Ubuntu 22.04u22
17
16
15
14
13
17
16
15
14
13
Ubuntu 24.04u24
17
16
15
14
13
17
16
15
14
13

Pigsty 仓库的文件的大致目录结构如下所示:

pig
key

源代码

用于构建仓库内软件的源代码文件位于以下仓库中: