cli
22 篇-
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 子命令。新工作流采用 …
-
为什么 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 …
-
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.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 命令树副本。 背景 镜像 …
-
瞬间克隆 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 安全契约
决策日期: 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.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 的计划预览语义 …
-
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 等透明透传命令保留外部工具的输出、提示与退出码。 背景 …
-
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内核与扩展包管理神器
微信公众号 最近我在忙一个非常有趣的新项目,这两天总算弄完了。各位朋友们,给大家介绍一下这个有趣的小东西,PostgreSQL 与 Pigsty 中久久缺失的一个命令行工具,我称之为 “pig”。 PIG 使用系统的 APT、YUM 或 DNF 安装软件包,根据 Linux 发行版、CPU 架构与 PostgreSQL 版本选择匹配的包。国内用户可以选择镜像仓库。 当然,安装 PG 这种事算不上有什么技术挑战,真正有难度的是 PostgreSQL 生态中的扩展插件。PostgreSQL 有着数 …
微信公众号 最近我在忙一个非常有趣的新项目,这两天总算弄完了。各位朋友们,给大家介绍一下这个有趣的小东西,PostgreSQL 与 Pigsty 中久久缺失的一个命令行工具,我称之为 “pig”。 PIG 使用系统的 APT、YUM 或 DNF 安装软件包,根据 Linux 发行版、CPU 架构与 PostgreSQL 版本选择匹配的包。国内用户可以选择镜像仓库。 当然,安装 PG 这种事算不上有什么技术挑战,真正有难度的是 PostgreSQL 生态中的扩展插件。PostgreSQL 有着数 …
-
pig pe
使用 pig pe 读取运行中的 pg_exporter 指标,或重载其配置。 完整命令名为 pig pg_exporter,别名为 pe、pgexp 和 pgexporter。 pig pe get # 查看 PostgreSQL 指标 pig pe list # 列出 PostgreSQL 指标族 pig pe stat # 查看 exporter 统计信息 pig pe reload # 重载 exporter 配置 选择 exporter 默认端点为 …
使用 pig pe 读取运行中的 pg_exporter 指标,或重载其配置。 完整命令名为 pig pg_exporter,别名为 pe、pgexp 和 pgexporter。 pig pe get # 查看 PostgreSQL 指标 pig pe list # 列出 PostgreSQL 指标族 pig pe stat # 查看 exporter 统计信息 pig pe reload # 重载 exporter 配置 选择 exporter 默认端点为 …
-
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
pig 管理 PostgreSQL 软件包、本地数据库服务和 Pigsty 部署。按任务选择下列命令;用 pig COMMAND --help 查看当前程序支持的选项。 pig repo:管理软件仓库 pig ext:管理 PostgreSQL 扩展 pig build:从源码构建扩展 pig install:使用原生包管理器安装包,并对 PostgreSQL 别名做翻译 pig sty:管理 Pigsty 安装与 Grafana 仪表盘 pig inventory:检视、编辑、校验与交换 …
pig 管理 PostgreSQL 软件包、本地数据库服务和 Pigsty 部署。按任务选择下列命令;用 pig COMMAND --help 查看当前程序支持的选项。 pig repo:管理软件仓库 pig ext:管理 PostgreSQL 扩展 pig build:从源码构建扩展 pig install:使用原生包管理器安装包,并对 PostgreSQL 别名做翻译 pig sty:管理 Pigsty 安装与 Grafana 仪表盘 pig inventory:检视、编辑、校验与交换 …