pig

pig CLI 命令参考概览

pig CLI 提供了全面的工具集,用于管理 PostgreSQL 安装、扩展、软件仓库以及从源码构建扩展。使用 pig help <command> 查看命令文档。

  • pig repo:管理软件仓库
  • pig ext:管理 PostgreSQL 扩展
  • pig build:从源码构建扩展
  • pig install:使用原生包管理器安装包,并对 PostgreSQL 别名做翻译
  • pig sty:管理 Pigsty 安装
  • pig do:执行 Pigsty 管理 playbook 任务
  • pig pe:访问 pg_exporter 指标与配置
  • pig pg:管理本地 PostgreSQL 服务器
  • pig pt:管理 Patroni HA 集群
  • pig pb:管理 pgBackRest 备份与恢复
  • pig pitr:进行完整 PITR 工作流
  • pig context:输出面向人工和 Agent 的环境上下文快照
  • pig status / update / version:查看环境、升级 pig、打印版本信息

概览

pig - PostgreSQL 的 Linux 包管理器

Usage:
  pig [command]

Examples:

  pig repo add -ru            # 覆盖现有仓库并更新缓存
  pig install pg18            # 安装 PostgreSQL 18 PGDG 软件包
  pig install pg_duckdb       # 安装指定的 PostgreSQL 扩展
  pig install pgactive -v 18  # 为特定 PG 版本安装扩展

  访问 https://pigsty.io/ext/ 获取详情

PostgreSQL Extension Manager
  build       构建 Postgres 扩展
  ext         管理 PostgreSQL 扩展 (pgext)
  repo        管理 Linux 软件仓库 (apt/dnf)

Pigsty Management Commands
  do          运行管理任务
  pg          管理本地 PostgreSQL 服务器与数据库
  pt          使用 patronictl 管理 Patroni 集群
  pb          管理 pgBackRest 备份与恢复
  pe          管理 pg_exporter 与监控指标
  pitr        编排式时间点恢复
  sty         管理 Pigsty 安装
  context     显示环境上下文快照

Additional Commands:
  completion  生成指定 shell 的自动补全脚本
  help        获取任何命令的帮助信息
  install     使用原生包管理器安装软件包
  status      显示环境状态
  update      升级 pig 自身
  version     显示 pig 版本信息

Flags:
      --debug              启用调试模式
  -h, --help               获取帮助信息
  -H, --home string        Pigsty 主目录路径
  -i, --inventory string   配置清单路径
      --log-level string   日志级别: debug, info, warn, error, fatal, panic (默认 "info")
      --log-path string    日志文件路径,默认为终端输出
  -o, --output string      输出格式:text, yaml, json, json-pretty(默认 "text"
使用 "pig [command] --help" 获取命令的详细信息。

pig repo

管理 PostgreSQL 软件包的 APT/YUM 仓库,详情请参考 pig repo

pig repo list                    # 列出可用仓库
pig repo info   pgdg             # 显示仓库详情
pig repo status                  # 检查当前仓库状态
pig repo add    pgdg pigsty -u   # 添加仓库
pig repo rm     old-repo         # 移除仓库
pig repo update                  # 更新软件包缓存
pig repo create /www/pigsty      # 创建本地仓库
pig repo cache                   # 创建离线包
pig repo boot                    # 从离线包引导

pig ext

管理 PostgreSQL 扩展和内核包,详情请参考 pig ext

pig ext list    duck             # 搜索扩展
pig ext info    pg_duckdb        # 扩展详情
pig ext status                   # 显示已安装的扩展
pig ext add     pg_duckdb -y     # 安装扩展
pig ext rm      old_extension    # 移除扩展
pig ext update                   # 更新扩展
pig ext scan                     # 扫描已安装的扩展
pig ext import  pg_duckdb        # 下载以供离线使用
pig ext link    17               # 链接 PG 版本到 PATH
pig ext reload                   # 刷新扩展目录

pig build

从源码构建 PostgreSQL 扩展,详情请参考 pig build

# 环境设置
pig build spec                   # 初始化构建规格
pig build repo                   # 设置仓库
pig build repo --beta            # 设置仓库,并额外启用 PostgreSQL 19 beta 仓库
pig build tool                   # 安装构建工具
pig build tool --beta            # 安装构建工具,并额外安装 PG19 beta 构建包
pig build rust -y                # 强制重装 Rust(默认不重装)
pig build rust -m                # 使用中国镜像安装 Rust,并写入 Cargo 镜像配置
pig build pgrx                   # 安装 PGRX 框架
pig build pgrx -b                # 自动探测时包含 PostgreSQL 19 beta pg_config

# 构建扩展
pig build pkg citus              # 完整构建流程 = get + dep + ext
pig build get citus              # 下载源码
pig build dep citus              # 安装依赖
pig build ext citus              # 构建包

pig install

使用系统原生包管理器安装软件包,并对 PostgreSQL 内核、扩展及常用别名做包名翻译。需要直接传递系统包名时,可使用 -n/--no-translation

pig install pg_duckdb            # 安装扩展并自动翻译包名
pig install pg18                 # 安装 PostgreSQL 18 内核包组
pig install nginx htop vim       # 安装多个系统包
pig install unknown-package -n   # 禁用翻译,按原始包名安装
pig install pg18 --plan          # 预览安装计划
pig install pg_vector -y         # 自动确认安装

pig sty

安装 Pigsty 发行版,详情请参考 pig sty

pig sty init                     # 安装 Pigsty 到 ~/pigsty
pig sty boot                     # 安装 Ansible 依赖
pig sty conf                     # 生成配置
pig sty deploy                   # 运行部署 playbook

pig do

执行 Pigsty 管理任务,底层调用对应的 Ansible playbook。

pig do pgsql-add  <cls> [ip...]       # 添加集群或实例
pig do pgsql-rm   <cls> [ip...]       # 移除集群或实例
pig do pgsql-db   <cls> <dbname>      # 创建或更新数据库
pig do pgsql-user <cls> <username>    # 创建或更新用户
pig do pgsql-ext  <cls> [ext...]      # 安装扩展
pig do node-pkg   <sel> [pkg...]      # 安装节点软件包

pig pe

访问 pg_exporter 暴露的 PostgreSQL 监控指标,默认连接 127.0.0.1:9630

pig pe list                    # 列出可用指标类型
pig pe get                     # 获取所有 pg_ 前缀指标
pig pe stat                    # 查看 exporter 统计信息
pig pe reload                  # 重载 pg_exporter 配置
pig pe --host 127.0.0.1 -p 9630 get

pig context

输出环境上下文快照,覆盖主机、PostgreSQL、Patroni、pgBackRest 与已安装扩展。该命令适合排障和自动化脚本快速了解当前节点状态。

pig context                      # 文本输出
pig context -o json              # JSON 输出
pig context -m postgres          # 只输出 PostgreSQL 模块(默认包含 host)
pig context -m postgres,!host    # 排除 host 模块

pig pg

管理本地 PostgreSQL 服务器,详情请参考 pig pg

pig pg init                      # 初始化数据目录
pig pg start                     # 启动 PostgreSQL
pig pg stop                      # 停止 PostgreSQL
pig pg status                    # 查看状态
pig pg psql mydb                 # 连接数据库
pig pg ps                        # 查看当前连接
pig pg vacuum mydb               # 清理数据库
pig pg tune -p olap              # 生成调优参数
pig pg fork dev                  # 创建本地一次性物理副本
pig pg fork list                 # 列出本地 fork
pig pg log tail                  # 实时查看日志

pig pt

管理 Patroni HA 集群,详情请参考 pig pt

pig pt list                      # 列出集群成员
pig pt config show               # 显示集群配置
pig pt config set ttl=60         # 修改集群配置
pig pt status                    # 查看服务状态
pig pt log -f                    # 实时查看日志

pig pb

管理 pgBackRest 备份与恢复,详情请参考 pig pb

pig pb info                      # 显示备份信息
pig pb ls                        # 列出所有备份
pig pb backup                    # 创建备份
pig pb backup full               # 全量备份
pig pb restore -d                # 恢复到最新
pig pb restore -t "2025-01-01"   # 恢复到指定时间
pig pb log tail                  # 实时查看日志

pig pitr

执行编排式时间点恢复(PITR),详情请参考 pig pitr

pig pitr -d                      # 恢复到最新数据
pig pitr -t "2025-01-01 12:00:00+08"  # 恢复到指定时间
pig pitr -I                      # 恢复到备份一致性点
pig pitr -d --plan               # 显示执行计划(不实际执行)
pig pitr -d -y                   # 跳过确认(自动化)

辅助命令

pig status                       # 显示当前环境状态
pig status -o json               # 结构化状态输出
pig update                       # 将 pig 自身升级到最新版
pig update -m                    # 使用 pigsty.cc 镜像升级
pig update -v 1.5.1              # 升级到指定版本
pig version                      # 显示 pig 版本信息
pig version -o json              # 结构化版本输出

最后修改 2026-07-09: update pig docs (33bf2be)