# 兼容性

> Pigsty 兼容的操作系统发行版、内核与架构，PostgreSQL 大版本支持策略，不同环境下的可用的功能集差异。
---

----------------

## 概述

Pigsty 建议使用 **Linux** 内核，**amd64** 架构的节点，使用 **RockyLinux 8.9**，**Debian 12** 或 **Ubuntu 22.04** 操作系统。

[**内核架构兼容性**](#内核架构兼容性)：`Linux` 内核，`amd64` 架构（`x86_64`）

[**EL发行版支持**](#el系发行版支持)： **EL7**，**EL8**，**EL9** ；（RHEL, Rocky, CentOS, Alma, Oracle, Anolis,...）

[**Debian系发行版支持**](#debian系发行版支持)：**Ubuntu 22.04** `jammy`，**20.04** `focal`；**Debian 12** `bookworm` 与 **11** `bullseye`。

Pigsty 不使用任何虚拟化容器化技术，直接运行于裸操作系统上。
**EL** 是我们长期支持的操作系统，而 Ubuntu/Debian 系统的支持近期于 v2.5 版本中引入。
EL 系与 Debian 系的主要差别是：软件包名有显著差异，以及默认可用的 PostgreSQL [**扩展插件**](/zh/docs/reference/extension/) 会有所不同。

我们强烈建议使用 **RockyLinux 8.9** 或 **Ubuntu 22.04.3 LTS** 作为安装 Pigsty 的操作系统，我们针对这几种操作系统发行版的特定小版本预先准备了[**离线软件包**](/zh/docs/setup/offline#离线软件包)。
可以确保在没有互联网访问的情况下也能稳定可靠丝滑地完成安装。使用其他操作系统发行版首次进行 [**标准安装**](/zh/docs/setup/install) 时，通常需要您有互联网访问，以便下载并构建本地软件源。

如果您有对兼容性的高级需求，例如使用特定操作系统发行版大小版本，支持特定版本的 PostgreSQL，我们亦提供专业的 [**服务支持**](/zh/docs/about/service/) 选项。


----------------

## 内核架构兼容性

Pigsty 目前只支持 **Linux** 内核，与 `x86_64` / `amd64` 芯片架构。

MacOS 与 Windows 操作系统可以通过 Linux 虚拟机/容器的方式安装 Pigsty。我们提供了 [**Vagrant**](/zh/docs/setup/provision/) 本地沙箱支持，可以在其他操作系统上使用 Vagrant 和 Virtualbox 等虚拟化软件一键拉起 Pigsty 所需的部署环境。

**试验性 ARM64 支持**



我们在 [企业级订阅服务](/zh/docs/about/service/) 中试点提供部分国产操作系统/国产芯片的 `arm64` 架构支持，






----------------

## EL系发行版支持

EL 系操作系统是 Pigsty 的首要支持目标，包括 Red Hat Enterprise Linux，RockyLinux，CentOS，AlmaLinux，OracleLinux, Anolis 等兼容发行版，Pigsty 支持最近三个大版本： **7**，**8**，**9**

- **EL9**： RHEL，RockyLinux，AlmaLinux （<i class="fas fa-star text-secondary"></i> 推荐使用 Rocky 9.3）
- **EL8**： RHEL，RockyLinux，AlmaLinux，Anolis（推荐使用 Rocky 8.9）
- **EL7**： RHEL，CentOS 7.9 （推荐使用 CentOS 7.9）

|   代码    | 发行版                               | 小版本 |                          PG16                           |                       PG15                       |                   PG14                    |                   PG13                    |                   PG12                    | 局限性                                                                                             |
|:-------:|-----------------------------------|-----|:-------------------------------------------------------:|:------------------------------------------------:|:-----------------------------------------:|:-----------------------------------------:|:-----------------------------------------:|-------------------------------------------------------------------------------------------------|
| **EL8** | RHEL 8 / Rocky8 / Alma8 / Anolis8 | 8.9 |    <i class="fas fa-circle-check text-primary"></i>     |    <i class="fas fa-check text-primary"></i>     | <i class="fas fa-check text-primary"></i> | <i class="fas fa-check text-primary"></i> | <i class="fas fa-check text-primary"></i> | <i class="fas fa-star text-secondary"></i> **EL系标准功能集**                                         |
| **EL9** | RHEL 9 / Rocky9 / Alma9           | 9.3 |    <i class="fas fa-circle-check text-primary"></i>     |    <i class="fas fa-check text-primary"></i>     | <i class="fas fa-check text-primary"></i> | <i class="fas fa-check text-primary"></i> | <i class="fas fa-check text-primary"></i> | <i class="fas fa-triangle-exclamation text-secondary"></i> pgxnclient 缺失，perf 依赖冲突              |
| **EL7** | RHEL7 / CentOS7                   | 7.9 | <i class="fas fa-triangle-exclamation text-danger"></i> | <i class="fas fa-circle-check text-primary"></i> | <i class="fas fa-check text-primary"></i> | <i class="fas fa-check text-primary"></i> | <i class="fas fa-check text-primary"></i> | <i class="fas fa-triangle-exclamation text-danger"></i> PG16, supabase, pgml, duckdb_fdw 等扩展不可用 |


**建议使用 RockyLinux 8.9**

<i class="fas fa-star text-secondary"></i>
Rocky 8.9 在系统可靠性/稳定性与软件版本的新颖性/齐全性上取得了良好的平衡，建议 EL 系用户默认使用此系统版本。



**谨慎使用 EL7**

<i class="fas fa-triangle-exclamation text-danger"></i>
Red Hat Enterprise Linux 7 将于 2024年6月[停止维护](https://www.redhat.com/en/blog/end-maintenance-red-hat-enterprise-linux-7-almost-here)，同时 PGDG 也不再为 PostgreSQL 16 提供 EL7 二进制包支持。





----------------

## Debian系发行版支持

Pigsty 支持 **Ubuntu** / **Debian** 系操作系统及其兼容发行版，目前支持范围为两个最近的 LTS 大版本，即：

- **U22**： Ubuntu 22.04 jammy（推荐使用 22.04.3 LTS）
- **U20**： Ubuntu 20.04 focal（推荐使用 20.04.6 LTS）
- **D12**： Debian 12 bookworm（推荐使用 12.4）
- **D11**： Debian 11 bullseye（推荐使用 11.8）

|   代码    | Debian系发行版           | 小版本     |                       PG16                       |                   PG15                    |                   PG14                    |                   PG13                    |                   PG12                    | 局限性                                                                   |
|:-------:|----------------------|---------|:------------------------------------------------:|:-----------------------------------------:|:-----------------------------------------:|:-----------------------------------------:|:-----------------------------------------:|-----------------------------------------------------------------------|
| **U22** | Ubuntu 22.04 (jammy) | 22.04.3 | <i class="fas fa-circle-check text-primary"></i> | <i class="fas fa-check text-primary"></i> | <i class="fas fa-check text-primary"></i> | <i class="fas fa-check text-primary"></i> | <i class="fas fa-check text-primary"></i> | <i class="fas fa-star text-secondary"></i> Debian系标准功能集               |
| **U20** | Ubuntu 20.04 (focal) | 20.04.6 | <i class="fas fa-circle-check text-primary"></i> | <i class="fas fa-check text-primary"></i> | <i class="fas fa-check text-primary"></i> | <i class="fas fa-check text-primary"></i> | <i class="fas fa-check text-primary"></i> | <i class="fas fa-triangle-exclamation text-secondary"></i> 部分扩展需要在线安装 |
| **D12** | Debian 12 (bookworm) | 12.4    | <i class="fas fa-circle-check text-primary"></i> | <i class="fas fa-check text-primary"></i> | <i class="fas fa-check text-primary"></i> | <i class="fas fa-check text-primary"></i> | <i class="fas fa-check text-primary"></i> |                                                                       |
| **D11** | Debian 11 (bullseye) | 11.8    | <i class="fas fa-circle-check text-primary"></i> | <i class="fas fa-check text-primary"></i> | <i class="fas fa-check text-primary"></i> | <i class="fas fa-check text-primary"></i> | <i class="fas fa-check text-primary"></i> |                                                                       |


**建议使用 Ubuntu 22.04 LTS**

 <i class="fas fa-star text-secondary"></i>
Ubuntu 22.04 带有一些独特的扩展支持，例如 `pg_graphql`，`pg_net`，`pg_bm25`，`pg_analytics`，`pg_sparse`。

Postgres 机器学习扩展 `pgml` 官方支持仅限 Ubuntu 22.04 ，有相关需求的用户建议使用此系统版本：Ubuntu 22.04.3。



**谨慎使用 Ubuntu 20.04 LTS**

 <i class="fas fa-triangle-exclamation text-secondary"></i>
Ubuntu 20.04 的 `postgresql-16-postgis` 与 `postgresql-server-dev-16` 软件包有依赖缺失，需要在联网环境下在线安装。

如果您的环境没有互联网访问，又需要用到 PostGIS 扩展，请谨慎使用此操作系统。




----------------

## Vagrant 镜像参考

当您使用云服务器部署 Pigsty 时，可以考虑在 Vagrant 中使用以下操作系统镜像，这也是 Pigsty 开发测试构建使用的镜像。

- [`generic/centos7`](https://app.vagrantup.com/generic/boxes/centos7)： CentOS 7.9
- [`generic/rocky8`](https://app.vagrantup.com/generic/boxes/rocky8)： Rocky 8.9
- [`generic/rocky9`](https://app.vagrantup.com/generic/boxes/rocky9)： Rocky 9.3
- [`generic/debian11`](https://app.vagrantup.com/generic/boxes/debian11)： Debian 11.8
- [`generic/debian12`](https://app.vagrantup.com/generic/boxes/debian12)： Debian 12.4
- [`generic/ubuntu2004`](https://app.vagrantup.com/generic/boxes/ubuntu2004)： Ubuntu 20.04.6
- [`generic/ubuntu2204`](https://app.vagrantup.com/generic/boxes/ubuntu2204)： Ubuntu 22.04.3


----------------

## Terraform 镜像参考

当您使用云服务器部署 Pigsty 时，可以考虑在 Terraform 中使用以下操作系统基础镜像，以阿里云为例：

- CentOS 7.9     :  `centos_7_9_x64_20G_alibase_20231220.vhd`
- Rocky 8.9      :  `rockylinux_8_9_x64_20G_alibase_20231221.vhd`
- Rocky 9.3      :  `rockylinux_9_3_x64_20G_alibase_20231221.vhd`
- Ubuntu 20.04.3 :  `ubuntu_20_04_x64_20G_alibase_20231221.vhd`
- Ubuntu 22.04.6 :  `ubuntu_22_04_x64_20G_alibase_20231221.vhd`
- Debian 11.7    :  `debian_11_7_x64_20G_alibase_20230907.vhd`
- Debian 12.4    :  `debian_12_4_x64_20G_alibase_20231220.vhd`
- Anolis 8.8     :  `anolisos_8_8_x64_20G_rhck_alibase_20230804.vhd`



----------------

## 参考阅读

《[EL系操作系统兼容性哪家强？](https://pigsty.cc/blog/db/rhel-compatibility/)》
