# 内核

> 您可以在 Pigsty 中使用特殊风味的 PostgreSQL 内核分支替代原生内核。
---

Pigsty 支持各种 PostgreSQL 内核和兼容分支，
使您能够模拟不同的数据库系统，同时利用 PostgreSQL 的生态系统。
每个内核都能提供独特的功能和兼容性层。

## 数据库内核 {#database-kernels}


**PostgreSQL**


带有 437 个扩展插件的原生 PostgreSQL 内核



**Citus**


PG 原生分布式扩展



**Babelfish**


SQL Server 线缆协议兼容



**IvorySQL**


Oracle 语法和 PL/SQL 兼容



**OpenHalo**


MySQL 线缆协议兼容



**Percona**


透明加密内核



**OrioleDB**


OLTP 优化的云原生存储引擎



**PolarDB PG**


类 Aurora RAC 风味的信创内核



**Supabase**


后端即服务，自托管 Firebase



**FerretDB**


MongoDB 线缆协议兼容的内核






--------

## 选择合适的内核 {#choose-the-right-kernel}

|                    内核                     |       关键特性        | 描述                                 |
|:-----------------------------------------:|:-----------------:|------------------------------------|
|  [PostgreSQL](/zh/docs/pgsql/kernel/postgres)  |     **原始版本**      | 原版 PostgreSQL 配备 437 扩展            |
|      [Citus](/zh/docs/pgsql/kernel/citus)      |     **水平扩展**      | 通过原生扩展实现分布式 PostgreSQL             |
|  [WiltonDB](/zh/docs/pgsql/kernel/babelfish)   | **SQL Server 迁移** | SQL Server 线协议兼容                   |
|   [IvorySQL](/zh/docs/pgsql/kernel/ivorysql)   |   **Oracle 迁移**   | Oracle 语法和 PL/SQL 兼容               |
|   [OpenHalo](/zh/docs/pgsql/kernel/openhalo)   |   **MySQL 迁移**    | MySQL 线协议兼容                        |
|    [Percona](/zh/docs/pgsql/kernel/percona)    |    **透明数据加密**     | 带有 pg_tde 的 Percona 发行版            |
|   [FerretDB](/zh/docs/pgsql/kernel/ferretdb)   |  **MongoDB 迁移**   | MongoDB 线协议兼容                      |
|   [OrioleDB](/zh/docs/pgsql/kernel/orioledb)   |    **OLTP 优化**    | Zheap，无膨胀，S3 存储                    |
|    [PolarDB](/zh/docs/pgsql/kernel/polardb)    | **Aurora 风格 RAC** | RAC，中国国产合规                         |
|   [Supabase](/zh/docs/pgsql/kernel/supabase)   |     **后端即服务**     | 基于 PostgreSQL 的 BaaS，Firebase 替代方案 |
| [Cloudberry](/zh/docs/pgsql/kernel/cloudberry) |  **MPP 数厂与数据分析**  | 大规模并行处理数据仓库（等待2.0GA）               |



## Citus（分布式） {#citus}

<a   href="#citus" class="no-underline">Citus</a>
原生分布式

Citus 将 PostgreSQL 转换为分布式数据库系统，实现跨多个节点的水平扩展。使用 Pigsty 部署原生 HA Citus 集群以获得更好的吞吐量和性能。

### 关键特性

- **分布式表**：自动将表分片到工作节点
- **分布式查询**：在整个集群中执行查询
- **高可用性**：内置复制和故障转移功能
- **实时分析**：处理事务和分析工作负载
- **Postgres 兼容性**：保持完整的 PostgreSQL 功能兼容性

### 用例

- 需要水平扩展的多租户 SaaS 应用程序
- 大型数据集的实时分析
- 高吞吐量 OLTP 工作负载
- 需要扩展超出单节点限制的应用程序

**说明**

**需要规划**：正确的分片键选择对于最佳性能和避免跨分片查询至关重要。


## Babelfish（MSSQL） {#babelfish}

<a href="/docs/pgsql/kernel/babelfish" class="no-underline">Babelfish</a>
SQL Server 线缆协议兼容

使用 WiltonDB 和 Babelfish 创建 SQL Server 兼容的 PostgreSQL 集群，提供与 Microsoft SQL Server 的线协议级别兼容性。

### 关键特性

- **T-SQL 支持**：原生执行 T-SQL 查询
- **线协议兼容性**：使用 SQL Server 驱动程序和工具连接
- **存储过程**：支持 T-SQL 存储过程和函数
- **数据类型**：与 SQL Server 数据类型和行为兼容
- **迁移工具**：简化从 SQL Server 环境的迁移

### 用例

- 将传统 SQL Server 应用程序迁移到 PostgreSQL
- 需要 SQL Server 兼容性的多数据库环境
- 在保持应用程序兼容性的同时降低成本
- 从 SQL Server 到开源替代方案的云迁移

**说明**

**迁移路径**：非常适合希望降低许可成本同时保持现有 SQL Server 应用程序兼容性的组织。

--------

## IvorySQL（Oracle） {#ivorysql}

<a href="/docs/pgsql/kernel/ivorysql" class="no-underline">Babelfish</a>
Oracle Grammar Compatible

使用 IvorySQL 内核运行 Oracle 兼容的 PostgreSQL 集群，由瀚高开源，提供 Oracle 语法和功能兼容性。

### 关键特性

- **PL/SQL 支持**：以最少的修改执行 PL/SQL 代码
- **Oracle 语法**：支持 Oracle 特定的 SQL 语法和函数
- **包支持**：Oracle 风格的包和过程定义
- **数据类型**：Oracle 兼容的数据类型和行为

### 用例

- Oracle 数据库迁移项目
- 寻求 Oracle 功能兼容性的组织
- 在保持 Oracle 功能的同时进行成本优化
- 需要 Oracle 兼容性的开发环境

**说明**

**企业焦点**：对于在 Oracle 上有重大投资并寻求迁移路径的企业特别有价值。

--------

## OpenHalo（MySQL） {#openhalo}

<a href="/docs/pgsql/kernel/openhalo" class="no-underline">OpenHalo</a>
MySQL Wire-Compatible

OpenHalo 内核提供 MySQL 兼容的 PostgreSQL 功能，可使用标准 MySQL 客户端和协议访问。

### 关键特性

- **MySQL 协议**：与 MySQL 协议的线级别兼容性
- **客户端兼容性**：使用现有的 MySQL 驱动程序和工具
- **SQL 方言**：支持 MySQL 特定的 SQL 语法
- **迁移支持**：简化从 MySQL 环境的迁移
- **生态系统集成**：在保持 MySQL 兼容性的同时利用 PostgreSQL 的高级功能

### 用例

- MySQL 应用程序迁移到 PostgreSQL
- 需要 MySQL 兼容性的多数据库环境
- 在保持 MySQL 接口的同时利用 PostgreSQL 功能
- 从 MySQL 到 PostgreSQL 的渐进式迁移策略

**说明**

**早期阶段**：目前处于实验阶段 - 在生产使用前请彻底评估。

--------

## OrioleDB（OLTP） {#orioledb}

<a href="/docs/pgsql/kernel/openhalo" class="no-underline">OrioleDB</a>
OLTP Optimized Cloud Native

为 OLTP 工作负载优化的 PostgreSQL 存储引擎，消除事务 ID 回绕问题和表膨胀，同时支持云存储。

与 PostgreSQL 17 兼容，在所有支持的平台上可用。

### 关键特性

- **无 XID 回绕**：消除事务 ID 回绕维护
- **无表膨胀**：高级存储管理防止表膨胀
- **云存储**：对 S3 兼容对象存储的原生支持
- **OLTP 优化**：专为事务工作负载设计
- **改进性能**：更好的空间利用率和查询性能

### 用例

- 高频事务应用程序
- 需要对象存储的云原生部署
- 受 PostgreSQL 维护开销影响的应用程序
- 需要无需清理周期的一致性能的系统

**说明**

**早期阶段**：目前处于 Beta 阶段 - 在生产使用前请彻底评估。

--------

## PolarDB PG（RAC） {#polardb}

<a href="/docs/pgsql/kernel/polardb" class="no-underline">PolarDB</a>
Aurora Flavor RAC

用 PolarDB PG 替换原版 PostgreSQL，这是一个开源的类 Aurora 解决方案，类似于具有共享存储架构的 Oracle RAC。

### 关键特性

- **共享存储**：多个计算节点共享同一存储层
- **读取扩展**：无需存储复制即可添加读副本
- **快速恢复**：通过共享存储架构快速恢复
- **成本效率**：通过共享降低存储成本
- **高可用性**：内置故障转移和灾难恢复

### 用例

- 需要极端读取可扩展性的应用程序
- 需要高可用性的成本敏感部署
- 具有共享存储基础设施的云环境
- 具有可变读写模式的工作负载

**说明**

**云架构**：专为具有分离计算和存储的云环境设计。

--------

## Supabase（Firebase） {#supabase}

<a href="/docs/pgsql/kernel/supabase" class="no-underline">Supabase</a>
Backend as a Service

使用现有托管的 HA PostgreSQL 集群自托管 Supabase，使用 docker-compose 启动无状态组件以获得完整的 Firebase 替代方案。

### 关键特性

- **实时 API**：自动生成的 REST 和 GraphQL API
- **实时订阅**：基于 WebSocket 的实时数据同步
- **身份验证**：内置用户身份验证和授权
- **存储**：具有 CDN 功能的文件存储
- **边缘函数**：用于自定义逻辑的无服务器函数

### 用例

- 使用后端即服务进行快速应用程序开发
- AI / Agent / SaaS 应用快速原型设计
- 需要即时数据同步的实时应用程序
- 需要身份验证和存储的移动和 Web 应用程序

**说明**

**全栈**：提供以 PostgreSQL 为基础的完整后端解决方案。

--------

## Greenplum（MPP） {#greenplum}

<a href="/docs/pgsql/kernel/cloudberry" class="no-underline">Cloudberry</a>
MPP Data Warehouse

使用 Pigsty 部署和监控 Greenplum/YMatrix MPP 集群，用于大规模分析处理和数据仓库。

### 关键特性

- **大规模并行处理**：在多个节点间分布查询
- **列式存储**：为分析工作负载优化的存储
- **高级分析**：内置机器学习和统计函数
- **PB 级扩展**：通过线性可扩展性处理大规模数据集
- **标准 SQL**：与 PostgreSQL 兼容的完整 SQL 合规性

### 用例

- 数据仓库和商业智能
- 大规模分析和报告
- 大数据集上的机器学习
- 企业数据平台的 ETL 处理

**说明**

**企业分析**：专为需要大规模并行处理能力的企业级分析工作负载而设计。

---

本节页面：

- [PostgreSQL](/zh/docs/pgsql/kernel/postgres/): 带有 437 扩展的原版 PostgreSQL 内核
- [Citus](/zh/docs/pgsql/kernel/citus/): PostgreSQL 分片的原生分布式扩展
- [Babelfish](/zh/docs/pgsql/kernel/babelfish/): PostgreSQL 上的 MS SQL Server 线协议兼容性
- [IvorySQL](/zh/docs/pgsql/kernel/ivorysql/): 具有 Oracle（语法）兼容性的 PostgreSQL 分支
- [Percona](/zh/docs/pgsql/kernel/percona/): 支持 TDE 的 Percona Postgres 发行版
- [PolarDB](/zh/docs/pgsql/kernel/polardb/): PolarDB for PostgreSQL，带有 aurora 风格的 RAC
- [OrioleDB](/zh/docs/pgsql/kernel/orioledb/): PostgreSQL 的下一代 OLTP 引擎
- [OpenHalo](/zh/docs/pgsql/kernel/openhalo/): MySQL 兼容的 Postgres 14 分支
- [Cloudberry](/zh/docs/pgsql/kernel/cloudberry/): Cloudberry 和 Greenplum，MPP 数据仓库
- [Supabase](/zh/docs/pgsql/kernel/supabase/): 在您的 Postgres 上自托管 BaaS —— Supabase
- [FerretDB](/zh/docs/pgsql/kernel/ferretdb/): MongoDB 线协议兼容的 PostgreSQL 方案
