# Linux 软件仓库

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

---

LLMS index: [llms.txt](/llms.txt)

---

Pigsty 为主流 [Linux 发行版](/docs/ref/linux/) 提供了 PostgreSQL 扩展仓库，其中包含 340+ 额外的 PostgreSQL 扩展。

Pigsty 扩展仓库旨在与 [PGDG](https://www.postgresql.org/download/linux/) 官方仓库配合使用，共同使用时可以安装多达 [575 个已打包 PostgreSQL 扩展](https://ext.pigsty.io)。

|   PGSQL 仓库   |                      描述                       |              链接               |
|:------------:|:---------------------------------------------:|:-----------------------------:|
| **PGSQL** 仓库 | [Pigsty PG 扩展仓库](/docs/repo/pgsql/)，340+ 额外扩展 | [pgsql.md](/docs/repo/pgsql/) |
| **INFRA** 仓库 |  [Pigsty 基础设施仓库](/docs/repo/infra/)，监控/工具软件   | [infra.md](/docs/repo/infra/) |
| **PGDG** 仓库  |     [PGDG 官方仓库镜像](/docs/repo/pgdg/)，PG 内核     |  [pgdg.md](/docs/repo/pgdg/)  |
|  **GPG** 密钥  |        [GPG 公钥](/docs/repo/gpg/)，签名验证         |   [gpg.md](/docs/repo/gpg/)   |
{.full-width}


---------

## 兼容性概览

|   系统 / 架构    |  代码  |                  x86_64                   |                  aarch64                  |
|:------------:|:----:|:-----------------------------------------:|:-----------------------------------------:|
|     EL8      | el8  | **18** **17** **16** **15** **14** | **18** **17** **16** **15** **14** |
|     EL9      | el9  | **18** **17** **16** **15** **14** | **18** **17** **16** **15** **14** |
|     EL10     | el10 | **18** **17** **16** **15** **14** | **18** **17** **16** **15** **14** |
|  Debian 12   | d12  | **18** **17** **16** **15** **14** | **18** **17** **16** **15** **14** |
|  Debian 13   | d13  | **18** **17** **16** **15** **14** | **18** **17** **16** **15** **14** |
| Ubuntu 22.04 | u22  | **18** **17** **16** **15** **14** | **18** **17** **16** **15** **14** |
| Ubuntu 24.04 | u24  | **18** **17** **16** **15** **14** | **18** **17** **16** **15** **14** |
| Ubuntu 26.04 | u26  | **18** **17** **16** **15** **14** | **18** **17** **16** **15** **14** |
{.full-width}


---------

## 快速上手

你可以使用 [**`pig`**](/docs/pig/) 命令行工具来方便地启用 infra 和 pgsql 仓库：

**默认**

<div class="td-code td-code--untitled" id="td-code-807a00b5-fence-0-tabpane-1-tab-0" data-td-code data-td-code-auto-id
     data-language="bash" data-line-count="2"><div class="td-code__utilities td-code__utilities--compact">
  <span class="td-code__language">BASH</span>
</div>
  <div class="td-code__viewport" id="td-code-807a00b5-fence-0-tabpane-1-tab-0-viewport" data-td-code-viewport><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">curl https://repo.pigsty.io/pig <span class="p">|</span> bash      <span class="c1"># 下载安装最新版本的 pig 命令行工具</span>
</span></span><span class="line"><span class="cl">pig repo add all -u                         <span class="c1"># 添加 Linux / PGDG / Pigsty 仓库并更新缓存</span></span></span></code></pre></div></div>
</div>

**镜像**

<div class="td-code td-code--untitled" id="td-code-807a00b5-fence-0-tabpane-1-tab-1" data-td-code data-td-code-auto-id
     data-language="bash" data-line-count="2"><div class="td-code__utilities td-code__utilities--compact">
  <span class="td-code__language">BASH</span>
</div>
  <div class="td-code__viewport" id="td-code-807a00b5-fence-0-tabpane-1-tab-1-viewport" data-td-code-viewport><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">curl https://repo.pigsty.cc/pig <span class="p">|</span> bash      <span class="c1"># 从中国镜像站下载安装最新版本的 pig 命令行工具</span>
</span></span><span class="line"><span class="cl">pig repo add -u                             <span class="c1"># 添加 Linux / PGDG / Pigsty 仓库并更新缓存</span></span></span></code></pre></div></div>
</div>


---------

## 手工添加

您也可以使用经典的 `apt` / `dnf` / `yum` 命令，将仓库手工添加到系统中。

**APT**

<div class="td-code td-code--untitled" id="td-code-807a00b5-fence-0-tabpane-2-tab-0" data-td-code data-td-code-auto-id
     data-language="bash" data-line-count="12"><div class="td-code__utilities td-code__utilities--compact">
  <span class="td-code__language">BASH</span>
</div>
  <div class="td-code__viewport" id="td-code-807a00b5-fence-0-tabpane-2-tab-0-viewport" data-td-code-viewport><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># 将 Pigsty 的 GPG 公钥添加到系统密钥链中，以验证软件包签名</span>
</span></span><span class="line"><span class="cl">curl -fsSL https://repo.pigsty.io/key <span class="p">|</span> sudo gpg --dearmor -o /etc/apt/keyrings/pigsty.gpg
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 获取 Debian / Ubuntu 发行版的代号（bookworm, trixie, jammy, noble, resolute），并将相应的上游仓库地址写入 /etc/apt/sources.list.d/ 中</span>
</span></span><span class="line"><span class="cl"><span class="nv">distro_codename</span><span class="o">=</span><span class="k">$(</span>lsb_release -cs<span class="k">)</span>
</span></span><span class="line"><span class="cl">sudo tee /etc/apt/sources.list.d/pigsty-io.list &gt; /dev/null <span class="s">&lt;&lt;EOF
</span></span></span><span class="line"><span class="cl"><span class="s">deb [signed-by=/etc/apt/keyrings/pigsty.gpg] https://repo.pigsty.io/apt/infra generic main
</span></span></span><span class="line"><span class="cl"><span class="s">deb [signed-by=/etc/apt/keyrings/pigsty.gpg] https://repo.pigsty.io/apt/pgsql/${distro_codename} ${distro_codename} main
</span></span></span><span class="line"><span class="cl"><span class="s">EOF</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 刷新 APT 仓库缓存</span>
</span></span><span class="line"><span class="cl">sudo apt update</span></span></code></pre></div></div>
</div>

**YUM**

<div class="td-code td-code--untitled" id="td-code-807a00b5-fence-0-tabpane-2-tab-1" data-td-code data-td-code-auto-id
     data-language="bash" data-line-count="28"><div class="td-code__utilities td-code__utilities--compact">
  <span class="td-code__language">BASH</span>
</div>
  <div class="td-code__viewport" id="td-code-807a00b5-fence-0-tabpane-2-tab-1-viewport" data-td-code-viewport><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># 将 Pigsty 的 GPG 公钥添加到系统密钥链中，以验证软件包签名</span>
</span></span><span class="line"><span class="cl">curl -fsSL https://repo.pigsty.io/key <span class="p">|</span> sudo tee /etc/pki/rpm-gpg/RPM-GPG-KEY-pigsty &gt;/dev/null
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 将 Pigsty 仓库的定义写入 /etc/yum.repos.d/ 目录中</span>
</span></span><span class="line"><span class="cl">sudo tee /etc/yum.repos.d/pigsty-io.repo &gt; /dev/null <span class="s">&lt;&lt;-&#39;EOF&#39;
</span></span></span><span class="line"><span class="cl"><span class="s">[pigsty-infra]
</span></span></span><span class="line"><span class="cl"><span class="s">name=Pigsty Infra for $basearch
</span></span></span><span class="line"><span class="cl"><span class="s">baseurl=https://repo.pigsty.io/yum/infra/$basearch
</span></span></span><span class="line"><span class="cl"><span class="s">skip_if_unavailable = 1
</span></span></span><span class="line"><span class="cl"><span class="s">enabled = 1
</span></span></span><span class="line"><span class="cl"><span class="s">priority = 1
</span></span></span><span class="line"><span class="cl"><span class="s">gpgcheck = 1
</span></span></span><span class="line"><span class="cl"><span class="s">gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-pigsty
</span></span></span><span class="line"><span class="cl"><span class="s">module_hotfixes=1
</span></span></span><span class="line"><span class="cl"><span class="s">
</span></span></span><span class="line"><span class="cl"><span class="s">[pigsty-pgsql]
</span></span></span><span class="line"><span class="cl"><span class="s">name=Pigsty PGSQL For el$releasever.$basearch
</span></span></span><span class="line"><span class="cl"><span class="s">baseurl=https://repo.pigsty.io/yum/pgsql/el$releasever.$basearch
</span></span></span><span class="line"><span class="cl"><span class="s">skip_if_unavailable = 1
</span></span></span><span class="line"><span class="cl"><span class="s">enabled = 1
</span></span></span><span class="line"><span class="cl"><span class="s">priority = 1
</span></span></span><span class="line"><span class="cl"><span class="s">gpgcheck = 1
</span></span></span><span class="line"><span class="cl"><span class="s">gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-pigsty
</span></span></span><span class="line"><span class="cl"><span class="s">module_hotfixes=1
</span></span></span><span class="line"><span class="cl"><span class="s">EOF</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 刷新 YUM 仓库缓存</span>
</span></span><span class="line"><span class="cl">sudo yum makecache<span class="p">;</span></span></span></code></pre></div></div>
</div>

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


---------

## 仓库组成

Pigsty 仓库由两个主要部分组成：[**INFRA**](/docs/repo/infra/) 和 [**PGSQL**](/docs/repo/pgsql/)，提供 `x86_64` 和 `aarch64` 架构下的 DEB / RPM 包。

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

| Linux  |  软件包  | x86_64 | aarch64 |
|:------:|:-----:|:------:|:-------:|
|   EL   | `rpm` |   ✓    |    ✓    |
| Debian | `deb` |   ✓    |    ✓    |
{.full-width}

[**PGSQL**](/docs/repo/pgsql/) 仓库中的软件包通常特定于 Linux 大版本（例如 el9, d12），也通常与 PostgreSQL 大版本相关（例如 pg17，pg16）。
这个仓库中包含了 PostgreSQL 内核分支、扩展插件与工具，通常由类 C 语言编写。


---------

## 兼容性详情

|    OS 系统代码     | 厂商     | 大版本 |   小版本   | 全名                |               PG 大版本               |   备注   |
|:--------------:|:-------|:---:|:-------:|:------------------|:----------------------------------:|:------:|
|  `el7.x86_64`  | EL     |  7  |   7.9   | CentOS 7 x86      |              15 14 13              |  EOL   |
|  `el8.x86_64`  | EL     |  8  |  8.10   | RockyLinux 8 x86  | **18** **17** **16** **15** **14** | 即将 EOL |
| `el8.aarch64`  | EL     |  8  |  8.10   | RockyLinux 8 ARM  | **18** **17** **16** **15** **14** | 即将 EOL |
|  `el9.x86_64`  | EL     |  9  |   9.8   | RockyLinux 9 x86  | **18** **17** **16** **15** **14** |   OK   |
| `el9.aarch64`  | EL     |  9  |   9.8   | RockyLinux 9 ARM  | **18** **17** **16** **15** **14** |   OK   |
| `el10.x86_64`  | EL     | 10  |  10.2   | RockyLinux 10 x86 | **18** **17** **16** **15** **14** |   OK   |
| `el10.aarch64` | EL     | 10  |  10.2   | RockyLinux 10 ARM | **18** **17** **16** **15** **14** |   OK   |
|  `d11.x86_64`  | Debian | 11  |  11.11  | Debian 11 x86     |           17 16 15 14 13           |  EOL   |
| `d11.aarch64`  | Debian | 11  |  11.11  | Debian 11 ARM     |           17 16 15 14 13           |  EOL   |
|  `d12.x86_64`  | Debian | 12  |  12.15  | Debian 12 x86     | **18** **17** **16** **15** **14** |   OK   |
| `d12.aarch64`  | Debian | 12  |  12.15  | Debian 12 ARM     | **18** **17** **16** **15** **14** |   OK   |
|  `d13.x86_64`  | Debian | 13  |  13.6   | Debian 13 x86     | **18** **17** **16** **15** **14** |   OK   |
| `d13.aarch64`  | Debian | 13  |  13.6   | Debian 13 ARM     | **18** **17** **16** **15** **14** |   OK   |
|  `u22.x86_64`  | Ubuntu | 22  | 22.04.5 | Ubuntu 22.04 x86  | **18** **17** **16** **15** **14** |   OK   |
| `u22.aarch64`  | Ubuntu | 22  | 22.04.5 | Ubuntu 22.04 ARM  | **18** **17** **16** **15** **14** |   OK   |
|  `u24.x86_64`  | Ubuntu | 24  | 24.04.4 | Ubuntu 24.04 x86  | **18** **17** **16** **15** **14** |   OK   |
| `u24.aarch64`  | Ubuntu | 24  | 24.04.4 | Ubuntu 24.04 ARM  | **18** **17** **16** **15** **14** |   OK   |
|  `u26.x86_64`  | Ubuntu | 26  | 26.04.0 | Ubuntu 26.04 x86  | **18** **17** **16** **15** **14** |   OK   |
| `u26.aarch64`  | Ubuntu | 26  | 26.04.0 | Ubuntu 26.04 ARM  | **18** **17** **16** **15** **14** |   OK   |
{.full-width}


---------

## 源代码

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

- https://github.com/pgsty/rpm
- https://github.com/pgsty/deb
- https://github.com/pgsty/infra-pkg

---

Section pages:

- [PGDG 仓库](/docs/repo/pgdg/): PostgreSQL 官方 APT/YUM 仓库
- [GPG 密钥](/docs/repo/gpg/): 导入 Pigsty 仓库使用的 GPG 公钥以验证软件包签名完整性
- [INFRA 仓库](/docs/repo/infra/): 可观测性/PostgreSQL 工具软件仓库，Linux 发行版大版本无关的软件包
- [PGSQL 仓库](/docs/repo/pgsql/): PostgreSQL 扩展和内核分支仓库
