sty
19 篇-
自动安装 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 以及复用此流程的调用方保持一致。已有公钥文件直接复用,自动安装尽最大努力; 所选仓库元数据显式引用签名 …
-
把 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 现在是一套具备事务语义与完整失败处理的原生控制节点引导流程。它不再执 …
-
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.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,确保标签页与 …
-
用有边界的 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 的含义, 原始字节则决定它的书写方式。局部编辑只替换指定的源范围,并在原子写入 …
-
瞬间克隆 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.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 …
-
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 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.5.0
将扩展列表更新至 422 个 新扩展:来自 AWS 的 pgactive 将 timescaledb 升级到 2.20.3 将 citus 升级到 13.1.0 将 vchord 升级到 0.4.3 修复错误:pgvectorscale debian/ubuntu pg17 失败 将 kubernetes 仓库升级到 1.33 将默认 pigsty 版本升级到 3.5.0 校验和 复制全部校验和 下载资产 文件校验和 pig_0.5.0-1_amd64.deb Linuxamd64MD5 …
将扩展列表更新至 422 个 新扩展:来自 AWS 的 pgactive 将 timescaledb 升级到 2.20.3 将 citus 升级到 13.1.0 将 vchord 升级到 0.4.3 修复错误:pgvectorscale debian/ubuntu pg17 失败 将 kubernetes 仓库升级到 1.33 将默认 pigsty 版本升级到 3.5.0 校验和 复制全部校验和 下载资产 文件校验和 pig_0.5.0-1_amd64.deb Linuxamd64MD5 …
-
pig inventory
pig inventory(别名 pig inv)查看、编辑和校验 Pigsty 配置清单 pigsty.yml,检查部署条件,并通过实验性的 cmdb 子命令与 PostgreSQL CMDB 交换配置。 编辑单个片段时,PIG 保留片段外的 YAML 内容与格式。保存前会重新解析完整文件;解析失败或原文件已被其他进程修改时,保留原文件并报告错误。 命令 别名 说明 inv status 检视当前生效的清单来源(不执行清单) inv list ls 列出清单拓扑与取值类型(--depth 限制 …
pig inventory(别名 pig inv)查看、编辑和校验 Pigsty 配置清单 pigsty.yml,检查部署条件,并通过实验性的 cmdb 子命令与 PostgreSQL CMDB 交换配置。 编辑单个片段时,PIG 保留片段外的 YAML 内容与格式。保存前会重新解析完整文件;解析失败或原文件已被其他进程修改时,保留原文件并报告错误。 命令 别名 说明 inv status 检视当前生效的清单来源(不执行清单) inv list ls 列出清单拓扑与取值类型(--depth 限制 …
-
pig do
pig do 在选定的 Pigsty 目录中运行管理剧本,按 Inventory 配置添加集群、创建数据库和用户、安装软件包或移除服务。 先在 Inventory 中写好目标配置,再执行对应命令。命令会直接调用 Ansible;该命令组不提供通用 --plan 模式。 pig do pgsql-add pg-test 10.10.10.12 # 添加一个 PostgreSQL 实例 pig do pgsql-rm pg-test 10.10.10.12 # 移除一个 PostgreSQL 实例 …
pig do 在选定的 Pigsty 目录中运行管理剧本,按 Inventory 配置添加集群、创建数据库和用户、安装软件包或移除服务。 先在 Inventory 中写好目标配置,再执行对应命令。命令会直接调用 Ansible;该命令组不提供通用 --plan 模式。 pig do pgsql-add pg-test 10.10.10.12 # 添加一个 PostgreSQL 实例 pig do pgsql-rm pg-test 10.10.10.12 # 移除一个 PostgreSQL 实例 …
-
pig sty
pig sty 安装 Pigsty,准备控制节点,生成配置,并运行部署剧本。它还通过 Grafana HTTP API 管理仪表盘。 命令 用途 sty init 下载并解压 Pigsty 到安装目录 sty boot 安装 Ansible 依赖并准备控制节点 sty conf 从模板生成并校验 Inventory sty deploy 运行部署剧本 sty list / sty get 查询或下载 Pigsty 发行版 sty grafana 管理 Grafana 仪表盘、语言和外观;别名 …
pig sty 安装 Pigsty,准备控制节点,生成配置,并运行部署剧本。它还通过 Grafana HTTP API 管理仪表盘。 命令 用途 sty init 下载并解压 Pigsty 到安装目录 sty boot 安装 Ansible 依赖并准备控制节点 sty conf 从模板生成并校验 Inventory sty deploy 运行部署剧本 sty list / sty get 查询或下载 Pigsty 发行版 sty grafana 管理 Grafana 仪表盘、语言和外观;别名 …