自给自足的开源老司机
自给自足的开源老司机
这是本节的多页打印视图。 .
“PostgreSQL In Great STYle”: Postgres, Infras, Graphics, Service, Toolbox, it’s all Yours.
—— 开箱即用、本地优先的 PostgreSQL 发行版,开源 RDS 替代

Pigsty 是一个更好的本地开源 RDS for PostgreSQL 替代:
PostgreSQL 整合了生态中的工具与最佳实践:
让您立刻在本地拥有生产级的PostgreSQL数据库服务!
PostgreSQL 是一个足够完美的数据库内核,但它需要更多工具与系统的配合才能成为一个足够好的数据库服务(RDS),而 Pigsty 帮助 PostgreSQL 完成这一步飞跃,帮助用户用好这个强大的数据库。
Pigsty 支持的数据库版本覆盖 PostgreSQL 12 ~ 16,可以运行于 EL/Debian/Ubuntu 以及 兼容 操作系统发行版中。 除了数据库内核与大量开箱即用的扩展插件以外,Pigsty更是提供了数据库服务所需的完整运行时基础设施,与本地沙箱/生产环境/IaaS全自动部署方案。
您无需依赖任何外部组件或互联网访问,便可以在任何环境中一键拉起生产级的 PostgreSQL RDS 服务,10分钟从全新裸机进入生产可用状态。 参数将根据您的硬件规格自动进行优化调整,内核扩展安装,连接池,负载均衡,服务接入,高可用/自动切换,日志监控,备份恢复PITR,访问控制,参数调优,安全加密,证书签发,NTP,DNS,配置管理,CMDB,管理预案……,所有这些在生产环境中可能会遇到的问题,Pigsty 都帮您预先考虑好了。 您所要做的就是一键安装好,然后使用连接串URL连上去使用即可。
彻底释放世界上最先进的关系型数据库的力量!
PostgreSQL 的灵魂在于其丰富的 扩展插件 生态,而 Pigsty 深度整合了 PostgreSQL 生态扩展插件,为您提供开箱即用的分布式的时序地理空间图文向量数据库能力!让这些插件产生协同化合反应,产生 1+1 » 2 的效果。
Pigsty 收录了255 个 PostgreSQL 扩展插件,编译维护打包了一些官方仓库没有收录的扩展,并且通过充分的测试确保所有这些插件可以正常协同工作: 您可以使用 PostGIS 处理地理空间数据,使用 TimescaleDB 分析时序/事件流数据,使用 Citus 将单机数据库原地改造为水平扩展的分布式数据库集群, 使用 PGVector 存储并搜索 AI 嵌入实现向量数据库的效果,使用 Apache AGE 进行图数据存储与检索实现 Neo4J 的效果,使用 ParadeDB 实现 ElasticSearch 的效果, 以及 Hydra、 DuckdbFDW、与 pg_analytics 获取专用 OLAP 数据库的分析效果。
Pigsty 还允许您在裸机高可用 PostgreSQL 集群上自行托管 Supabase 与 PostgresML ,并与海量扩展组合使用。 如果您想要的扩展没有被 Pigsty 收录,欢迎提出收录 建议 或自行编译加装。
灵活组合,自由扩展,多数据库支持,监控现有RDS/主机/数据库
在 Pigsty 中功能组件被抽象为 模块,可以自由组合以应对多变的需求场景。INFRA 模块带有完整的现代监控技术栈,而 NODE 模块则将节点调谐至指定状态并纳入监控。
在多个节点上安装 PGSQL 模块会自动组建出一个基于主从复制的高可用数据库集群,而同样的 ETCD 模块则为数据库高可用提供共识与元数据存储。可选的 MINIO模块可以用作图像视频等大文件存储并可选用为数据库备份仓库。
与 PG 有着极佳相性的 REDIS 亦为 Pigsty 所支持,Pigsty 也允许您使用 MONGO 模块,利用 FerretDB 在 PostgreSQL 集群上提供 MongoDB 协议兼容的服务。
更多的模块(如 GPSQL, MYSQL, KAFKA)将会在后续加入,你也可以开发自己的模块并自行扩展 Pigsty 的能力,并与社区用户分享。
此外,Pigsty的监控系统模块部分还可以 独立使用 ——用它来监控现有的主机节点与数据库实例,或者是云上的 RDS 服务。只需要一个连接串一行命令,您就可以获得极致的 PostgreSQL 可观测性体验。
使用现代开源可观测性技术栈,提供无与伦比的监控最佳实践!
Pigsty 提供了基于开源的 Grafana / Prometheus 现代可观测性技术栈做 监控 的最佳实践:Prometheus 用于收集监控指标,Grafana 负责可视化呈现,Loki 用于日志收集与查询,Alertmanager 用于告警通知。 PushGateway 用于批处理任务监控,Blackbox Exporter 负责检查服务可用性。整套系统同样被设计为一键拉起,开箱即用的 INFRA 模块。
Pigsty 所管理的任何组件都会被自动纳入监控之中,包括主机节点,负载均衡 HAProxy,数据库 Postgres,连接池 Pgbouncer,元数据库 ETCD,KV缓存 Redis,对象存储 MinIO,……,以及整套监控基础设施本身。大量的 Grafana 监控面板与预置告警规则会让你的系统观测能力有质的提升,当然,这套系统也可以被复用于您的应用监控基础设施,或者监控已有的数据库实例或 RDS。
无论是故障分析还是慢查询优化、无论是水位评估还是资源规划,Pigsty 为您提供全面的数据支撑,真正做到数据驱动。在 Pigsty 中,超过三千类监控指标被用于描述整个系统的方方面面,并被进一步加工、聚合、处理、分析、提炼并以符合直觉的可视化模式呈现在您的面前。从全局大盘总览,到某个数据库实例中单个对象(表,索引,函数)的增删改查详情都能一览无余。您可以随意上卷下钻横向跳转,浏览系统现状与历史趋势,并预测未来的演变。
开箱即用的高可用与时间点恢复能力,确保你的数据库坚如磐石!
对于软件缺陷或人为误操作造成的删表删库,Pigsty 提供了开箱即用的 PITR 时间点恢复能力,无需额外配置即默认启用。只要存储空间管够,基于 pgBackRest 的基础备份与 WAL 归档让您拥有快速回到过去任意时间点的能力。您可以使用本地目录/磁盘,亦或专用的 MinIO 集群或 S3 对象存储服务保留更长的回溯期限,丰俭由人。
更重要的是,Pigsty 让高可用与故障自愈成为 PostgreSQL 集群的标配,基于 patroni, etcd, 与 haproxy 打造的故障自愈架构,让您在面对硬件故障时游刃有余:主库故障自动切换的 RTO < 30s(可配置),一致性优先模式下确保数据零损失 RPO = 0。只要集群中有任意实例存活,集群就可以对外提供完整的服务,而客户端只要连接至集群中的任意节点,即可获得完整的服务。
Pigsty 内置了 HAProxy 负载均衡器用于自动流量切换,提供 DNS/VIP/LVS 等多种接入方式供客户端选用。故障切换与主动切换对业务侧除零星闪断外几乎无感知,应用不需要修改连接串重启。极小的维护窗口需求带来了极大的灵活便利:您完全可以在无需应用配合的情况下滚动维护升级整个集群。硬件故障可以等到第二天再抽空善后处置的特性,让研发,运维与 DBA 都能安心睡个好觉。 许多大型组织与核心机构已经在生产环境中长时间使用 Pigsty ,最大的部署有 25K CPU 核心与 200+ PostgreSQL 超大规格实例;在这一部署案例中,四年内经历了数十次硬件故障与各类事故,但依然可以保持比 99.999% 更高的可用性战绩。
Infra as Code, 数据库即代码,声明式的API将数据库管理的复杂度来封装。
Pigsty 使用声明式的接口对外提供服务,将系统的可控制性拔高到一个全新水平:用户通过配置清单告诉 Pigsty “我想要什么样的数据库集群”,而不用去操心到底需要怎样去做。从效果上讲,这类似于 K8S 中的 CRD 与 Operator,但 Pigsty 可用于任何节点上的数据库与基础设施:不论是容器,虚拟机,还是物理机。
无论是创建/销毁集群,添加/移除从库,还是新增数据库/用户/服务/扩展/黑白名单规则,您只需要修改配置清单并运行 Pigsty 提供的幂等剧本,而 Pigsty 负责将系统调整到您期望的状态。 用户无需操心配置的细节,Pigsty将自动根据机器的硬件配置进行调优,您只需要关心诸如集群叫什么名字,有几个实例放在哪几台机器上,使用什么配置模版:事务/分析/核心/微型,这些基础信息,研发也可以自助服务。但如果您愿意跳入兔子洞中,Pigsty 也提供了丰富且精细的控制参数,满足最龟毛 DBA 的苛刻定制需求。
除此之外,Pigsty 本身的安装部署也是一键傻瓜式的,所有依赖被预先打包,在安装时可以无需互联网访问。而安装所需的机器资源,也可以通过 Vagrant 或 Terraform 模板自动获取,让您在十几分钟内就可以从零在本地笔记本或云端虚拟机上拉起一套完整的 Pigsty 部署。本地沙箱环境可以跑在1核2G的微型虚拟机中,提供与生产环境完全一致的功能模拟,可以用于开发、测试、演示与学习。
加密备份一应俱全,只要硬件与密钥安全,您无需操心数据库的安全性。
每套 Pigsty 部署都会创建一套自签名的 CA 用于证书签发,所有的网络通信都可以使用 SSL 加密。数据库密码使用合规的 scram-sha-256 算法加密存储,远端备份会使用 AES-256 算法加密。此外还针对 PGSQL 提供了一套开箱即用的的访问控制体系,足以应对绝大多数应用场景下的安全需求。
Pigsty 针对 PostgreSQL 提供了一套开箱即用,简单易用,精炼灵活的,便于扩展的访问控制体系,包括职能分离的四类默认角色:读(DQL) / 写(DML) / 管理(DDL) / 离线(ETL) ,与四个默认用户:dbsu / replicator / monitor / admin。 所有数据库模板都针对这些角色与用户配置有合理的默认权限,而任何新建的数据库对象也会自动遵循这套权限体系,而客户端的访问则受到一套基于最小权限原则的设计的 HBA 规则组限制,任何敏感操作都会记入日志审计。
任何网络通信都可以使用 SSL 加密,需要保护的敏感管理页面与API端点都受到多重保护:使用用户名与密码进行认证,限制从管理节点/基础设施节点IP地址/网段访问,要求使用 HTTPS 加密网络流量。Patroni API 与 Pgbouncer 因为性能因素默认不启用 SSL ,但亦提供安全开关便于您在需要时开启。 合理配置的系统通过等保三级毫无问题,只要您遵循安全性最佳实践,内网部署并合理配置安全组与防火墙,数据库安全性将不再是您的痛点。
使用预置的Docker模板,一键拉起使用PostgreSQL的海量软件!
在各类数据密集型应用中,数据库往往是最为棘手的部分。例如 Gitlab 企业版与社区版的核心区别就是底层 PostgreSQL 数据库的监控与高可用,如果您已经有了足够好的本地 PG RDS,完全可以拒绝为软件自带的土法手造数据库组件买单。
Pigsty 提供了 Docker 模块与大量开箱即用的 Compose 模板。您可以使用 Pigsty 管理的高可用 PostgreSQL (以及 Redis 与 MinIO )作为后端存储,以无状态的模式一键拉起这些软件: Gitlab、Gitea、Wiki.js、NocoDB、Odoo、Jira、Confluence、Habour、Mastodon、Discourse、KeyCloak 等等。如果您的应用需要一个靠谱的 PostgreSQL 数据库, Pigsty 也许是最简单的获取方案。
Pigsty 也提供了与 PostgreSQL 紧密联系的应用开发工具集:PGAdmin4、PGWeb、ByteBase、PostgREST、Kong、以及 EdgeDB、FerretDB、Supabase 这些使用 PostgreSQL 作为存储的"上层数据库"。更奇妙的是,您完全可以基于 Pigsty 内置了的 Grafana 与 Postgres ,以低代码的方式快速搭建起一个交互式的数据应用来,甚至还可以使用 Pigsty 内置的 ECharts 面板创造更有表现力的交互可视化作品。
Pigsty是基于 AGPLv3 开源的自由软件,由热爱 PostgreSQL 的社区成员用热情浇灌
Pigsty 是完全 开源免费 的自由软件,它允许您在缺乏数据库专家的情况下,用几乎接近纯硬件的成本来运行企业级的 PostgreSQL 数据库服务。作为对比,公有云厂商提供的 RDS 会收取底层硬件资源几倍到十几倍不等的 溢价 作为 “服务费”。
很多用户选择上云,正是因为自己搞不定数据库;很多用户使用 RDS,是因为别无他选。我们将打破云厂商的垄断,为用户提供一个云中立的,更好的 RDS 开源替代: Pigsty 紧跟 PostgreSQL 上游主干,不会有供应商锁定,不会有恼人的 “授权费”,不会有节点数量限制,不会收集您的任何数据。您的所有的核心资产 —— 数据,都能"自主可控",掌握在自己手中。
Pigsty 本身旨在用数据库自动驾驶软件,替代大量无趣的人肉数据库运维工作,但再好的软件也没法解决所有的问题。总会有一些的冷门低频疑难杂症需要专家介入处理。这也是为什么我们也提供专业的 订阅服务,来为有需要的企业级用户使用 PostgreSQL 提供兜底。几万块的订阅咨询费不到顶尖 DBA 每年工资的几十分之一,让您彻底免除后顾之忧,把成本真正花在刀刃上。对于社区用户,我们亦用爱发电,提供免费的支持与日常答疑。
Pigsty 提供了四个 核心 功能模块,对于提供完整高可用的 PostgreSQL 服务必不可少:
PGSQL:由 Patroni、Pgbouncer、HAproxy、PgBackrest 等驱动的自治高可用 PostgreSQL 集群。INFRA:本地软件仓库、Prometheus、Grafana、Loki、AlertManager、PushGateway、Blackbox Exporter…NODE:调整节点到所需状态、名称、时区、NTP、ssh、sudo、haproxy、docker、promtail、keepalivedETCD:分布式键值存储,用作高可用 Postgres 集群的 DCS:共识选主/配置管理/服务发现。Pigsty 提供了四个 可选 扩展模块,它对于核心功能来说并非必须,但可以用于增强 PostgreSQL 的能力:
MINIO:S3 兼容的简单对象存储服务器,可作为可选的 PostgreSQL 数据库备份仓库,带有生产部署支持与监控。REDIS:Redis 服务器,高性能数据结构服务器,支持独立主从、哨兵、集群模式生产部署,并带有完善的监控支持。MONGO:FerertDB 原生部署支持 —— 它为 PostgreSQL 添加了 MongoDB 线缆协议级别的 API 兼容支持!DOCKER:Docker Daemon 服务,允许用户一键拉起容器化的无状态软件工具模板,加装各种功能。Pigsty v2.7 记录了以下试点与计划中的数据库功能,如果您感兴趣,可以考虑试用,并向我们提出建议与需求反馈:
DUCK:Pigsty 默认在离线软件安装包中囊括了 DuckDB,提供强大的单机嵌入式分析能力(实装阶段)CLOUD:Pigsty 计划使用 SealOS 提供 Kubernetes 部署与监控支持(Beta)MYSQL:Pigsty 正在研究为 MySQL 添加高可用部署支持,作为一个可选的扩展功能(Alpha阶段)GPSQL:Pigsty 计划提供对 Greenplum 生产级部署的支持(试点阶段,特定版本实装阶段)KAFKA:Pigsty 计划提供一种消息队列支持(计划阶段)Pigsty v2.7 同时提供若干容器应用模板:
JUPYTER:Pigsty 提供开箱即用的 Jupyter Notebook 环境,用于数据分析与机器学习等场景(Alpha阶段)SUPABASE:Pigsty 在 EL系操作系统 发行版中提供了完整的自托管 Supabase 支持(实装阶段)PGML:Pigsty 在 Ubuntu 系操作系统中提供了对 PGML 的完整支持(实装阶段)Pigsty 的 INFRA 模块可以独立使用,作为开箱即用的监控基础设施,监控其他节点或现有 PostgreSQL 数据库
RDS PG:是云厂商提供的 PostgreSQL RDS 服务,将其视作标准的外部 Postgres 实例即可纳入监控PolarDB:是阿里云的云原生数据库,将其视作外部 PostgreSQL 11 / 14 实例即可纳入监控。KingBase: 是人大金仓提供的信创国产数据库,视作外部 PostgreSQL 12 实例即可纳入监控。Greenplum / YMatrixDB 监控,目前将其视作水平分片的 PostgreSQL 集群即可纳入监控。此外 Pigsty 还计划支持监控其他种类的数据库系统:
MySQL: Pigsty 目前对 MySQL 监控提供了初步支持(Alpha)Kafka: Pigsty 计划提供对 Kafka 提供监控支持(计划中)MongoDB:Pigsty 计划提供对 MongoDB 提供监控支持(计划中)Pigsty 还提供了一些可以通过 DOCKER 模块快速拉起提供服务,例如底层使用了 PostgreSQL 作为实际状态存储的各类二阶 “数据库”:
Supabase:基于 PostgreSQL 的开源 Firebase 替代,Pigsty 在 EL系操作系统 中提供了它所需的扩展,允许您快速自建 Supabase。FerretDB:基于 PostgreSQL 的开源 MongoDB 替代,您可以通过 Docker Compose 的方式快速拉起容器化的 FerretDB。NocoDB:基于 PostgreSQL 的开源 AirTable 替代,提供了低代码应用的开发能力。如果您需要一个 Web Excel,可以考虑使用 NocoDBMetabase:快速进行库内数据分析,提供友好Web界面的集成工具箱。当您需要探索 PostgreSQL 内的数据时,可以考虑使用 Metabase。考虑纳入支持的扩展:
需要更新跟进的扩展:
Pigsty 使用语义化版本号,例如:<主版本>.<次版本>.<修订号>。Alpha/Beta/RC 版本会在版本号后添加后缀,如 -a1, -b1, -rc1。
主版本更新意味着基础性变化和大量新特性;次版本更新通常表示新特性,软件包版本更新和较小的API变动,修订版本更新意味着修复bug和文档更新。
Pigsty 计划每年发布一次主版本更新,次版本更新通常跟随 PostgreSQL 小版本更新节奏,在 PostgreSQL 新版本发布后最迟一个月内跟进,通常每年 4 - 6 个小版本,完整发布历史请参考 发行注记 。
Pigsty 使用 master 主干分支进行开发,请始终使用特定版本的 发行版。除非您知道自己在做什么,否则不要使用GitHub的 master 分支。
Pigsty 使用 master 主干分支进行开发,请始终使用特定版本的 发行版。除非您知道自己在做什么,否则不要使用GitHub的 master 分支。
Pigsty 项目始于 2018 ~ 2019 年,起源于 探探。 探探是一个互联网交友 App —— 中国的 Tinder,现已被陌陌收购。 探探这家公司是一个北欧 Style 的创业公司,有着一个瑞典工程师初创团队。
探探在技术上极有品味,使用 PostgreSQL 与 Go 作为核心技术栈。 探探整个系统架构参照了 Instagram ,一切围绕 PostgreSQL 数据库设计。 直到几百万日活,几百万 TPS,几百 TB 数据的量级下,数据组件 只用了 PostgreSQL。 几乎所有的业务逻辑都使用 PG 存储过程实现 —— 甚至包括 100ms 的推荐算法!
探探这种深度使用 PostgreSQL 特性的非典型研发模式,对工程师与DBA的水平提出了极高的要求。 而 Pigsty ,就是我们用这种真实世界的大规模,高标准数据库集群场景打磨出的开源项目 —— 沉淀着我们作为顶尖 PostgreSQL 专家的经验与最佳实践。
在最开始,Pigsty 并没有现在这样的愿景、目标与版图。而是旨在提供一个供我们自己使用的 PostgreSQL 监控系统。 我们调研了市面上所有的方案,开源的、商业的、云的,datadog, pgwatch,…… ,没有一个能满足我们对于可观测性的需求。 因此我们决定亲自动手,基于 Grafana 与 Prometheus 自己动手打造一个,这就是 Pigsty 的前身与雏形。Pigsty 作为监控系统的效果相当惊艳,帮助我们解决了无数管理问题。
随后,研发人员希望在本地的开发机上也有这样的监控系统,于是我们使用 Ansible 编写了置备剧本,将这套系统从一次性建设转变为了可重复使用的软件。 新的功能允许用户使用 Vagrant 和 Terraform,用 Infra as Code 的方式快速拉起本地 DevBox 开发机,或生产环境服务器,并自动完成 PostgreSQL 与监控系统的部署。
接下来,我们重新设计了生产环境的 PostgreSQL 架构,引入了 Patroni 与 pgBackRest 解决了数据库的 高可用 与 时间点恢复 问题。开发了基于逻辑复制的不停机 迁移 方案,通过蓝绿部署将生产环境两百套数据库集群滚动升级至最新大版本。并将这些能力引入 Pigsty 中。
Pigsty 是我们做给自己使用的软件,我们自己作为甲方用户,非常清楚自己需要什么,也不会在自己的需求上偷懒。 “Eat dog food”最大的好处就是,我们自己既是开发者也更是用户 —— 因此非常了解自己需要什么,也不会在自己的需求上偷懒。
我们解决了一个又一个的问题,并将解决方案沉淀到 Pigsty 里。Pigsty 的定位,也从一个监控系统,逐渐发展成为一个开箱即用的 PostgreSQL 数据库发行版。 因此在这一阶段,我们决定将 Pigsty 对外开源,并开始了一系列的技术分享与宣传,也开始有各行各业的外部用户使用起 Pigsty 并提出反馈意见。
在 2022 年,Pigsty 项目获得了由陆奇博士发起的奇绩创坛的种子轮投资,我得以全职出来做这件事情。
作为一个开源项目,Pigsty 的发展相当不赖,在全职创业这两年里,Pigsty 在 Github 上的 Star 数从的 几百翻了几番到了 2400;上了 HN 头条推荐,增长开始滚起雪球; 在 OSSRank 开源榜单 中,Pigsty 在 PostgreSQL 生态项目中排名第 37 名,在中国人主导的项目里是最靠前的。
从前 Pigsty 只能跑在 CentOS7 上,现今已经基本覆盖了所有主流 Linux 发行版。支持的 PG 大版本覆盖 12 - 16,收录整合了 PG 生态中的 255 个扩展插件。 其中一些官方仓库中没有的扩展,也是我自己编译打包测试维护的。算上 Pigsty 本身,“基于开源,回馈开源”,也算是为 PG 生态做一些贡献。
Pigsty 的定位,也在不断发展的过程中,从一个 PostgreSQL 数据库发行版,进一步扩展到了 开源云数据库替代。它真正对标的是云厂商的整个云数据库品牌。
AWS、Azure、GCP、Aliyun 等公有云厂商为初创企业提供了许多便利,但它们是闭源的,并迫使用户以高额费用租赁基础资源。
我们认为,优秀的数据库服务,应该和优秀的数据库内核一样,普及到每一个用户手中,而不是必须花费高昂的代价去向赛博领主租赁。
云计算的敏捷与弹性都很好,但它应该是自由、开源、普惠、本地优先的 —— 我们认为云计算宇宙中需要一个代表开源价值观的解决方案,在不牺牲云带来好处的前提下,将基础设施的控制权交还给用户。
因此,我们也在引领着一场下云的运动与战役,作为公有云的反叛者,来重塑这个行业的价值观。
我希望,未来的世界人人都有自由使用优秀服务的事实权利,而不是只能被圈养在几个公有云厂商提供的猪圈(Pigsty)里坐井观天。
这正是 Pigsty要做的事 —— 一个更好的,开源免费的RDS替代。让用户能够在任何地方(包括云服务器)上,一键拉起有比云RDS更好的数据库服务。
Pigsty 是是对 PostgreSQL 的彻底补完,更是对云数据库的辛辣嘲讽。它本意是“猪圈”,但更是 Postgres In Great STYle 的缩写,即“全盛状态下的 PostgreSQL”。
Pigsty 本身是一款完全开源免费的软件,我们纯粹靠提供 咨询与服务 来维持运营 建设良好的系统也许跑个几年都不会遇到需要 ”兜底“ 的问题,但数据库的问题一但出现就不是小问题。很多时候,专家的经验更是能够一言化腐朽为神奇,而我们为有需求的客户提供这样的服务 —— 我们认为这是一种更加公正、合理的模式。
我是冯若航,Pigsty 的作者,Pigsty 绝大部分的代码由我 一人开发,个别特性由社区贡献。
软件领域依然存在个人英雄主义,独一无二的个体才能够创造出独一无二的作品来 —— 我希望 Pigsty 能够成为这样的作品。
如果您对我感兴趣,这里是我的个人主页:https://vonng.com/
PostgreSQL 全球社区官网最近发布了我们的最新版本 v2.7.0 的新闻,欢迎大家前往查看!
Pigsty v2.7 发布!
Pigsty v2.6 Released!
The name of this project always makes me grin: PIGSTY is actually an acronym, standing for Postgres In Great STYle! It’s a Postgres distribution that includes lots of components and tools out of the box in areas like availability, deployment, and observability. The latest release pushes everything up to Postgres 16.2 standards and introduces new ParadeDB and DuckDB FDW extensions.
这个项目的名字总能让我笑开花:PIGSTY 实际上是一个首字母缩略词,代表 Postgres In Great STYle!它是一个 Postgres 发行版,包括了大量的组件和工具,涵盖了可用性、部署和可观测性等领域。最新版本将所有内容推进到了 Postgres 16.2,并引入了新的 ParadeDB 和 DuckDB FDW 扩展。
| 版本 | 发布时间 | 摘要 | 地址 |
|---|---|---|---|
| v2.7.0 | 2024-05-20 | 扩展大爆炸,新增20+强力扩展插件,与多款Docker应用 | v2.7.0 |
| v2.6.0 | 2024-02-28 | PG 16 作为默认大版本,引入 ParadeDB 与 DuckDB 等扩展 | v2.6.0 |
| v2.5.1 | 2023-12-01 | 例行小版本更新,PG16重要扩展支持 | v2.5.1 |
| v2.5.0 | 2023-09-24 | Ubuntu/Debian支持:bullseye, bookworm, jammy, focal | v2.5.0 |
| v2.4.1 | 2023-09-24 | Supabase/PostgresML支持与各种新扩展:graphql, jwt, pg_net, vault | v2.4.1 |
| v2.4.0 | 2023-09-14 | PG16,监控RDS,服务咨询支持,新扩展:中文分词全文检索/图/HTTP/嵌入等 | v2.4.0 |
| v2.3.1 | 2023-09-01 | 带HNSW的PGVector,PG 16 RC1, 文档翻新,中文文档,例行问题修复 | v2.3.1 |
| v2.3.0 | 2023-08-20 | 主机VIP, ferretdb, nocodb, MySQL存根, CVE修复 | v2.3.0 |
| v2.2.0 | 2023-08-04 | 仪表盘 & 置备重做,UOS 兼容性 | v2.2.0 |
| v2.1.0 | 2023-06-10 | 支持 PostgreSQL 12 ~ 16beta | v2.1.0 |
| v2.0.2 | 2023-03-31 | 新增 pgvector 支持,修复 MinIO CVE | v2.0.2 |
| v2.0.1 | 2023-03-21 | v2 错误修复,安全增强,升级 Grafana 版本 | v2.0.1 |
| v2.0.0 | 2023-02-28 | 架构大升级,兼容性、安全性、可维护性显著增强 | v2.0.0 |
| v1.5.1 | 2022-06-18 | Grafana 安全性修复 | v1.5.1 |
| v1.5.0 | 2022-05-31 | Docker 应用程序支持 | v1.5.0 |
| v1.4.1 | 2022-04-20 | 错误修复 & 英文文档完整翻译 | v1.4.1 |
| v1.4.0 | 2022-03-31 | MatrixDB 支持,分离 INFRA/NODES/PGSQL/REDIS模块 | v1.4.0 |
| v1.3.0 | 2021-11-30 | PGCAT 重整 & PGSQL 增强 & Redis Beta支持 | v1.3.0 |
| v1.2.0 | 2021-11-03 | 默认 PGSQL 版本升级至 14 | v1.2.0 |
| v1.1.0 | 2021-10-12 | 主页, JupyterLab, PGWEB, Pev2 & pgbadger | v1.1.0 |
| v1.0.0 | 2021-07-26 | v1 正式版, 监控系统重整 | v1.0.0 |
| v0.9.0 | 2021-04-04 | Pigsty 图形界面, 命令行界面, 日志集成 | v0.9.0 |
| v0.8.0 | 2021-03-28 | 服务置备,定制对外暴露的数据库服务 | v0.8.0 |
| v0.7.0 | 2021-03-01 | 仅监控部署,监控现有 PostgreSQL 实例 | v0.7.0 |
| v0.6.0 | 2021-02-19 | 架构增强,将PG与Consul解耦 | v0.6.0 |
| v0.5.0 | 2021-01-07 | 支持在配置中定义业务数据库/用户 | v0.5.0 |
| v0.4.0 | 2020-12-14 | 支持 PostgreSQL 13,添加官方文档 | v0.4.0 |
| v0.3.0 | 2020-10-22 | 虚拟机置备方案正式定稿 | v0.3.0 |
| v0.2.0 | 2020-07-10 | PG监控系统第六版正式发布 | v0.2.0 |
| v0.1.0 | 2020-06-20 | 在生产仿真测试环境中验证通过 | v0.1.0 |
| v0.0.5 | 2020-08-19 | 离线安装模式:无需互联网访问即可交付 | v0.0.5 |
| v0.0.4 | 2020-07-27 | 将 Ansible 剧本重构为 Role Refactor playbooks into ansible roles | v0.0.4 |
| v0.0.3 | 2020-06-22 | 接口设计改进 | v0.0.3 |
| v0.0.2 | 2020-04-30 | 首次提交 | v0.0.2 |
| v0.0.1 | 2019-05-15 | 概念原型 | v0.0.1 |
| 日期 | 类型 | 活动 | 主题 |
|---|---|---|---|
| 2023-12-20 | 直播辩论 | 开源漫谈第七期 | 上云 or 下云,割韭菜还是降本增效? |
| 2023-11-24 | 技术大会 | 大模型时代的向量数据库 | 圆桌讨论:大模型时代向量数据库新未来 |
| 2023-09-08 | 人物专访 | 墨天轮风云人物访谈 | 冯若航:不想当段子手的技术狂,不是一位好的开源创始人 |
| 2023-08-16 | 技术大会 | DTCC 2023 | DBA之夜:PostgreSQL vs MySQL的开源协议问题 |
| 2023-08-09 | 直播辩论 | 开源漫谈第一期 | MySQL vs PostgreSQL,谁是世界第一? |
| 2023-07-01 | 技术大会 | SACC 2023 | 专题研讨会8:FinOps实践:云成本管理与优化 |
| 2023-05-12 | 线下活动 | PostgreSQL中国社区 温州站线下沙龙 | PG With DB4AI: 向量数据库 PGVECTOR & AI4DB: 数据库自动驾驶 Pigsty |
| 2023-04-08 | 技术大会 | 数据库嘉年华 2023 | 更好的开源RDS替代:Pigsty |
| 2023-04-01 | 技术大会 | PostgreSQL中国社区 西安站线下沙龙 | PG高可用与容灾最佳实践 |
| 2023-03-23 | 公开直播 | Bytebase x Pigsty | 管理 PostgreSQL 的最佳实践: Bytebase x Pigsty |
| 2023-03-04 | 技术大会 | PostgreSQL中国技术大会 | 炮打 RDS,Pigsty v2.0 发布 |
| 2023-02-01 | 技术大会 | DTCC 2022 | 开源 RDS 替代:开箱即用、自动驾驶的数据库发行版 Pigsty |
| 2022-07-21 | 直播辩论 | 云吞噬开源,那开源有机会反击吗? | 云吞噬开源,那开源有机会反击吗? |
| 2022-07-04 | 人物专访 | 专题采访:创造者说 | 90 后,辞职创业,说要卷死云数据库 |
| 2022-06-28 | 公开直播 | 贝斯的圆桌趴 |DBA 福音 - | SQL 审核最佳实践 |
| 2022-06-12 | 公开路演 | 奇绩创坛 S22 路演日 | 好用省钱的数据库发行版 Pigsty |
| 2022-06-05 | 视频直播 | PG中文社区直播分享 | Pigstyv1.5快速上手新特性介绍与生产集群搭建 |
我们的 GitHub 仓库地址是:https://github.com/Vonng/pigsty ,欢迎点个 ⭐️ 关注 我们。
我们欢迎任何人 提交新 Issue 或创建 Pull Request,提出功能建议并参与 Pigsty 贡献。
请注意,关于 Pigsty 文档的问题,请在 github.com/Vonng/pigsty.cc 仓库中提交 Issue。
中文区用户主要活跃于微信群组中,目前有三个活跃的群组,1群,2群已满,3群超过200人,需要添加小助手微信拉入。
加入微信社群,请用搜索 “Pigsty小助手”,(微信号 pigsty-cc) 备注或发送 “加群” ,小助手会将您拉入群组中。

Telegram: https://t.me/joinchat/gV9zfZraNPM3YjFh
Discord: https://discord.gg/j5pG8qfKxU
您也可以通过邮件联系我: [email protected]
当您使用 Pigsty 遇到问题时,可以向社区求助。
请参考 社区求助指南 ,尽可能提供足够的信息,以便社区成员帮助您解决问题。以下是求助提问的参考模板:
发生了什么事? (必选项)
Pigsty版本号与操作系统版本号 (必选项)
一些云厂商对标准操作系统发行版进行了定制,您可以告诉我们使用的是哪一家云厂商的什么操作系统镜像。 如果您在安装操作系统后对环境进行了定制与修改,或者在您的局域网中有特定的安全规则与防火墙配置,也请在提问时告知我们。
Pigsty配置文件
请不要忘记抹掉任何敏感信息:密码,内部密钥,敏感配置等。
你期待发生什么?
请描述正常情况下应该发生什么事情,实际发生的情况与期待的情况有何偏离?
如何复现此问题?
请尽可能详细地告诉我们复现此问题的方法与步骤
监控截图
如果你在使用 Pigsty 提供的监控系统,可以提供 相关 的截图。
错误日志
请尽可能提供与错误有关的日志。请不要粘贴类似“Failed to start xxx service”之类没有帮助的内容。
您可以从 Grafana / Loki 中查询日志,或从以下位置获取日志:
/var/log/messages (rhel) or /var/log/syslog (debian)/pg/log/postgres/*/pg/log/patroni/*/pg/log/pgbouncer/*/pg/log/pgbackrest/*您已经搜索过 Issue/网站/FAQ了吗?
在 FAQ 中,我们提供了许多常见问题的解答,请在提问前检查
您也可以从 Github Issue 与 Discussion 中搜索相关问题:
有什么其他信息是我们需要知道的吗?
您提供的信息与上下文越丰富,我们越有可能帮助您解决问题。
当您安装 Pigsty 软件时,如果在网络隔离的环境中使用离线软件包安装,我们不会收到任何关于您的数据。
如果您选择在线安装,那么在下载相关软件包时,我们的服务器或云供应商的服务器会自动在日志中记录来访机器的 IP 地址和/或主机名,和您下载的软件包名称。
除非法律要求,我们不会与其他组织共享这些信息。
Pigsty 使用的域名为:pigsty.io (中国大陆使用 pigsty.cc )
当您访问我们的网站时,我们的服务器会自动在 Nginx 日志中记录您的 IP 地址和/或主机名。
仅当您决定通过完成调查或在我们的某个网站上注册为用户来向我们发送此类信息时,我们才会存储您的电子邮件地址、姓名和地点等信息
我们收集这些信息是为了帮助我们改进网站内容、定制网页布局以及出于技术和支持目的联系人员。除非法律要求,我们不会与其他组织共享您的电子邮件地址。
本网站使用 Google Analytics,这是 Google, Inc.(“Google”)提供的一项网络分析服务。谷歌分析使用“cookies”,即放置在您计算机上的文本文件,帮助网站分析用户如何使用该网站。
cookie 生成的有关您使用网站的信息(包括您的 IP 地址)将被传输至 Google 位于美国的服务器并由其存储。谷歌将使用这些信息来评估您对网站的使用情况,为网站运营商编制网站活动报告,并提供与网站活动和互联网使用相关的其他服务。如果法律要求,或者第三方代表 Google 处理信息,Google 还可能会将此信息传输给第三方。 Google 不会将您的 IP 地址与 Google 持有的任何其他数据关联起来。您可以通过在浏览器上选择适当的设置来拒绝使用 cookie,但请注意,如果您这样做,您可能无法使用本网站的全部功能。使用本网站即表示您同意 Google 以上述方式和目的处理有关您的数据。
如果您对此政策有任何疑问或意见,或要求删除个人数据,您可以通过发送邮件至 [email protected] 与我们联系
项目协议地址:https://github.com/Vonng/pigsty/blob/v2.7.0/LICENSE
因为受到 Grafana,Citus,MinIO 等组件的传染影响,Pigsty 使用 GNU Affero General Public License v3.0 开源协议,这是一种强制性的 Copyleft 许可证。 如果您通过网络分发、托管或创建 Pigsty 软件的 衍生作品,GNU AGPL v3许可证要求您也按照相同的 GNU AGPL v3 许可证分发组合作品的完整、相应的源代码。无论您是否修改了 Pigsty 此要求都适用。
本协议授权您:
本协议不提供:
本协议的条件:
请注意,Pigsty 的网站本身使用 CC by 4.0 协议,这是一种知识共享许可证, 允许您自由地分享与演绎本站的内容,但是您必须给出适当的署名,提供指向许可证的链接,并指出是否有进行了修改。 您可以使用任何方式来使用本站的内容,包括商业用途,但是您不可以将本站的内容用于商标使用,或者对本站的内容进行担保。
尽管 Pigsty 采用了 AGPLv3 许可证,但对于普通终端用户(即:公有云厂商,数据库厂商除外的用户),执行等效 Apache 2.0 许可证。
普通终端用户可以将 AGPLv3 用户商业目的,提供服务,二次开发,而无需担心许可证问题。 即使普通终端用户对 Pigsty 进行二次开发,并违反了 AGPL 协议没有开源,只要用途在合理范围内,我们不会对此进行追索,并豁免用户的相关开源义务。 在 订阅支持 中,我们可以提供关于责任豁免的书面承诺。
我们支持并欢迎遵循 AGPLv3 协议的 PostgreSQL 服务提供商基于 Pigsty 交付,并提供自己的付费咨询与支持服务,并将二次开发成果回馈上游社区主干。 请注意,Pigsty 的商标与著作权为原作者所有,在提供服务与咨询时,您不应侵犯我们的商标权与著作权。我们提供 OEM 合作方案,详情请参考 商业支持。
本项目所依赖或相关的核心开源软件及其开源协议。
| 模块 | 软件名称 | 许可证 |
|---|---|---|
| PGSQL | PostgreSQL | PostgreSQL License (BSD-Like) |
| PGSQL | pgbouncer | ISC License |
| PGSQL | patroni | MIT License |
| PGSQL | pgbackrest | MIT License |
| PGSQL | vip-manager | BSD 2-Clause License |
| PGSQL | pg_exporter | Apache License 2.0 |
| NODE | node_exporter | Apache License 2.0 |
| NODE | haproxy | HAPROXY’s License (GPLv2) |
| NODE | keepalived | MIT License |
| INFRA | Grafana, Loki | GNU Affero General Public License v3.0 |
| INFRA | Prometheus | Apache License 2.0 |
| INFRA | DNSMASQ | GPLv2 / GPLv3 |
| INFRA | Ansible | GNU General Public License v3.0 |
| ETCD | etcd | Apache License 2.0 |
| MINIO | MinIO | GNU Affero General Public License v3.0 |
| REDIS | Redis | Redis License (3-clause BSD) |
| REDIS | Redis Exporter | MIT License |
| MONGO | FerretDB | Apache License 2.0 |
| DOCKER | docker-ce | Apache License 2.0 |
| CLOUD | Sealos | Apache License 2.0 |
| DUCKDB | DuckDB | MIT |
| External | Vagrant | Business Source License 1.1 |
| External | Terraform | Business Source License 1.1 |
| External | Virtualbox | GPLv2 |
以下是部分 PostgreSQL 扩展插件的许可证:
Pigsty 是由 奇绩创坛 (原YC中国,MiraclePlus) S22 所投资的项目,感谢奇绩创坛与陆奇博士对本项目的支持!
Pigsty 是一个开源免费的自由软件,由 PostgreSQL 社区成员用热情浇灌而成,旨在整合 PostgreSQL 生态的力量,推广 PostgreSQL 的普及。如果我们的工作帮到了您,请考虑赞助或者支持一下我们的项目:
Pigsty 是开箱即用的 PostgreSQL 数据库发行版,本地优先的 RDS/云数据库服务替代,让用户可以用几十块核·月的硬件成本,运行功能完备的本地RDS服务。软件本身完全开源免费,如果它帮到了您,可以考虑 赞助我们。
尽管Pigsty 本身旨在用数据库自动驾驶软件替代人肉数据库运维,但再好的软件也没法解决所有的问题,总会有一些的冷门低频疑难杂症,与各种不限于技术的问题需要专家介入处理,因此我们也提供专业的 咨询 与 服务。
我们提供三种不同的服务档位:基础版、专业版、企业版,与两种不同的定价模式:订阅与许可;您可以根据自身的实际情况与需求选购。
自给自足的开源老司机
自给自足的开源老司机
或 5,000 ¥/月
PG支持:15,16
OS支持:五系最新小版本
功能:所有模块
SLA:工作日时效内响应
提供基础咨询服务:
需要兜底的成熟团队
或 15,000 ¥/月
PG支持:12 - 16
OS支持:五系全部小版本
功能:所有模块
SLA:5 x 8 (<4h)
提供专业咨询服务:
普通用户的默认之选
或 40,000 ¥/月
PG支持:9.0 - 16
OS支持:按需定制
功能:所有模块
SLA:7 x 24 (紧急on-call)
提供企业级咨询服务:
严格 SLA 的关键场景
| 订阅方案 | 开源版 | 基础版 | 专业版 | 企业版 |
|---|---|---|---|---|
| 定价(年) | 免费 | 50,000 ¥/年 | 150,000 ¥/年 | 400,000 ¥/年 |
| 定价(月) | 免费 | 5,000 ¥/月 | 15,000 ¥/月 | 40,000 ¥/月 |
| 适用群体 | 自给自足的开源老司机 | 需要兜底的成熟技术团队 | 适合普通用户的默认选项 | 需要严格SLA的关键场景 |
| 适用规模 | 不限 | 节点数 <= 5 | 节点数 <= 15 | 节点数 <= 50 |
| 咨询答疑 | 社区公益答疑 | 软件缺陷修复 疑难杂症分析 |
软件缺陷修复 疑难杂症分析 备份合规建议 DBA答疑解惑 |
软件缺陷修复 疑难杂症分析 备份合规建议 DBA答疑解惑 故障根因定位 年度架构评估 |
| 升级支持 | - | 提供升级路径支持 | 提供升级路径支持 | 提供升级路径支持 |
| 服务支持 | 无 | 一次架构设计交付 提供人天支持选项 |
每年包含两个人天 提供人天支持选项 |
每年包含四个人天 提供人天支持选项 可用于紧急故障支持 |
| PG支持 | 最近一个大版本 PG 16 |
最近两个大版本 PG 15, 16 |
生命周期内的五个大版本 PG 12 - 16 |
自9.0的十五个大版本 PG 9.0 - 16 |
| OS支持 | EL 8.9 / 9.3 Debian 12 |
EL 7.9 / 8.x / 9.x Ubuntu 22.04 / 20.04 Debian 11 / 12 |
EL 7.9 / 8.9 / 9.3 Ubuntu 22.04 / 20.04 Debian 11 / 12 |
EL 7.x / 8.x / 9.x Ubuntu / Debian LTS UOS v20 / Anolis 8.8 信创操作系统 / 定制 |
| 信创支持 | N/A | N/A | N/A | 国产ARM芯片支持 国产信创操作系统 PG兼容国产数据库 |
| 架构支持 | x86_64 | x86_64 | x86_64 | x86_64, ARM64 |
| 功能模块 | PGSQL, INFRA, NODE ETCD, MINIO, REDIS |
PGSQL, INFRA, NODE ETCD, MINIO, REDIS 所有功能模块 |
PGSQL, INFRA, NODE ETCD, MINIO, REDIS 所有功能模块 |
PGSQL, INFRA, NODE ETCD, MINIO, REDIS 所有功能模块 |
| SLA | - | 48小时内响应 | 5 x 8 (4小时内响应) | 7 x 24 (On-Call) |
| 成本对比 | 相当于什么样的 RDS规模 / DBA工资 |
约 12 vCPU RDS 月薪5K运维兼职 |
约 40 vCPU RDS 月薪1万初级DBA |
约 100 vCPU RDS 月薪3万中级DBA |
Pigsty 专业版提供了更多的功能模块,支持更多种类的操作系统发行版,支持更多 PostgreSQL 大版本与更为丰富的扩展插件,并针对各个OS小版本制作了离线软件安装包,以确保最佳的兼容性。
Pigsty 订阅采用按年付费的模式,为用户提供了 Pigsty商业版本的年度许可,并会提供年内发布的最新软件版本与升级路径,还包括了完整咨询答疑与服务支持。 更大的规模意味着更复杂的场景、更多的问题、与更高的故障事件几率:因此每一份订阅会有节点规模限制,例如当您使用专业版订阅,并部署管理了15个节点时,您需要为超标的节点支付额外的订阅费用(每节点1万元)。
Pigsty 许可采用一次性付费模式,如果您希望将 Opex 转为 Capex,可以选择一次性付费购买 Pigsty 当前商业版本的永久许可证,您将拥有运行当下 Pigsty 特定商业版本的永久许可,不限制节点数量,跑到地老天荒都不会再有额外费用。 许可模式包含了一年的咨询与服务,如果您需要延长服务支持与咨询答疑,可以按照许可价的折扣比例(基础版:1/15,专业版:5/40,企业版:20/100)续费获取。
| 许可方案 | 基础版 | 专业版 | 企业版 |
|---|---|---|---|
| 许可定价 | 150,000 ¥ | 400,000 ¥ | 1,000,000 ¥ |
| 服务咨询/年 | 10,000 ¥/年 | 50,000 ¥/年 | 200,000 ¥/年 |
| 订阅方案 | 基础版 | 专业版 | 企业版 |
| 订阅定价/年 | 50,000 ¥/年 | 150,000 ¥/年 | 400,000 ¥/年 |
| 订阅定价/月 | 5,000 ¥/月 | 15,000 ¥/月 | 40,000 ¥/月 |
Pigsty 的定价策略确保用户物有所值 —— 您可以立即获得顶尖DBA的数据库架构建设方案与管理最佳实践,并由其提供咨询答疑与服务支持兜底;而付出的成本相比于全职雇佣数据库专家或使用云数据库极具竞争力。
如果您有下列需求,欢迎考虑我们的专业版/企业版订阅:
商业支持联系方式:邮件:[email protected] , 微信号 pigsty-cc / RuohangFeng。
如果您购买了我们的商业版本,那么我们对您将开放人天服务支持选项。 您可以购买零售的专家人·天时间 可用于架构咨询,故障分析,问题排查,数据库体检,监控解读,问题评估,教学培训,并按需选购补充。
以上价格不含税点与差旅,非工作时间内 (5x8) 两倍加收,法定节假日内三倍加收,人·天定价可视行业,采购规模,甲方团队技术水平酌情折扣。 一个人·天含八小时工作时间,最小使用单位为半人·天,不满半人日按半人日算,使用人·天时需要至少提前两天预约,即时处理紧急故障 仅企业级订阅客户可用。
我们提供关于 PostgreSQL 的教学与培训服务,基于人天模式定价:
PostgreSQL x Pigsty 咨询:
PostgreSQL 数据恢复服务:
其他服务包括: