PIG 博客
PIG 的文章、设计注记与发布历史。PIG 是 Pigsty 提供的 PostgreSQL 命令行工具, 用于管理软件仓库、扩展、数据库实例与 Pigsty 环境。
分类别名按目标 PostgreSQL 大版本解析
动态分类别名选择扩展软件包时,使用请求的 PostgreSQL 大版本。
pig v1.10.4
新增七个目录条目,刷新包元数据,修复目标版本别名解析,目录增至 626 个条目。
pig v1.10.3
新增四个扩展,刷新目录元数据,扩展条目增至 620 个。
pig v1.10.1
升级 Go 1.27.3 修复安全问题,更新工具依赖,扩展目录增至 615 个条目。
pig v1.10.2
新增 pg_nanotime,更新扩展版本与软件包信息,目录增至 616 个条目。
pig v1.10.0
603 条目录记录、PostgreSQL 目标验证、恢复与 fork 安全修复、Inventory 保真,以及一致的自动化结果。
官网与 CLI 统一按目录条目计数
官网、扩展列表、可用性摘要和目录刷新结果统一统计全部目录记录。
pig v1.9.0
600 条扩展目录记录、一键 Xray 客户端与服务端、自动准备仓库公钥,以及 cargo-pgrx 0.19.3。
一键配置 Xray 客户端与服务端
以现有可工作的客户端与服务端为参考,为 build proxy 增加配套的 VLESS、REALITY 与 Vision 初始化能力。
自动安装 Pigsty 仓库公钥
配置 Pigsty 仓库时准备内嵌公钥,明确默认失败处理与显式密钥要求。
为什么 PIG 默认构建调试包
将 RPM debuginfo/debugsource 与 DEB dbgsym 从显式启用改为显式退出的构建策略决策。
pig v1.8.1
CLI 安全与仓库流程加固、扩展目录刷新、Go 1.27.1,以及 cargo-pgrx 0.19.2。
把 Pigsty 控制节点引导设计成可恢复事务
为什么 pig sty boot 在提权前解析来源、分离硬失败与收尾告警,并在软件源准备失败时恢复仓库定义。
pig v1.8.0
原生 pig sty boot 与 pig sty conf 工作流,以及 575 个已打包 PostgreSQL 扩展。
Catalog v2 提案:不可变的分类快照
用分类数据文件组成可验证的 Catalog 快照,支持原子激活、项目版本锁定与离线导入。
PIG 2.0 产品方向
PIG 2.0 提案:统一 Pigsty 初始化入口,校验 Catalog,固定项目所用版本,并保留独立部署步骤。
pig v1.7.0
更安全的 EL 模块处理、更新的中国镜像、精简的 EL7 兼容目录,以及 575 个已打包扩展。
SOW:论母猪的产后护理
SOW 如何通过共享包存储、快照与增量发布,管理十万级仓库制品。
pig v1.6.2
572 个已打包扩展、Grafana 仪表盘 schema v2,以及 SOW 优先的本地软件仓库生成。
上游没有的 Bug,为什么会出现在官方包里?
祖传 BUG 奇闻:一行打包补丁从 Debian Redis 传到 Debian Valkey,又被 Valkey 官方发布流水线整体搬了回来。上游源码本身没有这个 Bug,用户下载的官方 DEB 却有。
pig v1.6.1
pig v1.6.1 刷新了内置的扩展目录,并将内嵌的 Pigsty 版本对齐到 4.5.0。
pig v1.6.0
562 个已打包扩展,pt 原生透传,inventory 与 CMDB,Grafana 管理
让 Patronictl 自己说话
为什么 pig pt 不再镜像 Patronictl 命令树,而是只保留少量 PIG 本地辅助功能的透明启动器。
用有边界的 Grafana 客户端替代仪表盘脚本
pig sty grafana 如何通过原生 HTTP 客户端管理仪表盘与偏好设置。
复用 Pigsty 已经拥有的 CMDB
PIG 如何复用 Pigsty 既有 PostgreSQL CMDB,并撤销重复的版本存储设计。
编辑声明,保留文档:无损 Pigsty Inventory
为什么 pig inventory 将 YAML 语义与源字节分离,让局部编辑能够保留注释、顺序、锚点与格式。
pig v1.5.1
PG 内核分支包更新,镜像模式,修复若干问题
瞬间克隆 PostgreSQL 数据库,无需黑魔法
pig v1.5 新增 pig pg clone 与 pig pg fork,在命令行中提供 PostgreSQL 18 数据库克隆与实例分支。
什么是 PostgreSQL 发行版?
PostgreSQL 发行版如何组合数据库内核、扩展软件包与运维工具。
pig v1.5.0
531 个扩展,pigsty v4.4,pg/pb/pt/pitr 重做,clone/fork
危险操作只有一套语法:PIG 运维 CLI 安全契约
PIG 如何分离底层原语与编排器、显式表达破坏性意图,并防止别名或结构化输出改变操作含义。
为什么 PIG 保持扁平的 Cobra 命令层
一个顶层命令对应 cmd 中一个文件,具体行为进入 cli 与 internal 包的源码布局决策。
pig v1.4.2
524 个扩展,PG19 beta,pgrx 0.18.1,Patroni 修复
人人可用的 PG 扩展
从 1,617 个 PostgreSQL 扩展项目、511 个已打包扩展出发,讨论如何把扩展交付给用户。
pig v1.4.1
510 个扩展,支持 Ubuntu 26.04,仓库校准
pig v1.4.0
510 个扩展,pgrx 0.18.0,更多构建规格
pig v1.3.4
504 扩展更新与发布产物校验和刷新
504 个扩展,PG 生态的天花板在哪?
一次 RDKit 打包需求如何带来 32 个新增扩展,将目录扩展到 504 项。
pig v1.3.3
481 扩展与 Go 1.26.2 更新
pig v1.3.2
例行元数据更新,新增 pg tune 命令与构建别名
七成正确的调优器:界定 pig pg tune 的边界
pig pg tune 如何根据硬件与工作负载计算 PostgreSQL 初始参数。
PG 扩展百科全书:中英双语,开箱即用
我把 464 个 PostgreSQL 扩展的元数据、可用软件包、安装命令与使用说明,汇集成一本中英双语扩展百科。
464个扩展开箱即用:新版 PG 扩展目录发布
第五版扩展目录将 464 个扩展的软件包元数据与使用文档放在一起。
pig v1.3.1
PG13 退役,支持窗口统一为 PG14-18,扩展增至 464
pig v1.3.0
构建链路强化,扩展增至 461,新内核支持
pig v1.2.0
统一别名,例行更新,计划模式,仓库修复
先编译和校验,再提交:原生 sty conf 流水线
pig sty conf 如何校验模板、修改配置、保护凭据,并原子写入 Inventory。
pig v1.1.1
修复路径、符号链接与构建目录迁移问题
pig v1.1.0
451 扩展,Agent-Native CLI 框架
从面向人类到 Agent-Native:PIG 的 CLI 契约
PIG 如何分别提供终端文本、结构化结果、执行计划与环境上下文。
pig v1.0.0
444, 新增 pg/pt/pb/pitr 子命令,可用性矩阵
pig v0.9.0
重命名 sty deploy 并扩展 sty conf 参数
pig v0.8.1
将 llvmjit 恢复到 pgsql-full 别名
pig v0.8.0
440 extensions,移除 sysupdate 仓库
pig v0.7.5
常规扩展更新,使用修复后的阿里云镜像
pig v0.7.4
更新 ivory/pgtde 内核与 pgdg extras 仓库
立足中国,面向全球的 PostgreSQL 发行版
如何打造一个立足中国,面向全球的 PostgreSQL 数据库发行版?在第八届中国PG生态大会上的主题演讲。
pig v0.7.3
修复 el10 & debian13 仓库配置
聊聊开源软件供应链信任问题
在严肃的生产环境里,你不能依赖一个明确说"我不提供任何保证"的上游。当别人告诉你"别指望我",最好的回应是"那我自己来"。从TUNA镜像站的争议谈开源软件供应链信任问题。
pig v0.7.2
437 个扩展,修复 pig build 的一些问题
-
分类别名按目标 PostgreSQL 大版本解析
决策日期: 2026-11-06 状态: 已在源码提交 7c069dc 中实现,已随 v1.10.4 发布。 当前参考: pig ext 分类别名 范围: 解析扩展软件包组的动态 pgN-* 与 pgsql-* 分类别名。 决策 稳定版本的分类别名使用请求的 PostgreSQL 大版本判断软件包可见性。pgN-<category> 从别名中取得大版本, pgsql-<category> -v N 使用同一个目标大版本。完成可见性判断后,软件包模板也按请求的大版本渲染。 目录仍是软件包名称与平 …
决策日期: 2026-11-06 状态: 已在源码提交 7c069dc 中实现,已随 v1.10.4 发布。 当前参考: pig ext 分类别名 范围: 解析扩展软件包组的动态 pgN-* 与 pgsql-* 分类别名。 决策 稳定版本的分类别名使用请求的 PostgreSQL 大版本判断软件包可见性。pgN-<category> 从别名中取得大版本, pgsql-<category> -v N 使用同一个目标大版本。完成可见性判断后,软件包模板也按请求的大版本渲染。 目录仍是软件包名称与平 …
-
pig v1.10.4
PIG v1.10.4 将内嵌 PostgreSQL 扩展目录从 620 个条目更新到 626 个,并修复分类别名未按指定 PostgreSQL 大版本选择软件包的问题。2026 年 11 月 6 日的目录快照新增七个条目,移除已退役的 pgcontext_pgvector 记录,净增六个。 新增目录条目 扩展 版本 PostgreSQL 支持 说明 pg_warren 0.8.0 15–18 基于 PostgreSQL 表的版本化图遍历与图计算 pg_statecharts 0.1.0 …
PIG v1.10.4 将内嵌 PostgreSQL 扩展目录从 620 个条目更新到 626 个,并修复分类别名未按指定 PostgreSQL 大版本选择软件包的问题。2026 年 11 月 6 日的目录快照新增七个条目,移除已退役的 pgcontext_pgvector 记录,净增六个。 新增目录条目 扩展 版本 PostgreSQL 支持 说明 pg_warren 0.8.0 15–18 基于 PostgreSQL 表的版本化图遍历与图计算 pg_statecharts 0.1.0 …
-
pig v1.10.3
PIG v1.10.3 更新内嵌 PostgreSQL 扩展目录,从 616 个条目增至 620 个, 新增四个扩展,并刷新软件包、版本、兼容性与可用性元数据。 新增扩展 扩展 版本 PostgreSQL 支持 说明 oai_fdw 1.16 14–18 通过 HTTP/HTTPS 采集 OAI-PMH 元数据的只读外部数据包装器 pg_agent_gate 0.3.0 18 面向 Agent 角色的 SQL 提议、校验、受控执行与人工审批门 pg_integrity_checksums …
PIG v1.10.3 更新内嵌 PostgreSQL 扩展目录,从 616 个条目增至 620 个, 新增四个扩展,并刷新软件包、版本、兼容性与可用性元数据。 新增扩展 扩展 版本 PostgreSQL 支持 说明 oai_fdw 1.16 14–18 通过 HTTP/HTTPS 采集 OAI-PMH 元数据的只读外部数据包装器 pg_agent_gate 0.3.0 18 面向 Agent 角色的 SQL 提议、校验、受控执行与人工审批门 pg_integrity_checksums …
-
pig v1.10.1
PIG v1.10.1 是一次安全与扩展目录维护版本:升级 Go 至 1.27.3, 更新工具依赖,并将内嵌 PostgreSQL 扩展目录从 603 个条目增至 615 个。 安全更新 Go 工具链从 1.27.2 升级到 1.27.3。CI 与发布构建使用 go.mod 指定的版本。 纳入 crypto/x509 的 CVE-2026-111943 / GO-2026-6809 修复。 Go 证书验证器会拒绝包含特定不再受信任的中间证书的证书链。 根据 Go 官方发布公告, Go …
PIG v1.10.1 是一次安全与扩展目录维护版本:升级 Go 至 1.27.3, 更新工具依赖,并将内嵌 PostgreSQL 扩展目录从 603 个条目增至 615 个。 安全更新 Go 工具链从 1.27.2 升级到 1.27.3。CI 与发布构建使用 go.mod 指定的版本。 纳入 crypto/x509 的 CVE-2026-111943 / GO-2026-6809 修复。 Go 证书验证器会拒绝包含特定不再受信任的中间证书的证书链。 根据 Go 官方发布公告, Go …
-
pig v1.10.2
PIG v1.10.2 更新内嵌 PostgreSQL 扩展目录,从 615 个条目增至 616 个, 新增 pg_nanotime,并刷新扩展版本、兼容性与软件包可用性信息。 新增扩展 收录 pg_nanotime 0.2.0, 提供纳秒时间戳与固定时长间隔类型。目录包含 PostgreSQL 17、18 的 RPM 与 DEB 软件包信息;上游将 0.2.0 标记为测试版本。 版本更新 扩展 原版本 新版本 citus、citus_columnar 14.2.0 14.3.0 软件包 …
PIG v1.10.2 更新内嵌 PostgreSQL 扩展目录,从 615 个条目增至 616 个, 新增 pg_nanotime,并刷新扩展版本、兼容性与软件包可用性信息。 新增扩展 收录 pg_nanotime 0.2.0, 提供纳秒时间戳与固定时长间隔类型。目录包含 PostgreSQL 17、18 的 RPM 与 DEB 软件包信息;上游将 0.2.0 标记为测试版本。 版本更新 扩展 原版本 新版本 citus、citus_columnar 14.2.0 14.3.0 软件包 …
-
pig v1.10.0
Pig v1.10.0 集中修复现有命令的正确性与安全边界:操作前验证 PostgreSQL 目标, 保留 Inventory 来源与 YAML 类型,让仓库、扩展及自动化结果准确反映实际执行情况。 内嵌目录从 600 条增至 603 条记录。内置 Pigsty 保持 4.5.0,默认 cargo-pgrx 保持 0.19.3。 PostgreSQL 目标与维护命令 显式 -D 将 psql、ps、kill、vacuum、analyze、freeze、repack 绑定到所选实例, 包括 …
Pig v1.10.0 集中修复现有命令的正确性与安全边界:操作前验证 PostgreSQL 目标, 保留 Inventory 来源与 YAML 类型,让仓库、扩展及自动化结果准确反映实际执行情况。 内嵌目录从 600 条增至 603 条记录。内置 Pigsty 保持 4.5.0,默认 cargo-pgrx 保持 0.19.3。 PostgreSQL 目标与维护命令 显式 -D 将 psql、ps、kill、vacuum、analyze、freeze、repack 绑定到所选实例, 包括 …
-
官网与 CLI 统一按目录条目计数
决策日期: 2026-10-16 状态: Implemented(已实现),纳入 v1.10.0 候选版本,尚未发布。 当前参考: pig ext 目录计数 范围: 目录总数与默认列表成员;包安装和 SQL 启用方式仍由各条目定义。 决策 统一用目录记录数表示扩展总数,包括已打包的 SQL 工具与保留的生命周期记录。 CLI 根据实际加载或下载的目录计算总数。 背景 目录同时服务于软件包发现和 PostgreSQL 扩展发现。已打包的 SQL 工具即使没有控制文件, 不支持 CREATE …
决策日期: 2026-10-16 状态: Implemented(已实现),纳入 v1.10.0 候选版本,尚未发布。 当前参考: pig ext 目录计数 范围: 目录总数与默认列表成员;包安装和 SQL 启用方式仍由各条目定义。 决策 统一用目录记录数表示扩展总数,包括已打包的 SQL 工具与保留的生命周期记录。 CLI 根据实际加载或下载的目录计算总数。 背景 目录同时服务于软件包发现和 PostgreSQL 扩展发现。已打包的 SQL 工具即使没有控制文件, 不支持 CREATE …
-
pig v1.9.0
Pig v1.9.0 新增一键配置 Xray 客户端与服务端、自动准备 Pigsty 仓库签名公钥, 并将内置扩展目录更新为 600 条记录。cargo-pgrx 默认版本升级到 0.19.3, 内置 Pigsty 版本保持 4.5.0。 Xray 客户端与服务端 pig build proxy 安装或检查 Xray;pig build proxy client 配置 VLESS/REALITY/Vision HTTP/SOCKS 客户端;pig build proxy server 配置 …
Pig v1.9.0 新增一键配置 Xray 客户端与服务端、自动准备 Pigsty 仓库签名公钥, 并将内置扩展目录更新为 600 条记录。cargo-pgrx 默认版本升级到 0.19.3, 内置 Pigsty 版本保持 4.5.0。 Xray 客户端与服务端 pig build proxy 安装或检查 Xray;pig build proxy client 配置 VLESS/REALITY/Vision HTTP/SOCKS 客户端;pig build proxy server 配置 …
-
一键配置 Xray 客户端与服务端
决策日期: 2026-10-05 状态: Released(已发布),随 v1.9.0 交付。 下述验收修订已实现(Implemented),纳入 v1.10.0 候选版本,尚未发布。 当前参考: pig build、运维安全契约与发布历史 范围: 一键配置 Xray 客户端与服务端;Linux 客户端和服务端,以及 macOS 客户端。共享 Nginx 入口仍是独立部署边界。 决策 为 pig build proxy 增加明确的 client 与 server 子命令。新工作流采用 …
决策日期: 2026-10-05 状态: Released(已发布),随 v1.9.0 交付。 下述验收修订已实现(Implemented),纳入 v1.10.0 候选版本,尚未发布。 当前参考: pig build、运维安全契约与发布历史 范围: 一键配置 Xray 客户端与服务端;Linux 客户端和服务端,以及 macOS 客户端。共享 Nginx 入口仍是独立部署边界。 决策 为 pig build proxy 增加明确的 client 与 server 子命令。新工作流采用 …
-
自动安装 Pigsty 仓库公钥
决策日期: 2026-10-04 状态: Released(已发布),随 v1.9.0 交付。 当前参考: pig repo 范围: 配置仓库时安装已有的内嵌 Pigsty 公钥。 决策 当所选模块包含当前平台可用的 pigsty-infra 或 pigsty-pgsql 仓库时,先准备内嵌 Pigsty 公钥,再修改仓库定义。该逻辑放在共享配置流程中,使 repo add、repo set 以及复用此流程的调用方保持一致。已有公钥文件直接复用,自动安装尽最大努力; 所选仓库元数据显式引用签名 …
决策日期: 2026-10-04 状态: Released(已发布),随 v1.9.0 交付。 当前参考: pig repo 范围: 配置仓库时安装已有的内嵌 Pigsty 公钥。 决策 当所选模块包含当前平台可用的 pigsty-infra 或 pigsty-pgsql 仓库时,先准备内嵌 Pigsty 公钥,再修改仓库定义。该逻辑放在共享配置流程中,使 repo add、repo set 以及复用此流程的调用方保持一致。已有公钥文件直接复用,自动安装尽最大努力; 所选仓库元数据显式引用签名 …
-
为什么 PIG 默认构建调试包
决策日期: 2026-09-03 状态: Released(已发布),随 v1.8.1 交付。 当前参考: pig build 范围: pig build ext 与 pig build pkg 的调试包策略;单个包的产物仍以其配方为权威。 决策 pig build ext 与 pig build pkg 默认请求平台的正常调试包产物。普通构建时,PIG 不再传入禁用参数;只有需要更小或更快产物集合的用户,才显式使用 --nodbg 退出。 在 RPM 系统上,普通构建保留发行版的 …
决策日期: 2026-09-03 状态: Released(已发布),随 v1.8.1 交付。 当前参考: pig build 范围: pig build ext 与 pig build pkg 的调试包策略;单个包的产物仍以其配方为权威。 决策 pig build ext 与 pig build pkg 默认请求平台的正常调试包产物。普通构建时,PIG 不再传入禁用参数;只有需要更小或更快产物集合的用户,才显式使用 --nodbg 退出。 在 RPM 系统上,普通构建保留发行版的 …
-
pig v1.8.1
Pig v1.8.1 是 v1.8.0 之上的安全、正确性与维护版本。 本版本加固命令初始化、提权日志访问、仓库与构建流程、发布完整性,以及结构化输出脱敏; 同时刷新内置扩展目录,并将构建工具链升级到 Go 1.27.1 与 cargo-pgrx 0.19.2。 内置 Pigsty 版本仍为 4.5.0。 CLI 安全与正确性 只读且不依赖配置的命令不再要求 HOME 可写,也不会把创建 ~/.pig 当作查询副作用; 叶子命令会保留自己声明的初始化策略。 pig pg log、pig pt …
Pig v1.8.1 是 v1.8.0 之上的安全、正确性与维护版本。 本版本加固命令初始化、提权日志访问、仓库与构建流程、发布完整性,以及结构化输出脱敏; 同时刷新内置扩展目录,并将构建工具链升级到 Go 1.27.1 与 cargo-pgrx 0.19.2。 内置 Pigsty 版本仍为 4.5.0。 CLI 安全与正确性 只读且不依赖配置的命令不再要求 HOME 可写,也不会把创建 ~/.pig 当作查询副作用; 叶子命令会保留自己声明的初始化策略。 pig pg log、pig pt …
-
把 Pigsty 控制节点引导设计成可恢复事务
决策日期: 2026-08-14 状态: 已实现并随 pig v1.8.0 发布。 当前参考: pig sty boot 范围: 准备 Pigsty 控制节点及其软件来源,不包括部署数据库集群。 决策 pig sty boot 应当是一套原生、能够处理失败的控制节点引导工作流。 它在提权前解析显式来源,准备在线或离线仓库,只安装必要的控制节点软件包,证明 Ansible 真正可用, 并执行有边界的收尾检查。 仓库替换具有事务语义:软件包准备失败时恢复原有仓库定义。 可选便利功能可以告警,但无效 …
决策日期: 2026-08-14 状态: 已实现并随 pig v1.8.0 发布。 当前参考: pig sty boot 范围: 准备 Pigsty 控制节点及其软件来源,不包括部署数据库集群。 决策 pig sty boot 应当是一套原生、能够处理失败的控制节点引导工作流。 它在提权前解析显式来源,准备在线或离线仓库,只安装必要的控制节点软件包,证明 Ansible 真正可用, 并执行有边界的收尾检查。 仓库替换具有事务语义:软件包准备失败时恢复原有仓库定义。 可选便利功能可以告警,但无效 …
-
pig v1.8.0
Pig v1.8.0 将 Pigsty 控制节点的准备过程原生化。两条核心安装命令 pig sty boot 与 pig sty conf 现在是具备完整失败处理能力的 Go 工作流, 不再包装旧版 bootstrap 与 configure Shell 脚本。本版本继续以 575 个已打包 PostgreSQL 扩展 作为统一发布口径,内置 Pigsty 4.5.0。 原生 pig sty boot pig sty boot 现在是一套具备事务语义与完整失败处理的原生控制节点引导流程。它不再执 …
Pig v1.8.0 将 Pigsty 控制节点的准备过程原生化。两条核心安装命令 pig sty boot 与 pig sty conf 现在是具备完整失败处理能力的 Go 工作流, 不再包装旧版 bootstrap 与 configure Shell 脚本。本版本继续以 575 个已打包 PostgreSQL 扩展 作为统一发布口径,内置 Pigsty 4.5.0。 原生 pig sty boot pig sty boot 现在是一套具备事务语义与完整失败处理的原生控制节点引导流程。它不再执 …
-
Catalog v2 提案:不可变的分类快照
决策日期: 2026-08-13 状态: 提案;安全机制、覆盖规则、打包方式与路径布局待定。 当前参考: pig ext 与 pig repo 范围: PIG 2.0 产品元数据的发布与读取模型。 决策 Catalog v2 将产品元数据分成多个有类型的数据文件,组成一份不可变、可验证的快照。 清单文件(manifest)记录平台、仓库、路由、包别名、扩展、兼容性、Pigsty 版本与公钥数据的 长度和哈希。所有文件一起校验,通过同一个指针激活,避免混用不同版本的仓库与扩展矩阵。 快照以内容摘 …
决策日期: 2026-08-13 状态: 提案;安全机制、覆盖规则、打包方式与路径布局待定。 当前参考: pig ext 与 pig repo 范围: PIG 2.0 产品元数据的发布与读取模型。 决策 Catalog v2 将产品元数据分成多个有类型的数据文件,组成一份不可变、可验证的快照。 清单文件(manifest)记录平台、仓库、路由、包别名、扩展、兼容性、Pigsty 版本与公钥数据的 长度和哈希。所有文件一起校验,通过同一个指针激活,避免混用不同版本的仓库与扩展矩阵。 快照以内容摘 …
-
PIG 2.0 产品方向
决策日期: 2026-08-13 状态: 提案,待审议,尚未实现。 当前参考: PIG 文档与发布历史 范围: 未来 PIG 2.0 / Pigsty 5.0 的候选产品边界与验证门槛。 决策 提案方向是让 PIG 成为从空白控制节点到经过校验、可以部署的 Pigsty Inventory 的统一初始化入口。 PIG 负责 Catalog 选择与解析、执行计划、流程编排、结构化结果与脱敏执行记录; 软件包事务、配置应用与基础设施状态继续委托给 DNF/APT、Ansible 和未来的基础设施工 …
决策日期: 2026-08-13 状态: 提案,待审议,尚未实现。 当前参考: PIG 文档与发布历史 范围: 未来 PIG 2.0 / Pigsty 5.0 的候选产品边界与验证门槛。 决策 提案方向是让 PIG 成为从空白控制节点到经过校验、可以部署的 Pigsty Inventory 的统一初始化入口。 PIG 负责 Catalog 选择与解析、执行计划、流程编排、结构化结果与脱敏执行记录; 软件包事务、配置应用与基础设施状态继续委托给 DNF/APT、Ansible 和未来的基础设施工 …
-
pig v1.7.0
Pig v1.7.0 是 v1.6.2 之上的仓库兼容性与目录更新版本:明确中国镜像选择语义,默认保留 DNF 原生模块过滤,恢复精简的 EL7 仓库目录,并将内置扩展快照从 572 个增加到 575 个。内置 Pigsty 版本仍为 4.5.0。 主要变化 -m|--mirror 现在直接选择内置的 china 仓库定义。PGDG、Rocky Linux、Debian、Ubuntu、Docker 等区域路由使用维护中的镜像列表,不再进行旧版运行时 PGDG 代理改写。 EL 仓库不再全局注入 …
Pig v1.7.0 是 v1.6.2 之上的仓库兼容性与目录更新版本:明确中国镜像选择语义,默认保留 DNF 原生模块过滤,恢复精简的 EL7 仓库目录,并将内置扩展快照从 572 个增加到 575 个。内置 Pigsty 版本仍为 4.5.0。 主要变化 -m|--mirror 现在直接选择内置的 china 仓库定义。PGDG、Rocky Linux、Debian、Ubuntu、Docker 等区域路由使用维护中的镜像列表,不再进行旧版运行时 PGDG 代理改写。 EL 仓库不再全局注入 …
-
SOW:论母猪的产后护理
今天老冯来和大家聊一聊《母猪的产后护理》。俺做的新开源项目 SOW,翻译成中文就是“老母猪”。 做一个 PostgreSQL 发行版,最折磨人的往往不是把软件编译出来,而是收拾编译出来的东西。 Pigsty 要为多个 Linux 发行版、多个 CPU 架构、多个 PostgreSQL 大版本维护成百上千个组件。不同组合一路展开,最终落到仓库里的制品超过十万个:RPM、DEB、索引、签名、校验和、快照,还有一堆为了兼容包管理器而存在的元数据。 用户看到的只是 apt install 或 dnf …
今天老冯来和大家聊一聊《母猪的产后护理》。俺做的新开源项目 SOW,翻译成中文就是“老母猪”。 做一个 PostgreSQL 发行版,最折磨人的往往不是把软件编译出来,而是收拾编译出来的东西。 Pigsty 要为多个 Linux 发行版、多个 CPU 架构、多个 PostgreSQL 大版本维护成百上千个组件。不同组合一路展开,最终落到仓库里的制品超过十万个:RPM、DEB、索引、签名、校验和、快照,还有一堆为了兼容包管理器而存在的元数据。 用户看到的只是 apt install 或 dnf …
-
pig v1.6.2
Pig v1.6.2 是 v1.6.1 之上的功能与目录更新版本:已打包扩展从 562 个增加到 572 个,新增 Grafana 仪表盘 schema v2 原生支持,并改进本地软件仓库生成流程。内置 Pigsty 版本继续锁定为 4.5.0。 主要变化 pig sty grafana 现在同时支持传统仪表盘 JSON 与原生 dashboard.grafana.app/v2 Dashboard 资源。载入 v2 仪表盘时使用 Grafana resource API,确保标签页与 …
Pig v1.6.2 是 v1.6.1 之上的功能与目录更新版本:已打包扩展从 562 个增加到 572 个,新增 Grafana 仪表盘 schema v2 原生支持,并改进本地软件仓库生成流程。内置 Pigsty 版本继续锁定为 4.5.0。 主要变化 pig sty grafana 现在同时支持传统仪表盘 JSON 与原生 dashboard.grafana.app/v2 Dashboard 资源。载入 v2 仪表盘时使用 Grafana resource API,确保标签页与 …
-
上游没有的 Bug,为什么会出现在官方包里?
老冯最近在 Pigsty 里面更新了 Redis 模块,把 Valkey 也打包进来作为一个可选引擎,结果在继承的打包补丁中发现了一个 Bug。 我给 Valkey 和 Debian 上游提交了修复,本文记录了这个过程。 内存炸裂 先看一个天文数字:18446744073709518664。 如果你的 Valkey 某天在 INFO memory 里报出这么一个数字,别怀疑服务器突然长出了 18 EB 内存。 这是一个 64 位无符号整数从零以下减穿之后,绕回来的结果。 在受影响的 Valkey …
老冯最近在 Pigsty 里面更新了 Redis 模块,把 Valkey 也打包进来作为一个可选引擎,结果在继承的打包补丁中发现了一个 Bug。 我给 Valkey 和 Debian 上游提交了修复,本文记录了这个过程。 内存炸裂 先看一个天文数字:18446744073709518664。 如果你的 Valkey 某天在 INFO memory 里报出这么一个数字,别怀疑服务器突然长出了 18 EB 内存。 这是一个 64 位无符号整数从零以下减穿之后,绕回来的结果。 在受影响的 Valkey …
-
pig v1.6.1
pig v1.6.1 是 v1.6.0 之上的维护版本:没有新增命令,也没有参数变更, 这次发布的重点是二进制里自带的那份扩展目录。 变更内容 扩展目录刷新:内置的 extension.csv 依据 Pigsty 软件仓库重新生成,pig ext list 与 pig install 无需先跑一次 pig ext reload,即可对齐当前的软件包版本。 Pigsty 版本对齐到 4.5.0:pig sty 与 pig status 报告的内嵌 Pigsty 版本随之更新。 版本号同步:构建元数 …
pig v1.6.1 是 v1.6.0 之上的维护版本:没有新增命令,也没有参数变更, 这次发布的重点是二进制里自带的那份扩展目录。 变更内容 扩展目录刷新:内置的 extension.csv 依据 Pigsty 软件仓库重新生成,pig ext list 与 pig install 无需先跑一次 pig ext reload,即可对齐当前的软件包版本。 Pigsty 版本对齐到 4.5.0:pig sty 与 pig status 报告的内嵌 Pigsty 版本随之更新。 版本号同步:构建元数 …
-
pig v1.6.0
Pig v1.6.0 是一个大版本:pig pt 重写为 patronictl 原生透传,新增根级 pig inventory 命令组提供 pigsty.yml 的无损编辑与校验(附带实验性的 PostgreSQL CMDB 交换能力),pig sty grafana 提供原生 Grafana 仪表盘管理,已打包扩展目录增至 562 个。 主要变化 pig pt 重写为 patronictl 原生透传:所有集群命令 …
Pig v1.6.0 是一个大版本:pig pt 重写为 patronictl 原生透传,新增根级 pig inventory 命令组提供 pigsty.yml 的无损编辑与校验(附带实验性的 PostgreSQL CMDB 交换能力),pig sty grafana 提供原生 Grafana 仪表盘管理,已打包扩展目录增至 562 个。 主要变化 pig pt 重写为 patronictl 原生透传:所有集群命令 …
-
让 Patronictl 自己说话
决策日期: 2026-07-21 状态: 已实现并随 pig v1.6.0 发布。 当前参考: pig pt 范围: Patronictl 集群命令,以及 PIG 拥有的配置选择、参数设置、服务、状态和日志辅助功能。 决策 pig pt 是已安装 patronictl 的透明启动器。PIG 选择配置并分派少量本地辅助命令; 其它命令词及其后的所有参数原样传递,保留原生提示、终端行为、输出格式与退出码。 PIG 不再维护一份持续变化的 Patronictl 命令树副本。 背景 镜像 …
决策日期: 2026-07-21 状态: 已实现并随 pig v1.6.0 发布。 当前参考: pig pt 范围: Patronictl 集群命令,以及 PIG 拥有的配置选择、参数设置、服务、状态和日志辅助功能。 决策 pig pt 是已安装 patronictl 的透明启动器。PIG 选择配置并分派少量本地辅助命令; 其它命令词及其后的所有参数原样传递,保留原生提示、终端行为、输出格式与退出码。 PIG 不再维护一份持续变化的 Patronictl 命令树副本。 背景 镜像 …
-
用有边界的 Grafana 客户端替代仪表盘脚本
决策日期: 2026-07-18 状态: 随 v1.6.0 发布;v1.6.2 加入仪表盘 schema v2 支持。 当前参考: pig sty grafana 范围: 仪表盘导入、导出、清理,以及部分组织与用户偏好设置。 决策 PIG 使用原生 HTTP 客户端管理 Grafana 仪表盘。本地 JSON 路径选择单个仪表盘、一个文件夹或 完整仪表盘目录。装载、导出与清理采用同一套选择规则,破坏性操作可以先预览。 默认目录是 Pigsty 仪表盘集合,用户也可以选择其他符合格式的目录。 清 …
决策日期: 2026-07-18 状态: 随 v1.6.0 发布;v1.6.2 加入仪表盘 schema v2 支持。 当前参考: pig sty grafana 范围: 仪表盘导入、导出、清理,以及部分组织与用户偏好设置。 决策 PIG 使用原生 HTTP 客户端管理 Grafana 仪表盘。本地 JSON 路径选择单个仪表盘、一个文件夹或 完整仪表盘目录。装载、导出与清理采用同一套选择规则,破坏性操作可以先预览。 默认目录是 Pigsty 仪表盘集合,用户也可以选择其他符合格式的目录。 清 …
-
复用 Pigsty 已经拥有的 CMDB
决策日期: 2026-07-18 状态: 适配器随 v1.6.0 发布,仍为实验功能;早期版本存储设计已被取代。 当前参考: pig inventory cmdb 范围: 与 Pigsty 既有 CMDB 交换声明,而不是再设计一个配置数据库。 决策 PIG 必须复用 Pigsty 已经提供的 CMDB。它的职责是有边界的适配:校验静态 Inventory, 将声明装载到既有表中,导出既有投影,检查一致性,并安全切换 Ansible 的静态与动态数据源。 PIG 不拥有第二套 schema、迁 …
决策日期: 2026-07-18 状态: 适配器随 v1.6.0 发布,仍为实验功能;早期版本存储设计已被取代。 当前参考: pig inventory cmdb 范围: 与 Pigsty 既有 CMDB 交换声明,而不是再设计一个配置数据库。 决策 PIG 必须复用 Pigsty 已经提供的 CMDB。它的职责是有边界的适配:校验静态 Inventory, 将声明装载到既有表中,导出既有投影,检查一致性,并安全切换 Ansible 的静态与动态数据源。 PIG 不拥有第二套 schema、迁 …
-
编辑声明,保留文档:无损 Pigsty Inventory
决策日期: 2026-07-18 状态: 已实现并随 pig v1.6.0 发布。 下述验收修订已实现(Implemented),纳入 v1.10.0 候选版本,尚未发布。 当前参考: pig inventory 范围: 静态 Pigsty Inventory 的查看、局部编辑、校验、比较与安全写入。 决策 PIG 同时把 pigsty.yml 视为配置声明和人工维护的源文档。语义解析器负责判断 Inventory 的含义, 原始字节则决定它的书写方式。局部编辑只替换指定的源范围,并在原子写入 …
决策日期: 2026-07-18 状态: 已实现并随 pig v1.6.0 发布。 下述验收修订已实现(Implemented),纳入 v1.10.0 候选版本,尚未发布。 当前参考: pig inventory 范围: 静态 Pigsty Inventory 的查看、局部编辑、校验、比较与安全写入。 决策 PIG 同时把 pigsty.yml 视为配置声明和人工维护的源文档。语义解析器负责判断 Inventory 的含义, 原始字节则决定它的书写方式。局部编辑只替换指定的源范围,并在原子写入 …
-
pig v1.5.1
Pig v1.5.1 是一次构建与仓库维护版本,更新了多款 PG 内核分支包。 主要变化 镜像/代理模式覆盖 repo、build、sty、update、ext update 等流程;pig build rust -m 会写入 Cargo 镜像配置并使用 rsproxy.cn。 新增 PostgreSQL 19 beta 的 repo、tool、pgrx 显式构建开关:pig build repo --beta、pig build tool --beta、pig build pgrx -b;稳定 …
Pig v1.5.1 是一次构建与仓库维护版本,更新了多款 PG 内核分支包。 主要变化 镜像/代理模式覆盖 repo、build、sty、update、ext update 等流程;pig build rust -m 会写入 Cargo 镜像配置并使用 rsproxy.cn。 新增 PostgreSQL 19 beta 的 repo、tool、pgrx 显式构建开关:pig build repo --beta、pig build tool --beta、pig build pgrx -b;稳定 …
-
瞬间克隆 PostgreSQL 数据库,无需黑魔法
老冯在半年前(2026-01-08)写过一篇文章《Git for Data:瞬间克隆 PG 数据库与实例》,介绍了 PostgreSQL 18 和 Pigsty v4.0 的一个新特性:瞬间克隆新数据库。利用文件系统 CoW 机制,以及 PG 18 的 file_copy_method = clone 新参数,可以在秒级克隆一个非常大的数据库,初始数据块与源库共享。 这玩意儿其实非常适合 AI Agent 使用。我在《Agent 需要什么样的数据库》里提到过:极低成本的数据库克隆对于反事实推演至 …
老冯在半年前(2026-01-08)写过一篇文章《Git for Data:瞬间克隆 PG 数据库与实例》,介绍了 PostgreSQL 18 和 Pigsty v4.0 的一个新特性:瞬间克隆新数据库。利用文件系统 CoW 机制,以及 PG 18 的 file_copy_method = clone 新参数,可以在秒级克隆一个非常大的数据库,初始数据块与源库共享。 这玩意儿其实非常适合 AI Agent 使用。我在《Agent 需要什么样的数据库》里提到过:极低成本的数据库克隆对于反事实推演至 …
-
什么是 PostgreSQL 发行版?
经常有人问我:Pigsty 到底是什么?我通常回答:PostgreSQL 发行版。 通常下一个问题就是:那 “PostgreSQL 发行版” 又是什么? 这是个好问题。而要把它讲清楚,最好的切入点不是数据库,而是操作系统。 一、从 Linux 与操作系统发行版说起 说起 Distribution(发行版),绝大多数人第一反应都是 Linux 发行版 —— Red Hat、Debian、Ubuntu、SUSE、Arch…… 但问题是:既然已经有 Linux,为什么还需要 Linux 发行版?两者到 …
经常有人问我:Pigsty 到底是什么?我通常回答:PostgreSQL 发行版。 通常下一个问题就是:那 “PostgreSQL 发行版” 又是什么? 这是个好问题。而要把它讲清楚,最好的切入点不是数据库,而是操作系统。 一、从 Linux 与操作系统发行版说起 说起 Distribution(发行版),绝大多数人第一反应都是 Linux 发行版 —— Red Hat、Debian、Ubuntu、SUSE、Arch…… 但问题是:既然已经有 Linux,为什么还需要 Linux 发行版?两者到 …
-
pig v1.5.0
Pig v1.5.0 是一次面向 PostgreSQL 日常运维的版本:新增本地数据库 clone / fork 工作流,明确 pg、pt、pb、pitr 的职责边界,并收紧高风险操作的预览、确认与结构化输出行为。 主要变化 pig pg 更聚焦本地 PostgreSQL 操作。新增 pig pg clone 用于快速创建数据库级副本,新增 pig pg fork 用于创建一次性物理实例分叉,适合本地验证、恢复演练和隔离实验。 恢复流程拆得更清楚:pig pitr 作为 Patroni / …
Pig v1.5.0 是一次面向 PostgreSQL 日常运维的版本:新增本地数据库 clone / fork 工作流,明确 pg、pt、pb、pitr 的职责边界,并收紧高风险操作的预览、确认与结构化输出行为。 主要变化 pig pg 更聚焦本地 PostgreSQL 操作。新增 pig pg clone 用于快速创建数据库级副本,新增 pig pg fork 用于创建一次性物理实例分叉,适合本地验证、恢复演练和隔离实验。 恢复流程拆得更清楚:pig pitr 作为 Patroni / …
-
危险操作只有一套语法:PIG 运维 CLI 安全契约
决策日期: 2026-07-02 状态: pg、pb、pt、pitr 已于 v1.5.0 交付;2026-08-29 的 do 与 build proxy 修订已随 v1.8.1 发布。下述验收修订已实现(Implemented),面向 v1.10.0;源码证据见验证章节,尚未发布。 当前参考: pig pg、pig pb、pig pitr、pig do 与 pig build 范围: PIG 实现的运维命令;透明上游命令继续采用上游的确认与退出行为。 决策 操作便利性不能模糊操作含义。PIG …
决策日期: 2026-07-02 状态: pg、pb、pt、pitr 已于 v1.5.0 交付;2026-08-29 的 do 与 build proxy 修订已随 v1.8.1 发布。下述验收修订已实现(Implemented),面向 v1.10.0;源码证据见验证章节,尚未发布。 当前参考: pig pg、pig pb、pig pitr、pig do 与 pig build 范围: PIG 实现的运维命令;透明上游命令继续采用上游的确认与退出行为。 决策 操作便利性不能模糊操作含义。PIG …
-
为什么 PIG 保持扁平的 Cobra 命令层
决策日期: 2026-06-30 状态: 已实现;新命令继续采用此布局。 当前参考: pig 命令总览与源码仓库 范围: Go 源码归属与命令注册方式,而不是公开命令分类本身。 决策 cmd 包保持扁平。一个顶层命令对应一个顶层 Go 文件:pg.go、pb.go、pt.go、 pe.go、sty.go、do.go、repo.go 等。即使命令树很复杂,也继续留在这个入口文件中, 除非另有明确的布局决策。 文件可以很长,但只应包含 Cobra 关注点:名称、别名、注解、参数、实参校验、帮助、注 …
决策日期: 2026-06-30 状态: 已实现;新命令继续采用此布局。 当前参考: pig 命令总览与源码仓库 范围: Go 源码归属与命令注册方式,而不是公开命令分类本身。 决策 cmd 包保持扁平。一个顶层命令对应一个顶层 Go 文件:pg.go、pb.go、pt.go、 pe.go、sty.go、do.go、repo.go 等。即使命令树很复杂,也继续留在这个入口文件中, 除非另有明确的布局决策。 文件可以很长,但只应包含 Cobra 关注点:名称、别名、注解、参数、实参校验、帮助、注 …
-
pig v1.4.2
内置扩展目录从 510 个可用扩展刷新到 524 个,新增 14 个扩展:pg_stl、pgmnemo、psql_bm25s、pg_orca、pg_sorted_heap、graph、pgrdf、fsm_core、jsonschema、pg_durable、pg_mockable、pg_uuid_v8、pg_stat_backtrace、pg_projection。 更新 48 个已有扩展的软件包元数据,包括 timescaledb 2.28.0、timescaledb_toolkit …
内置扩展目录从 510 个可用扩展刷新到 524 个,新增 14 个扩展:pg_stl、pgmnemo、psql_bm25s、pg_orca、pg_sorted_heap、graph、pgrdf、fsm_core、jsonschema、pg_durable、pg_mockable、pg_uuid_v8、pg_stat_backtrace、pg_projection。 更新 48 个已有扩展的软件包元数据,包括 timescaledb 2.28.0、timescaledb_toolkit …
-
人人可用的 PG 扩展
在线幻灯片:人人都能用上的 PostgreSQL 扩展 第一部分:引言 0. 人人都能用上的扩展 00. 人人都能用上的扩展 大家好,这次演讲的题目是「人人都能用上的扩展」。 它讨论的是 PostgreSQL 扩展的交付,以及一个共享的交付层,如何同时让用户、扩展作者、厂商和 PostgreSQL 内核开发者受益。 1. 我是谁 01. 我是谁 我是冯若航,Pigsty 的作者和维护者。Pigsty 是一个开源 PostgreSQL 发行版。 我也是 pgext.cloud 的建设者 …
在线幻灯片:人人都能用上的 PostgreSQL 扩展 第一部分:引言 0. 人人都能用上的扩展 00. 人人都能用上的扩展 大家好,这次演讲的题目是「人人都能用上的扩展」。 它讨论的是 PostgreSQL 扩展的交付,以及一个共享的交付层,如何同时让用户、扩展作者、厂商和 PostgreSQL 内核开发者受益。 1. 我是谁 01. 我是谁 我是冯若航,Pigsty 的作者和维护者。Pigsty 是一个开源 PostgreSQL 发行版。 我也是 pgext.cloud 的建设者 …
-
pig v1.4.1
扩展目录更新到 510 个扩展,新增 3 个扩展,更新 17 个扩展。 新增 Ubuntu 26.04 resolute 支持,移除 Ubuntu 20.04 focal 支持。 将 el9.aarch64 特例中的 patroni / patroni-etcd 提升到 4.1.2。 校准上游软件仓库定义。 校验和 复制全部校验和 下载资产 文件校验和 pig-1.4.1-1.aarch64.rpm Linuxarm64SHA-256 cbfbb04b…6dc3 …
扩展目录更新到 510 个扩展,新增 3 个扩展,更新 17 个扩展。 新增 Ubuntu 26.04 resolute 支持,移除 Ubuntu 20.04 focal 支持。 将 el9.aarch64 特例中的 patroni / patroni-etcd 提升到 4.1.2。 校准上游软件仓库定义。 校验和 复制全部校验和 下载资产 文件校验和 pig-1.4.1-1.aarch64.rpm Linuxarm64SHA-256 cbfbb04b…6dc3 …
-
pig v1.4.0
刷新扩展目录,可用扩展总数增加到 510,并更新 timescaledb 2.26.3、decoderbufs 3.5.0、pgclone 4.0.0、nominatim_fdw 1.3 等版本。 默认 pgrx 从 0.17.0 升级到 0.18.0,同步对齐相关 Rust 扩展构建版本。 为 pig build get 刷新权威源码包映射,覆盖 Cloudberry / OrioleDB 构建输入,以及 RDKit / OneSparse 相关附加源码。 修复 repo set 标志位隔离 …
刷新扩展目录,可用扩展总数增加到 510,并更新 timescaledb 2.26.3、decoderbufs 3.5.0、pgclone 4.0.0、nominatim_fdw 1.3 等版本。 默认 pgrx 从 0.17.0 升级到 0.18.0,同步对齐相关 Rust 扩展构建版本。 为 pig build get 刷新权威源码包映射,覆盖 Cloudberry / OrioleDB 构建输入,以及 RDKit / OneSparse 相关附加源码。 修复 repo set 标志位隔离 …
-
pig v1.3.4
扩展数量更新至 504 个。 校验和 复制全部校验和 下载资产 文件校验和 pig-1.3.4-1.aarch64.rpm Linuxarm64SHA-256 dc78def9…05fd pig-1.3.4-1.x86_64.rpm Linuxamd64SHA-256 998fcbda…e696 pig-v1.3.4.darwin-amd64.tar.gz macOSamd64SHA-256 031048c5…a1df pig-v1.3.4.darwin-arm64.tar.gz …
扩展数量更新至 504 个。 校验和 复制全部校验和 下载资产 文件校验和 pig-1.3.4-1.aarch64.rpm Linuxarm64SHA-256 dc78def9…05fd pig-1.3.4-1.x86_64.rpm Linuxamd64SHA-256 998fcbda…e696 pig-v1.3.4.darwin-amd64.tar.gz macOSamd64SHA-256 031048c5…a1df pig-v1.3.4.darwin-arm64.tar.gz …
-
504 个扩展,PG 生态的天花板在哪?
一个 Issue ,引发扩展马拉松;32 个新扩展告诉你,PostgreSQL 正在变成什么;504 个扩展,PostgreSQL 生态的天花板在哪? 从一个化学扩展说起 两天前,一位用户在 GitHub 上给我提了个 Issue:他在用 RDKit —— 化学信息学领域的事实标准库,能在 PostgreSQL 里做分子结构存储、子结构检索和相似性计算。 但他发现 PGDG 官方打包的版本缺了 InChI 功能,他自己折腾了半天,加上编译参数后总算跑通了,但还是希望 Pigsty 能原生支持。 …
一个 Issue ,引发扩展马拉松;32 个新扩展告诉你,PostgreSQL 正在变成什么;504 个扩展,PostgreSQL 生态的天花板在哪? 从一个化学扩展说起 两天前,一位用户在 GitHub 上给我提了个 Issue:他在用 RDKit —— 化学信息学领域的事实标准库,能在 PostgreSQL 里做分子结构存储、子结构检索和相似性计算。 但他发现 PGDG 官方打包的版本缺了 InChI 功能,他自己折腾了半天,加上编译参数后总算跑通了,但还是希望 Pigsty 能原生支持。 …
-
pig v1.3.3
扩展目录刷新,可用扩展总数增加到 481 个。 Go 工具链从 1.26.0 升级到 1.26.2。 扩展更新 扩展名 旧版本 新版本 备注 timescaledb 2.25.2 2.26.2 正常,PG15-18 pg_background 1.8 1.9.2 仅 DEB,PG14-18 pg_ivm 1.13 1.14 升级,PG14-18 system_stats 3.2 4.0 升级,PG14-18 nominatim_fdw 1.1.0 1.2 升级,PG14-18 …
扩展目录刷新,可用扩展总数增加到 481 个。 Go 工具链从 1.26.0 升级到 1.26.2。 扩展更新 扩展名 旧版本 新版本 备注 timescaledb 2.25.2 2.26.2 正常,PG15-18 pg_background 1.8 1.9.2 仅 DEB,PG14-18 pg_ivm 1.13 1.14 升级,PG14-18 system_stats 3.2 4.0 升级,PG14-18 nominatim_fdw 1.1.0 1.2 升级,PG14-18 …
-
pig v1.3.2
例行维护版本。 例行刷新部分扩展版本元数据与扩展目录条目,扩展版本更新。 新增 pig pg tune 子命令,可根据硬件资源与工作负载画像生成 PostgreSQL 调优参数建议。 为 pig build get 新增 pdu 与 pgdog 两个源码包 alias。 调整 pgext.cloud 的 URL 至新版本的扩展目录 pigsty.io/ext 校验和 复制全部校验和 下载资产 文件校验和 pig-1.3.2-1.aarch64.rpm Linuxarm64SHA-256 …
例行维护版本。 例行刷新部分扩展版本元数据与扩展目录条目,扩展版本更新。 新增 pig pg tune 子命令,可根据硬件资源与工作负载画像生成 PostgreSQL 调优参数建议。 为 pig build get 新增 pdu 与 pgdog 两个源码包 alias。 调整 pgext.cloud 的 URL 至新版本的扩展目录 pigsty.io/ext 校验和 复制全部校验和 下载资产 文件校验和 pig-1.3.2-1.aarch64.rpm Linuxarm64SHA-256 …
-
七成正确的调优器:界定 pig pg tune 的边界
决策日期: 2026-03-21 状态: 2026-03-23 实现,随 pig v1.3.2 发布。 当前参考: pig pg tune 范围: 根据硬件、PostgreSQL 版本与工作负载类型生成初始配置。 决策 pig pg tune 计算 PostgreSQL 核心参数,输出结果供用户审阅。命令探测 CPU、内存与磁盘容量, 接受用户指定的覆盖值,并按选定的工作负载类型计算。文本输出展示生成的参数;JSON 和 YAML 输出 包含输入条件与参数。用户审阅结果后,选择需要的参数,通过 …
决策日期: 2026-03-21 状态: 2026-03-23 实现,随 pig v1.3.2 发布。 当前参考: pig pg tune 范围: 根据硬件、PostgreSQL 版本与工作负载类型生成初始配置。 决策 pig pg tune 计算 PostgreSQL 核心参数,输出结果供用户审阅。命令探测 CPU、内存与磁盘容量, 接受用户指定的覆盖值,并按选定的工作负载类型计算。文本输出展示生成的参数;JSON 和 YAML 输出 包含输入条件与参数。用户审阅结果后,选择需要的参数,通过 …
-
PG 扩展百科全书:中英双语,开箱即用
扩展目录:中文站 · 英文站 扩展是 PostgreSQL 的灵魂。没有扩展的 PostgreSQL,只是一个普通的关系型数据库;有了扩展的 PostgreSQL,才是那个能吞噬整个数据库世界的超级平台。 但长期以来,PG 扩展生态一直面临一个尴尬的问题:找不到、看不懂、装不上。你想用一个扩展,得先去 GitHub 翻 README,再去 PGXN 碰运气看有没有包,然后对着不同操作系统的包管理器折腾半天。运气好装上了,运气不好,编译失败、依赖缺失、版本不兼容,一下午就没了。 所以我做了一件事 …
扩展目录:中文站 · 英文站 扩展是 PostgreSQL 的灵魂。没有扩展的 PostgreSQL,只是一个普通的关系型数据库;有了扩展的 PostgreSQL,才是那个能吞噬整个数据库世界的超级平台。 但长期以来,PG 扩展生态一直面临一个尴尬的问题:找不到、看不懂、装不上。你想用一个扩展,得先去 GitHub 翻 README,再去 PGXN 碰运气看有没有包,然后对着不同操作系统的包管理器折腾半天。运气好装上了,运气不好,编译失败、依赖缺失、版本不兼容,一下午就没了。 所以我做了一件事 …
-
464个扩展开箱即用:新版 PG 扩展目录发布
今天老冯又让 Claude Code 干了一件大好事 —— 做了一个全新的 PostgreSQL 扩展目录,就放在 pigsty.cc/ext 这里。 说起来,这已经是第五版了。兜兜转转一大圈,又回到了第一版使用的 Hugo + Docsy 框架,重新融合到 Pigsty 主站。这个过程本身就是个故事,后面再聊。先说说这一版到底做了什么。 不只是有包,还要有文档 之前的扩展目录,核心功能是告诉你:这个扩展叫什么、元数据在哪里、二进制包怎么下载、一键安装怎么搞。你装好了就行,至于怎么用 —— 自己 …
今天老冯又让 Claude Code 干了一件大好事 —— 做了一个全新的 PostgreSQL 扩展目录,就放在 pigsty.cc/ext 这里。 说起来,这已经是第五版了。兜兜转转一大圈,又回到了第一版使用的 Hugo + Docsy 框架,重新融合到 Pigsty 主站。这个过程本身就是个故事,后面再聊。先说说这一版到底做了什么。 不只是有包,还要有文档 之前的扩展目录,核心功能是告诉你:这个扩展叫什么、元数据在哪里、二进制包怎么下载、一键安装怎么搞。你装好了就行,至于怎么用 —— 自己 …
-
pig v1.3.1
这是从 v1.3.0 到 v1.3.1 的一次小型维护版本。 由于 PGDG 上游已移除 PG13 归档与分发,pig 同步移除 PG13 安装/构建支持。 活跃支持的 PostgreSQL 主版本现在为 14-18。 扩展目录刷新(461 -> 464),新增 pg_pinyin、pg_eviltransform、qos。 Percona PPG 上游仓库更新到 18.3。 修复 pig build 依赖/构建同步问题,rsync 增加 --keep-dirlinks 参数。 YUM 仓库中 …
这是从 v1.3.0 到 v1.3.1 的一次小型维护版本。 由于 PGDG 上游已移除 PG13 归档与分发,pig 同步移除 PG13 安装/构建支持。 活跃支持的 PostgreSQL 主版本现在为 14-18。 扩展目录刷新(461 -> 464),新增 pg_pinyin、pg_eviltransform、qos。 Percona PPG 上游仓库更新到 18.3。 修复 pig build 依赖/构建同步问题,rsync 增加 --keep-dirlinks 参数。 YUM 仓库中 …
-
pig v1.3.0
这是从 v1.2.0 到 v1.3.0 的一次工程强化与目录扩展版本:15 commits、74 files changed、代码行 +1184 / -236。 该版本重点围绕 pig build 构建链路和 ext 目录/别名能力增强,并将可用扩展数量从 451 增加到 461。 主要变化 构建源码下载增强(pig build get): 支持从扩展 Source 字段解析多源码(空格/换行/Tab 分隔)并去重。 新增 agensgraph / agentsgraph 源码映射。 …
这是从 v1.2.0 到 v1.3.0 的一次工程强化与目录扩展版本:15 commits、74 files changed、代码行 +1184 / -236。 该版本重点围绕 pig build 构建链路和 ext 目录/别名能力增强,并将可用扩展数量从 451 增加到 461。 主要变化 构建源码下载增强(pig build get): 支持从扩展 Source 字段解析多源码(空格/换行/Tab 分隔)并去重。 新增 agensgraph / agentsgraph 源码映射。 …
-
pig v1.2.0
扩展目录与别名解析增强: 引入动态 PG 分类别名解析,按 PG 主版本选择别名映射。 引入 OS 维度别名覆盖(ansible/bootstrap),并在未知发行版回退中收敛为 PGDG-only。 新增 node/infra、babelfish/cloudberry 等别名并更新扩展元数据,减少包解析歧义。 高风险操作计划预览: 新增 pig install --plan,支持结构化执行计划输出。 统一 pig pitr 与 pgBackRest repack/expire 的计划预览语义 …
扩展目录与别名解析增强: 引入动态 PG 分类别名解析,按 PG 主版本选择别名映射。 引入 OS 维度别名覆盖(ansible/bootstrap),并在未知发行版回退中收敛为 PGDG-only。 新增 node/infra、babelfish/cloudberry 等别名并更新扩展元数据,减少包解析歧义。 高风险操作计划预览: 新增 pig install --plan,支持结构化执行计划输出。 统一 pig pitr 与 pgBackRest repack/expire 的计划预览语义 …
-
先编译和校验,再提交:原生 sty conf 流水线
决策日期: 2026-02-18;生产契约于 2026-08-14 定稿。 状态: 已实现并随 pig v1.8.0 发布。 当前参考: pig sty conf 范围: 从受信 Pigsty 模板生成一份经过校验的静态 Inventory,不是任意 YAML 转换器。 决策 pig sty conf 应当像一台小型编译器:解析一个安全模板,读取结构,应用一组有边界的结构化变更, 校验完整候选文件,并且只在所有必要阶段成功后原子提交输出。 命令不调用旧 configure 脚本,也不回退到原始 …
决策日期: 2026-02-18;生产契约于 2026-08-14 定稿。 状态: 已实现并随 pig v1.8.0 发布。 当前参考: pig sty conf 范围: 从受信 Pigsty 模板生成一份经过校验的静态 Inventory,不是任意 YAML 转换器。 决策 pig sty conf 应当像一台小型编译器:解析一个安全模板,读取结构,应用一组有边界的结构化变更, 校验完整候选文件,并且只在所有必要阶段成功后原子提交输出。 命令不调用旧 configure 脚本,也不回退到原始 …
-
pig v1.1.1
修复 在迁移构建目录时保留符号链接语义,并支持跨文件系统移动。 正确处理被配置为文件系统根目录的 PostgreSQL 日志目录,防止解析到预期目录之外的文件。 允许 pig repo rm 删除名称中带点号的仓库模块,同时保留安全路径校验。 pig sty init 解压 Pigsty 发布包时允许安全的相对符号链接。 校验和 复制全部校验和 下载资产 文件校验和 pig-1.1.1-1.aarch64.rpm Linuxarm64SHA-256 22fe5e95…7429 …
修复 在迁移构建目录时保留符号链接语义,并支持跨文件系统移动。 正确处理被配置为文件系统根目录的 PostgreSQL 日志目录,防止解析到预期目录之外的文件。 允许 pig repo rm 删除名称中带点号的仓库模块,同时保留安全路径校验。 pig sty init 解压 Pigsty 发布包时允许安全的相对符号链接。 校验和 复制全部校验和 下载资产 文件校验和 pig-1.1.1-1.aarch64.rpm Linuxarm64SHA-256 22fe5e95…7429 …
-
pig v1.1.0
该版本是从 v1.0.0 到 v1.1.0 的一次规划中架构级升级(79 commits,193 files 变更), 核心目标是把 pig 从“人类可用 CLI”推进到“Agent-native 可编排 CLI”。 新增七个扩展,总可用扩展数量达到 451 个。 新功能 Agent-native 统一输出框架落地:引入全局 --output(text/yaml/json/json-pretty),为 ext/repo/pg/pt/pb/pitr/status/version/context 等 …
该版本是从 v1.0.0 到 v1.1.0 的一次规划中架构级升级(79 commits,193 files 变更), 核心目标是把 pig 从“人类可用 CLI”推进到“Agent-native 可编排 CLI”。 新增七个扩展,总可用扩展数量达到 451 个。 新功能 Agent-native 统一输出框架落地:引入全局 --output(text/yaml/json/json-pretty),为 ext/repo/pg/pt/pb/pitr/status/version/context 等 …
-
从面向人类到 Agent-Native:PIG 的 CLI 契约
决策日期: 2026-02-12 状态: 随 pig v1.1.0 发布,之后随命令层演进调整。下述验收修订已实现(Implemented),纳入 v1.10.0 候选版本,尚未发布。 当前参考: pig 命令总览 范围: PIG 命令的自动化接口,以及外部工具的原生透传接口。 决策 PIG 为终端用户提供文本,为自动化提供结构化结果。产生稳定数据的命令提供 JSON 或 YAML 与状态码, 支持计划的工作流还提供执行计划。pig pt 等透明透传命令保留外部工具的输出、提示与退出码。 背景 …
决策日期: 2026-02-12 状态: 随 pig v1.1.0 发布,之后随命令层演进调整。下述验收修订已实现(Implemented),纳入 v1.10.0 候选版本,尚未发布。 当前参考: pig 命令总览 范围: PIG 命令的自动化接口,以及外部工具的原生透传接口。 决策 PIG 为终端用户提供文本,为自动化提供结构化结果。产生稳定数据的命令提供 JSON 或 YAML 与状态码, 支持计划的工作流还提供执行计划。pig pt 等透明透传命令保留外部工具的输出、提示与退出码。 背景 …
-
pig v1.0.0
本版本引入三组主要的新子命令(pig pg、pig pt、pig pb),用于管理 PostgreSQL、Patroni 和 pgBackRest,同时新增编排式 PITR 命令,并增强扩展可用性显示。 新增命令 pig pg - PostgreSQL 实例管理 pg init/start/stop/restart/reload/status - 控制与管理 PostgreSQL 实例 pg role/promote - 检测和切换实例角色(主库/从库) pg psql/ps/kill - 连接 …
本版本引入三组主要的新子命令(pig pg、pig pt、pig pb),用于管理 PostgreSQL、Patroni 和 pgBackRest,同时新增编排式 PITR 命令,并增强扩展可用性显示。 新增命令 pig pg - PostgreSQL 实例管理 pg init/start/stop/restart/reload/status - 控制与管理 PostgreSQL 实例 pg role/promote - 检测和切换实例角色(主库/从库) pg psql/ps/kill - 连接 …
-
pig v0.9.0
变更 将 pig sty install 重命名为 pig sty deploy,使命令名称准确表达其执行 Pigsty 部署 playbook 的行为。 为 pig sty conf 增加 -g、-p 与 -o 参数,与该版本中的 configure 脚本保持一致。 在 pgsql-full 软件包别名中保留 llvmjit。 校验和 复制全部校验和 下载资产 文件校验和 pig-0.9.0-1.aarch64.rpm Linuxarm64SHA-256 ea0c098d…13fa …
变更 将 pig sty install 重命名为 pig sty deploy,使命令名称准确表达其执行 Pigsty 部署 playbook 的行为。 为 pig sty conf 增加 -g、-p 与 -o 参数,与该版本中的 configure 脚本保持一致。 在 pgsql-full 软件包别名中保留 llvmjit。 校验和 复制全部校验和 下载资产 文件校验和 pig-0.9.0-1.aarch64.rpm Linuxarm64SHA-256 ea0c098d…13fa …
-
pig v0.8.1
修复 将 v0.8.0 中移除的 llvmjit 恢复到 pgsql-full 软件包别名。 将发布版本更新为 v0.8.1。 校验和 复制全部校验和 下载资产 文件校验和 pig-0.8.1-1.aarch64.rpm Linuxarm64SHA-256 fd9291b1…258c pig-0.8.1-1.x86_64.rpm Linuxamd64SHA-256 c2ec07d1…edec pig-v0.8.1.darwin-amd64.tar.gz macOSamd64SHA-256 …
修复 将 v0.8.0 中移除的 llvmjit 恢复到 pgsql-full 软件包别名。 将发布版本更新为 v0.8.1。 校验和 复制全部校验和 下载资产 文件校验和 pig-0.8.1-1.aarch64.rpm Linuxarm64SHA-256 fd9291b1…258c pig-0.8.1-1.x86_64.rpm Linuxamd64SHA-256 c2ec07d1…edec pig-v0.8.1.darwin-amd64.tar.gz macOSamd64SHA-256 …
-
pig v0.8.0
扩展更新 扩展总数达到 440 个 新增扩展:pg_ai_query 0.1.1 新增扩展:pg_textsearch 0.1.0 新增扩展:pg_clickhouse 0.1.0 pg_biscuit 从 1.0 升级至 2.0.1(切换至新仓库,更名为 biscuit) pg_search 从 0.20.3 升级至 0.20.5 pg_duckdb 升级至官方正式版 1.1.1 vchord_bm25 从 0.2.2 升级至 0.3.0 pg_semver 从 0.40.0 升级至 …
扩展更新 扩展总数达到 440 个 新增扩展:pg_ai_query 0.1.1 新增扩展:pg_textsearch 0.1.0 新增扩展:pg_clickhouse 0.1.0 pg_biscuit 从 1.0 升级至 2.0.1(切换至新仓库,更名为 biscuit) pg_search 从 0.20.3 升级至 0.20.5 pg_duckdb 升级至官方正式版 1.1.1 vchord_bm25 从 0.2.2 升级至 0.3.0 pg_semver 从 0.40.0 升级至 …
-
pig v0.7.5
扩展更新 timescaledb 2.23.1 -> 2.24.0 pg_search 0.20.0 -> 0.20.3 convert 0.0.4 -> 0.0.5 pglinter 1.0.0 -> 1.0.1 pgdd 0.6.0 -> 0.6.1 pg_session_jwt 0.3.3 -> 0.4.0 pg_anon 2.4.1 -> 2.5.1 pg_enigma 0.4.0 -> 0.5.0 wrappers 0.5.6 -> 0.5.7 pg_vectorize 0.25.0 …
扩展更新 timescaledb 2.23.1 -> 2.24.0 pg_search 0.20.0 -> 0.20.3 convert 0.0.4 -> 0.0.5 pglinter 1.0.0 -> 1.0.1 pgdd 0.6.0 -> 0.6.1 pg_session_jwt 0.3.3 -> 0.4.0 pg_anon 2.4.1 -> 2.5.1 pg_enigma 0.4.0 -> 0.5.0 wrappers 0.5.6 -> 0.5.7 pg_vectorize 0.25.0 …
-
pig v0.7.4
更新扩展版本与元数据:pg_search,pgmq,pg_stat_monitor 更新 PGDG 仓库 URL 变化,extras 仓库现在位于 yum 仓库顶层 将 ivorysql 更新至 5.0 版本,与 PG 18 兼容 将 Percona Postgres TDE 内核更新至 18.1 Checksums 复制全部校验和 下载资产 文件校验和 pig-0.7.4-1.aarch64.rpm Linuxarm64SHA-256 5769b005…ce57 …
更新扩展版本与元数据:pg_search,pgmq,pg_stat_monitor 更新 PGDG 仓库 URL 变化,extras 仓库现在位于 yum 仓库顶层 将 ivorysql 更新至 5.0 版本,与 PG 18 兼容 将 Percona Postgres TDE 内核更新至 18.1 Checksums 复制全部校验和 下载资产 文件校验和 pig-0.7.4-1.aarch64.rpm Linuxarm64SHA-256 5769b005…ce57 …
-
立足中国,面向全球的 PostgreSQL 发行版
大家好,我是冯若航,Pigsty 的作者,独立开源贡献者。 今天我想和大家聊一个话题:如何打造一个立足中国,面向全球的 PostgreSQL 数据库发行版。 这个标题听着有点大,但我想说的很简单:PostgreSQL 已经赢了,问题是 —— 我们中国开发者在这场胜利中扮演什么角色? 是旁观者,还是参与者?是跟随者,还是引领者? 数据库内核之争已经尘埃落定,真正的竞争将会发生在数据库发行版上。 而在这个关键的机会窗口里,我们应该凝聚生态合力,打造一个全世界开发者都愿意使用的基础设施,数据库世界中的 …
大家好,我是冯若航,Pigsty 的作者,独立开源贡献者。 今天我想和大家聊一个话题:如何打造一个立足中国,面向全球的 PostgreSQL 数据库发行版。 这个标题听着有点大,但我想说的很简单:PostgreSQL 已经赢了,问题是 —— 我们中国开发者在这场胜利中扮演什么角色? 是旁观者,还是参与者?是跟随者,还是引领者? 数据库内核之争已经尘埃落定,真正的竞争将会发生在数据库发行版上。 而在这个关键的机会窗口里,我们应该凝聚生态合力,打造一个全世界开发者都愿意使用的基础设施,数据库世界中的 …
-
pig v0.7.3
新增 pig repo reload 命令,更新仓库元数据 修复 EL PGDG sysupdate aarch64 仓库问题。 修复 EL10.aarch64 PGDG 仓库重命名问题。 订正了若干扩展版本 更新 Pigsty 版本至 3.7.0 校验和 复制全部校验和 下载资产 文件校验和 pig-0.7.3-1.aarch64.rpm Linuxarm64SHA-256 83e1b491…c742 pig-0.7.3-1.x86_64.rpm Linuxamd64SHA-256 …
新增 pig repo reload 命令,更新仓库元数据 修复 EL PGDG sysupdate aarch64 仓库问题。 修复 EL10.aarch64 PGDG 仓库重命名问题。 订正了若干扩展版本 更新 Pigsty 版本至 3.7.0 校验和 复制全部校验和 下载资产 文件校验和 pig-0.7.3-1.aarch64.rpm Linuxarm64SHA-256 83e1b491…c742 pig-0.7.3-1.x86_64.rpm Linuxamd64SHA-256 …
-
聊聊开源软件供应链信任问题
昨天,老冯此前发表的文章《从PG“断供”看软件供应链中的信任问题》收到一条评论, 评论者是清华大学 TUNA 开源镜像站的管理员,向老冯提出批评抗议,内容如下: 作为高校开源镜像站管理员,我想要提醒作者,文中“躺平”“没有担当”的措辞是很不负责任的、令人心寒的指控。 老冯看到评论之后也做了回复: 感谢 回复与评论,也感谢这些年 TUNA 以及国内各高校镜像站为开源镜像生态投入的时间和精力。我看到当时 TUNA 的 PostgreSQL 仓库已经恢复了和上游的同步,这一点先点个赞。 最初发现问题时 …
昨天,老冯此前发表的文章《从PG“断供”看软件供应链中的信任问题》收到一条评论, 评论者是清华大学 TUNA 开源镜像站的管理员,向老冯提出批评抗议,内容如下: 作为高校开源镜像站管理员,我想要提醒作者,文中“躺平”“没有担当”的措辞是很不负责任的、令人心寒的指控。 老冯看到评论之后也做了回复: 感谢 回复与评论,也感谢这些年 TUNA 以及国内各高校镜像站为开源镜像生态投入的时间和精力。我看到当时 TUNA 的 PostgreSQL 仓库已经恢复了和上游的同步,这一点先点个赞。 最初发现问题时 …
-
pig v0.7.2
批量更新扩展,数量达到 437 个 新增 PGDG EL10 Sysupdate 仓库 新增 LLVM APT 仓库 在 pig build 命令中使用可选的本地 extension.csv 扩展定义问题。 更新的扩展: vchord pg_later pgvectorscale pglite_fusion pgx_ulid pg_search citus timescaledb pg_profile pg_stat_monitor documentdb 新增的扩展:pglinter …
批量更新扩展,数量达到 437 个 新增 PGDG EL10 Sysupdate 仓库 新增 LLVM APT 仓库 在 pig build 命令中使用可选的本地 extension.csv 扩展定义问题。 更新的扩展: vchord pg_later pgvectorscale pglite_fusion pgx_ulid pg_search citus timescaledb pg_profile pg_stat_monitor documentdb 新增的扩展:pglinter …