跳转到主要内容

标签: cli

  • pig v1.8.1

    冯若航 发布于 发布

    冯若航clirepobuildcatalog

    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 …

  • Catalog v2 提案:不可变 typed snapshot,而不是更大的 CSV

    冯若航 发布于 设计

    冯若航catalogrepoextcli

    Catalog v2 提案:不可变 typed snapshot,而不是更大的 CSV

    决策日期: 2026-08-13 状态: 实现前提案;安全机制、overlay 范围、打包方式与路径 ADR 仍未决定。 当前参考: pig ext 与 pig repo描述 v1 Catalog 行为。 范围: PIG 2.0 产品元数据的候选发布与消费模型,不包含 Inventory 或实时系统状态。 决策 Catalog v2 应当是一份由多个 typed target 组成的不可变、可验证 snapshot。 Manifest 将平台、仓库、路由、package alias、扩展、兼容 …

    决策日期: 2026-08-13 状态: 实现前提案;安全机制、overlay 范围、打包方式与路径 ADR 仍未决定。 当前参考: pig ext 与 pig repo描述 v1 Catalog 行为。 范围: PIG 2.0 产品元数据的候选发布与消费模型,不包含 Inventory 或实时系统状态。 决策 Catalog v2 应当是一份由多个 typed target 组成的不可变、可验证 snapshot。 Manifest 将平台、仓库、路由、package alias、扩展、兼容 …

  • PIG 2.0 产品方向:一份提案,而不是发布契约

    冯若航 发布于 设计

    冯若航clistycatalog

    PIG 2.0 产品方向:一份提案,而不是发布契约

    决策日期: 2026-08-13 状态: 等待 owner 审议的提案;尚未实现,也不是 PIG 2.0 发布承诺。 当前参考: PIG 文档与当前 v1.8.1 发布 范围: 未来 PIG 2.0 / Pigsty 5.0 的候选产品边界与验证门槛。 决策 提案方向是让 PIG 成为从空白控制节点到经过校验、可以部署的 Pigsty Inventory 的稳定初始化前门。 PIG 拥有 Catalog 选择、解析、计划、有边界的执行编排、结构化结果与脱敏 receipt; 软件包事务、配置应 …

    决策日期: 2026-08-13 状态: 等待 owner 审议的提案;尚未实现,也不是 PIG 2.0 发布承诺。 当前参考: PIG 文档与当前 v1.8.1 发布 范围: 未来 PIG 2.0 / Pigsty 5.0 的候选产品边界与验证门槛。 决策 提案方向是让 PIG 成为从空白控制节点到经过校验、可以部署的 Pigsty Inventory 的稳定初始化前门。 PIG 拥有 Catalog 选择、解析、计划、有边界的执行编排、结构化结果与脱敏 receipt; 软件包事务、配置应 …

  • pig v1.6.0

    冯若航 发布于 发布

    冯若航inventorypatronicatalogcli

    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 自己说话

    冯若航 发布于 设计

    冯若航patronicli

    让 Patronictl 自己说话

    决策日期: 2026-07-21 状态: 已实现并随 pig v1.6.0 发布。 当前参考: pig pt 范围: Patronictl 集群命令,以及 PIG 拥有的配置选择、参数设置、服务、状态和日志辅助功能。 决策 pig pt 是已安装 patronictl 的透明启动器。PIG 选择配置并分派少量本地辅助命令; 其它命令 token 及其后的所有参数原样传递,保留原生提示、终端行为、输出格式与退出码。 PIG 不再维护一份持续变化的 Patronictl 命令树副本。 背景 镜像 …

    决策日期: 2026-07-21 状态: 已实现并随 pig v1.6.0 发布。 当前参考: pig pt 范围: Patronictl 集群命令,以及 PIG 拥有的配置选择、参数设置、服务、状态和日志辅助功能。 决策 pig pt 是已安装 patronictl 的透明启动器。PIG 选择配置并分派少量本地辅助命令; 其它命令 token 及其后的所有参数原样传递,保留原生提示、终端行为、输出格式与退出码。 PIG 不再维护一份持续变化的 Patronictl 命令树副本。 背景 镜像 …

  • 瞬间克隆 PostgreSQL 数据库,无需黑魔法

    冯若航 发布于 文章

    冯若航postgresclisty

    瞬间克隆 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 需要什么样的数据库》里提到过:极低成本的数据库克隆对于反事实推演至 …

  • 危险操作只有一套语法:PIG 运维 CLI 安全契约

    冯若航 发布于 设计

    冯若航clipostgrespgbackrestpitr

    危险操作只有一套语法:PIG 运维 CLI 安全契约

    决策日期: 2026-07-02 状态: pg、pb、pt、pitr 已于 v1.5.0 交付;2026-08-29 的 do 与 build proxy 修订已随 v1.8.1 发布。 当前参考: 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 发布。 当前参考: pig pg、pig pb、pig pitr、pig do 与 pig build 范围: PIG 自己拥有的运维命令;透明上游命令继续采用上游的确认与退出行为。 决策 操作便利性不能模糊操作含义。PIG 明确区分底层原语与多阶段编排器,显式表达破坏性意图, 谨慎分配别名,并要求计划与结构化结果描 …

  • 为什么 PIG 保持扁平的 Cobra 命令层

    冯若航 发布于 设计

    冯若航cli

    为什么 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.3.0

    冯若航 发布于 发布

    冯若航catalogbuildcliext

    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

    冯若航 发布于 发布

    冯若航repostycatalogcli

    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 的计划预览语义 …

  • pig v1.1.0

    冯若航 发布于 发布

    冯若航clipatronibuildcatalog

    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 契约

    冯若航 发布于 设计

    冯若航cli

    从面向人类到 Agent-Native:PIG 的 CLI 契约

    决策日期: 2026-02-12 状态: 在 pig v1.1.0 中实现,之后继续通过命令层重构收敛。 当前参考: pig 命令总览 范围: PIG 自己拥有的命令及其机器消费契约;不透明的透传命令保留原生接口。 决策 PIG 应当既适合人在终端中使用,也适合自动化 Agent 调用,而且不要求任何一方解析另一方的展示格式。 面向人的文本保持简洁、便于操作;真正拥有稳定结果的命令提供明确的 JSON/YAML 结果、状态码与执行计划。 仅仅转发外部工具的命令则保留原生输出流、提示与退出码,不 …

    决策日期: 2026-02-12 状态: 在 pig v1.1.0 中实现,之后继续通过命令层重构收敛。 当前参考: pig 命令总览 范围: PIG 自己拥有的命令及其机器消费契约;不透明的透传命令保留原生接口。 决策 PIG 应当既适合人在终端中使用,也适合自动化 Agent 调用,而且不要求任何一方解析另一方的展示格式。 面向人的文本保持简洁、便于操作;真正拥有稳定结果的命令提供明确的 JSON/YAML 结果、状态码与执行计划。 仅仅转发外部工具的命令则保留原生输出流、提示与退出码,不 …

  • PG扩展云:解锁 PG 生态的全部潜力

    冯若航 发布于 文章

    冯若航extrepocatalogcli

    PG扩展云:解锁 PG 生态的全部潜力

    微信公众号链接 PostgreSQL 拥有极为强大的扩展插件体系。 在 《PostgreSQL 正在吞噬数据库世界》中, 老冯已经阐述过 可扩展性 是 PostgreSQL 成功的核心要素。 举例来说,PG 有 GIS 领域的事实标准 PostGIS,向量数据库的瑞士军刀 pgvector,还有可以替代 ElasticSearch 的 pg_search, 以及使用 DuckDB 在 PG 内进行分析的 pg_duckdb / pg_mooncake 等等,这些扩展为 PostgreSQL 赋 …

    微信公众号链接 PostgreSQL 拥有极为强大的扩展插件体系。 在 《PostgreSQL 正在吞噬数据库世界》中, 老冯已经阐述过 可扩展性 是 PostgreSQL 成功的核心要素。 举例来说,PG 有 GIS 领域的事实标准 PostGIS,向量数据库的瑞士军刀 pgvector,还有可以替代 ElasticSearch 的 pg_search, 以及使用 DuckDB 在 PG 内进行分析的 pg_duckdb / pg_mooncake 等等,这些扩展为 PostgreSQL 赋 …

  • 小猪骑大象:PG内核与扩展包管理神器

    冯若航 发布于 文章

    冯若航cliextrepopostgres

    小猪骑大象:PG内核与扩展包管理神器

    微信公众号 最近我在忙一个非常有趣的新项目,这两天总算弄完了。各位朋友们,给大家介绍一下这个有趣的小东西,PostgreSQL 与 Pigsty 中久久缺失的一个命令行工具,我称之为 “pig”。 那么 pig 是干什么的?简单来说,这是一个 PostgreSQL 的包管理器,也是 PostgreSQL 与 Pigsty 中久久缺失的一个命令行工具,它可以在主流 Linux 操作系统上提供跨发行版的丝滑无缝的 PostgreSQL 安装部署体验。而且还通过国内镜像解决了下载速度慢和部分仓库被墙 …

    微信公众号 最近我在忙一个非常有趣的新项目,这两天总算弄完了。各位朋友们,给大家介绍一下这个有趣的小东西,PostgreSQL 与 Pigsty 中久久缺失的一个命令行工具,我称之为 “pig”。 那么 pig 是干什么的?简单来说,这是一个 PostgreSQL 的包管理器,也是 PostgreSQL 与 Pigsty 中久久缺失的一个命令行工具,它可以在主流 Linux 操作系统上提供跨发行版的丝滑无缝的 PostgreSQL 安装部署体验。而且还通过国内镜像解决了下载速度慢和部分仓库被墙 …

  • pig pe

    发布于 PIG:Packager Index Gateway

    参考postgrescli

    pig pe(别名:pgexp、pgexporter)是运行中 pg_exporter 的 legacy 便利包装。 它读取默认指标与统计端点,也可以请求配置重载,但不是一套通用或版本化的 pg_exporter 客户端。 pig pe get # 输出 pg_ 指标 pig pe list # 从 HELP 行列出指标族 pig pe stat # 输出 exporter 统计信息 pig pe reload # 请求配置重载 端点选择 默认端点是 http://127.0.0.1:9630。 …

    pig pe(别名:pgexp、pgexporter)是运行中 pg_exporter 的 legacy 便利包装。 它读取默认指标与统计端点,也可以请求配置重载,但不是一套通用或版本化的 pg_exporter 客户端。 pig pe get # 输出 pg_ 指标 pig pe list # 从 HELP 行列出指标族 pig pe stat # 输出 exporter 统计信息 pig pe reload # 请求配置重载 端点选择 默认端点是 http://127.0.0.1:9630。 …

  • pig do

    发布于 PIG:Packager Index Gateway

    参考stycli

    pig do 将常见 Pigsty 管理 Playbook 暴露为明确的 CLI 操作。它使用选定的 Pigsty 主目录与 Inventory,构造对应的 Playbook 命令,并通过 PIG 的旧命令结构化结果适配器返回操作结果。 这些命令会修改远程系统。执行前应检查选中的集群、节点、实例和 Inventory。 该命令族不提供通用 --plan 模式。 pig do pgsql-add pg-test 10.10.10.12 # 添加一个 PostgreSQL 实例 pig do …

    pig do 将常见 Pigsty 管理 Playbook 暴露为明确的 CLI 操作。它使用选定的 Pigsty 主目录与 Inventory,构造对应的 Playbook 命令,并通过 PIG 的旧命令结构化结果适配器返回操作结果。 这些命令会修改远程系统。执行前应检查选中的集群、节点、实例和 Inventory。 该命令族不提供通用 --plan 模式。 pig do pgsql-add pg-test 10.10.10.12 # 添加一个 PostgreSQL 实例 pig do …

  • pig

    发布于 PIG:Packager Index Gateway

    参考cli

    pig CLI 提供了全面的工具集,用于管理 PostgreSQL 安装、扩展、软件仓库以及从源码构建扩展。使用 pig help <command> 查看命令文档。 pig repo:管理软件仓库 pig ext:管理 PostgreSQL 扩展 pig build:从源码构建扩展 pig install:使用原生包管理器安装包,并对 PostgreSQL 别名做翻译 pig sty:管理 Pigsty 安装与 Grafana 仪表盘 pig inventory:检视、编辑、校验与交换 …

    pig CLI 提供了全面的工具集,用于管理 PostgreSQL 安装、扩展、软件仓库以及从源码构建扩展。使用 pig help <command> 查看命令文档。 pig repo:管理软件仓库 pig ext:管理 PostgreSQL 扩展 pig build:从源码构建扩展 pig install:使用原生包管理器安装包,并对 PostgreSQL 别名做翻译 pig sty:管理 Pigsty 安装与 Grafana 仪表盘 pig inventory:检视、编辑、校验与交换 …