<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Reference on PIG</title>
    <link>https://pig.pgsty.com/categories/reference/</link>
    <description>Recent content in Reference on PIG</description>
    <generator>Hugo</generator>
    <language>en</language>
    
    
    
      <lastBuildDate>Thu, 03 Sep 2026 14:13:40 +0800</lastBuildDate>
    
    
      <atom:link href="https://pig.pgsty.com/categories/reference/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
        <title>pig</title>
        <link>https://pig.pgsty.com/cmd/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/cmd/</guid>
        <description>&lt;p&gt;The &lt;code&gt;pig&lt;/code&gt; CLI provides a comprehensive toolkit for managing PostgreSQL installations, extensions, repositories, and extension builds from source. Use &lt;code&gt;pig help &amp;lt;command&amp;gt;&lt;/code&gt; to view command documentation.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pig.pgsty.com/repo/&#34;&gt;&lt;strong&gt;pig repo&lt;/strong&gt;&lt;/a&gt;: manage software repositories&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pig.pgsty.com/ext/&#34;&gt;&lt;strong&gt;pig ext&lt;/strong&gt;&lt;/a&gt;: manage PostgreSQL extensions&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pig.pgsty.com/build/&#34;&gt;&lt;strong&gt;pig build&lt;/strong&gt;&lt;/a&gt;: build extensions from source&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;pig install&lt;/strong&gt;: install packages with the native package manager and translate PostgreSQL aliases&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pig.pgsty.com/sty/&#34;&gt;&lt;strong&gt;pig sty&lt;/strong&gt;&lt;/a&gt;: manage Pigsty installation and Grafana dashboards&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pig.pgsty.com/inventory/&#34;&gt;&lt;strong&gt;pig inventory&lt;/strong&gt;&lt;/a&gt;: inspect, edit, validate, and exchange the Pigsty inventory (new in v1.6.0)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pig.pgsty.com/do/&#34;&gt;&lt;strong&gt;pig do&lt;/strong&gt;&lt;/a&gt;: run Pigsty administration playbook tasks&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pig.pgsty.com/pe/&#34;&gt;&lt;strong&gt;pig pe&lt;/strong&gt;&lt;/a&gt;: access pg_exporter metrics and configuration&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pig.pgsty.com/pg/&#34;&gt;&lt;strong&gt;pig pg&lt;/strong&gt;&lt;/a&gt;: manage local PostgreSQL servers&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pig.pgsty.com/pt/&#34;&gt;&lt;strong&gt;pig pt&lt;/strong&gt;&lt;/a&gt;: run patronictl transparently with service and config helpers&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pig.pgsty.com/pb/&#34;&gt;&lt;strong&gt;pig pb&lt;/strong&gt;&lt;/a&gt;: manage pgBackRest backup and restore&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pig.pgsty.com/pitr/&#34;&gt;&lt;strong&gt;pig pitr&lt;/strong&gt;&lt;/a&gt;: run the full PITR workflow&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;pig context&lt;/strong&gt;: output an environment context snapshot for humans and agents&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;pig status / update / version&lt;/strong&gt;: inspect environment status, upgrade pig, and print version information&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;overview&#34;&gt;Overview&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-18f4e92b-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;48&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-18f4e92b-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pig - The Linux package manager &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; PostgreSQL&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Usage:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;command&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Examples:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig repo add -ru            &lt;span class=&#34;c1&#34;&gt;# overwrite existing repo and update cache&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig install pg18            &lt;span class=&#34;c1&#34;&gt;# install PostgreSQL 18 PGDG packages&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig install pg_duckdb       &lt;span class=&#34;c1&#34;&gt;# install a specific PostgreSQL extension&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig install pgactive -v &lt;span class=&#34;m&#34;&gt;18&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# install extension for a specific PG version&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  visit https://pigsty.io/ext/ &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; details&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;PostgreSQL Extension Manager&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  build       Build Postgres extensions&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  ext         Manage PostgreSQL extensions &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;pgext&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  repo        Manage Linux software repo &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;apt/dnf&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Pigsty Management Commands&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  context     Show environment context snapshot&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;do&lt;/span&gt;          Run admin tasks&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  inventory   Inspect, edit, validate, check, and exchange Pigsty Inventory&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  patroni     Run patronictl with Pigsty service and config helpers &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;alias: pt&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pg_exporter Manage pg_exporter and metrics &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;alias: pe&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pgbackrest  Manage pgBackRest backup and restore &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;alias: pb&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pitr        Point-in-time recovery using pgBackRest&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  postgres    Manage &lt;span class=&#34;nb&#34;&gt;local&lt;/span&gt; PostgreSQL server and databases &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;alias: pg&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  sty         Manage Pigsty installation and controller services&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Additional Commands:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  completion  Generate shell completion scripts&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nb&#34;&gt;help&lt;/span&gt;        Help about any &lt;span class=&#34;nb&#34;&gt;command&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  install     Install packages using native package manager&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  status      Show environment status&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  update      Upgrade pig itself&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  version     Show pig version info&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Flags:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      --debug              &lt;span class=&#34;nb&#34;&gt;enable&lt;/span&gt; debug mode&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -h, --help               &lt;span class=&#34;nb&#34;&gt;help&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; pig&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -H, --home string        Pigsty home path&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -i, --inventory string   config inventory path&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      --log-level string   log level: debug, info, warn, error, fatal, panic &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;default &lt;span class=&#34;s2&#34;&gt;&amp;#34;info&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      --log-path string    log file path, terminal by default&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -o, --output string      output format: text, yaml, json, json-pretty &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;default &lt;span class=&#34;s2&#34;&gt;&amp;#34;text&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Use &lt;span class=&#34;s2&#34;&gt;&amp;#34;pig [command] --help&amp;#34;&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; more information about a command.&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;pig-repo&#34;&gt;pig repo&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Manage APT/YUM repositories for PostgreSQL packages. See &lt;a href=&#34;https://pig.pgsty.com/repo/&#34;&gt;&lt;code&gt;pig repo&lt;/code&gt;&lt;/a&gt; for details.&lt;/p&gt;</description>
      </item>
    <item>
        <title>pig repo</title>
        <link>https://pig.pgsty.com/repo/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/repo/</guid>
        <description>&lt;p&gt;The &lt;code&gt;pig repo&lt;/code&gt; command is a comprehensive package repository manager. It can add, remove, create, and manage repositories on RPM systems (RHEL/CentOS/Rocky/Alma) and Debian systems (Debian/Ubuntu).&lt;/p&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-06f45443-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;23&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-06f45443-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pig repo - Manage Linux APT/YUM Repo&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig repo list                    &lt;span class=&#34;c1&#34;&gt;# available repo list             (info)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig repo info   &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;repo&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;module...&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;# show repo info                  (info)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig repo status                  &lt;span class=&#34;c1&#34;&gt;# show current repo status        (info)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig repo add    &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;repo&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;module...&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;# add repo and modules            (root)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig repo rm     &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;repo&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;module...&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;# remove repo &amp;amp; modules           (root)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig repo update                  &lt;span class=&#34;c1&#34;&gt;# update repo pkg cache           (root)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig repo create                  &lt;span class=&#34;c1&#34;&gt;# create repo on current system   (root)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig repo boot                    &lt;span class=&#34;c1&#34;&gt;# boot repo from offline package  (root)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig repo cache                   &lt;span class=&#34;c1&#34;&gt;# cache repo as offline package   (root)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Examples:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig repo add -ru                 &lt;span class=&#34;c1&#34;&gt;# add all repo and update cache (brute but effective)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig repo add pigsty -u           &lt;span class=&#34;c1&#34;&gt;# gentle version, only add pigsty repo and update cache&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig repo add node pgdg pigsty    &lt;span class=&#34;c1&#34;&gt;# essential repo to install postgres packages&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig repo add all                 &lt;span class=&#34;c1&#34;&gt;# all = node + pgdg + pigsty&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig repo add all extra           &lt;span class=&#34;c1&#34;&gt;# extra module has non-free and some 3rd repo for certain extensions&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig repo add all -m              &lt;span class=&#34;c1&#34;&gt;# prefer the bundled China-region mirrors&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig repo update                  &lt;span class=&#34;c1&#34;&gt;# update repo cache&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig repo create                  &lt;span class=&#34;c1&#34;&gt;# update local repo /www/pigsty meta&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig repo boot                    &lt;span class=&#34;c1&#34;&gt;# extract /tmp/pkg.tgz to /www/pigsty&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig repo cache                   &lt;span class=&#34;c1&#34;&gt;# cache /www/pigsty into /tmp/pkg.tgz&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--full td-table-scroll--static&#34;&gt;&#xA;&lt;table class=&#34;full-width&#34;&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;Command&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;Notes&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;repo list&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Print available repositories and modules&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;repo info&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Show repository details&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;repo status&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Show current repository status&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;repo add&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Add repositories&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Requires sudo or root&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;repo set&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Clear, overwrite, and update repositories&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Requires sudo or root&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;repo rm&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Remove repositories&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Requires sudo or root&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;repo update&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Update repository cache&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Requires sudo or root&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;repo create&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Create local YUM/APT repository&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Requires sudo or root&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;repo cache&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Create offline package from local repo&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Requires sudo or root&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;repo boot&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Bootstrap repository from offline package&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Requires sudo or root&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;repo reload&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Refresh repository catalog&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;h2 id=&#34;quick-start&#34;&gt;Quick Start&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-06f45443-fence-1&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;15&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-06f45443-fence-1-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Method 1: replacement mode — use only when PIG should own the host&amp;#39;s repo definitions&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pig repo add all --remove --update    &lt;span class=&#34;c1&#34;&gt;# remove old repos, add all required repos, update cache&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Method 1 variant: one step&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pig repo &lt;span class=&#34;nb&#34;&gt;set&lt;/span&gt;                          &lt;span class=&#34;c1&#34;&gt;# = pig repo add all --remove --update&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Method 2: gentle mode - only add required repos and keep current repo configuration&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pig repo add pgsql                    &lt;span class=&#34;c1&#34;&gt;# add PGDG and Pigsty PGSQL repositories&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pig repo add pigsty --region&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;china    &lt;span class=&#34;c1&#34;&gt;# add Pigsty repositories with China region&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pig repo add pgdg   --region&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;europe   &lt;span class=&#34;c1&#34;&gt;# add PGDG repositories with Europe region&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pig repo add infra  --region&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;default  &lt;span class=&#34;c1&#34;&gt;# add INFRA repositories with default region&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pig repo add all -m                   &lt;span class=&#34;c1&#34;&gt;# explicitly select the bundled China-region mirrors&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# If the commands above did not use -u|--update, run this as an extra step&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pig repo update                       &lt;span class=&#34;c1&#34;&gt;# update system package cache&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;modules&#34;&gt;Modules&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;In pig, APT/YUM repositories are organized as &lt;strong&gt;modules&lt;/strong&gt;: groups of repositories serving a specific purpose.&lt;/p&gt;</description>
      </item>
    <item>
        <title>pig ext</title>
        <link>https://pig.pgsty.com/ext/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/ext/</guid>
        <description>&lt;p&gt;The &lt;code&gt;pig ext&lt;/code&gt; command searches the extension catalog and manages PostgreSQL extension &lt;strong&gt;packages&lt;/strong&gt; on a host. It can resolve names, inspect package availability, install/remove/update RPM or DEB packages, and handle PostgreSQL kernel packages. Database-local activation and migration are deliberately outside this command group&amp;rsquo;s scope.&lt;/p&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-965c3a93-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;18&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-965c3a93-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pig ext - Manage PostgreSQL Extensions&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig repo add -ru             &lt;span class=&#34;c1&#34;&gt;# add all repo and update cache (brute but effective)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig ext add pg18             &lt;span class=&#34;c1&#34;&gt;# install optional postgresql 18 package&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig ext list duck            &lt;span class=&#34;c1&#34;&gt;# search extension in catalog&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig ext scan -v &lt;span class=&#34;m&#34;&gt;18&lt;/span&gt;           &lt;span class=&#34;c1&#34;&gt;# scan installed extension for pg 18&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig ext add pg_duckdb        &lt;span class=&#34;c1&#34;&gt;# install certain postgresql extension&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Examples:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig ext list    &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;query&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;      &lt;span class=&#34;c1&#34;&gt;# list &amp;amp; search extension&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig ext info    &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;ext...&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;     &lt;span class=&#34;c1&#34;&gt;# get information of a specific extension&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig ext status  &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;-v&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;         &lt;span class=&#34;c1&#34;&gt;# show installed extension and pg status&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig ext add     &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;ext...&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;     &lt;span class=&#34;c1&#34;&gt;# install extension for current pg version&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig ext rm      &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;ext...&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;     &lt;span class=&#34;c1&#34;&gt;# remove extension for current pg version&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig ext update  &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;ext...&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;     &lt;span class=&#34;c1&#34;&gt;# update extension to the latest version&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig ext import  &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;ext...&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;     &lt;span class=&#34;c1&#34;&gt;# download extension to local repo&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig ext link    &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;ext...&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;     &lt;span class=&#34;c1&#34;&gt;# link postgres installation to path&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig ext reload               &lt;span class=&#34;c1&#34;&gt;# reload the latest extension catalog data&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--full td-table-scroll--static&#34;&gt;&#xA;&lt;table class=&#34;full-width&#34;&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;Command&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;Notes&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;ext list&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Search extensions&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;ext info&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Show extension details&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;ext avail&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Show extension availability matrix&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;ext status&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Show host-visible extension files/packages&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Does not query every database&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;ext scan&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Scan installed control/library files&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Does not query every database&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;ext add&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Install extensions&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Requires sudo or root&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;ext rm&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Remove extensions&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Requires sudo or root&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;ext update&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Update extensions&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Requires sudo or root&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;ext import&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Download extensions for offline use&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Requires sudo or root&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;ext link&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Link a PG version into PATH&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Requires sudo or root&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;ext reload&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Refresh extension catalog&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;h2 id=&#34;quick-start&#34;&gt;Quick Start&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Before installing PostgreSQL extensions, add the required repositories with &lt;a href=&#34;https://pig.pgsty.com/repo/&#34;&gt;&lt;code&gt;pig repo add&lt;/code&gt;&lt;/a&gt;:&lt;/p&gt;</description>
      </item>
    <item>
        <title>pig build</title>
        <link>https://pig.pgsty.com/build/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/build/</guid>
        <description>&lt;p&gt;The &lt;code&gt;pig build&lt;/code&gt; command simplifies the full workflow for building PostgreSQL extensions from source. It provides build infrastructure setup, dependency management, and compilation environments for standard and custom PostgreSQL extensions across supported operating systems.&lt;/p&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-14e4b951-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;21&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-14e4b951-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pig build - Build Postgres Extension&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Environment Setup:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig build spec                   &lt;span class=&#34;c1&#34;&gt;# init build spec and directory (~ext)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig build repo                   &lt;span class=&#34;c1&#34;&gt;# init build repo (=repo set -ru)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig build repo --beta            &lt;span class=&#34;c1&#34;&gt;# init build repo with PostgreSQL beta repo&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig build tool  &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;mini&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;full&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;...&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# init build toolset&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig build rust  &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;-y&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;-m&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;        &lt;span class=&#34;c1&#34;&gt;# install Rust toolchain&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig build pgrx  &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;-v &amp;lt;ver&amp;gt;&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;-b&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# install &amp;amp; init pgrx (0.19.2)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig build proxy                  &lt;span class=&#34;c1&#34;&gt;# install or verify the vray package&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig build proxy id@host:port     &lt;span class=&#34;c1&#34;&gt;# configure the optional build proxy&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Package Building:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig build pkg   &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;ext&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;pkg...&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;     &lt;span class=&#34;c1&#34;&gt;# complete pipeline: get + dep + ext&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig build get   &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;ext&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;pkg...&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;     &lt;span class=&#34;c1&#34;&gt;# download extension source tarball&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig build dep   &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;ext&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;pkg...&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;     &lt;span class=&#34;c1&#34;&gt;# install extension build dependencies&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig build ext   &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;ext&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;pkg...&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;     &lt;span class=&#34;c1&#34;&gt;# build extension package&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Quick Start:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig build spec                   &lt;span class=&#34;c1&#34;&gt;# setup build spec and directory&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig build pkg citus              &lt;span class=&#34;c1&#34;&gt;# build citus extension&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--full td-table-scroll--static&#34;&gt;&#xA;&lt;table class=&#34;full-width&#34;&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;Command&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;Notes&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;build spec&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Initialize build specification directory&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;build repo&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Initialize required repositories&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Requires sudo or root&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;build tool&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Initialize build tools&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Requires sudo or root&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;build rust&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Install Rust toolchain&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Requires sudo or root&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;build pgrx&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Install and initialize pgrx&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Requires sudo or root&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;build proxy&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Initialize build proxy&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Requires sudo or root&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;build get&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Download source tarballs&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;build dep&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Install extension build dependencies&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Requires sudo or root&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;build ext&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Build extension packages&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Requires sudo or root&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;build pkg&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Complete pipeline: get, dep, ext&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Requires sudo or root&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;h2 id=&#34;quick-start&#34;&gt;Quick Start&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;The fastest way to set up a build environment and build an extension:&lt;/p&gt;</description>
      </item>
    <item>
        <title>pig sty</title>
        <link>https://pig.pgsty.com/sty/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/sty/</guid>
        <description>&lt;p&gt;&lt;strong&gt;pig&lt;/strong&gt; can also be used as a CLI tool for Pigsty, a batteries-included free PostgreSQL RDS solution.&#xA;It brings HA, PITR, monitoring, infrastructure as code (IaC), and rich extension support to your PostgreSQL clusters.&lt;/p&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-68aa259d-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;15&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-68aa259d-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pig sty - Init &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;Download&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;, Bootstrap, Configure, and Deploy Pigsty&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig sty init    &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;-mpfvd&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;        &lt;span class=&#34;c1&#34;&gt;# install pigsty (~/pigsty by default)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig sty boot    &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;-rmpk&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;         &lt;span class=&#34;c1&#34;&gt;# native controller bootstrap&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig sty conf    &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;mode&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;flags&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# native Inventory-aware configuration&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig sty deploy                  &lt;span class=&#34;c1&#34;&gt;# use pigsty to deploy everything (CAUTION!)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig sty get                     &lt;span class=&#34;c1&#34;&gt;# download pigsty source tarball&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig sty list                    &lt;span class=&#34;c1&#34;&gt;# list available pigsty versions&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig sty grafana &amp;lt;verb&amp;gt;          &lt;span class=&#34;c1&#34;&gt;# manage grafana dashboards (native HTTP)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Examples:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig sty init                 &lt;span class=&#34;c1&#34;&gt;# extract and init ~/pigsty&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig sty boot                 &lt;span class=&#34;c1&#34;&gt;# install ansible &amp;amp; other deps&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig sty conf                 &lt;span class=&#34;c1&#34;&gt;# generate pigsty.yml config file&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig sty deploy               &lt;span class=&#34;c1&#34;&gt;# run the deploy.yml playbook&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--full td-table-scroll--static&#34;&gt;&#xA;&lt;table class=&#34;full-width&#34;&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;Command&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;Notes&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;sty init&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Install Pigsty&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;sty boot&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Bootstrap the Pigsty controller&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Auto-elevates when needed&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;sty conf&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Generate and validate Inventory&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Native Go workflow&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;sty deploy&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Run deployment playbook&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;sty list&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;List available Pigsty versions&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;sty get&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Download Pigsty source tarball&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;sty grafana&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Manage Grafana dashboards (alias &lt;code&gt;gf&lt;/code&gt;)&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;New in v1.6.0&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Since v1.8.0, &lt;code&gt;pig sty boot&lt;/code&gt; and &lt;code&gt;pig sty conf&lt;/code&gt; are native Go workflows. They no longer&#xA;invoke Pigsty&amp;rsquo;s legacy &lt;code&gt;bootstrap&lt;/code&gt; or &lt;code&gt;configure&lt;/code&gt; shell scripts. Since v1.6.0, the former&#xA;&lt;code&gt;pig sty edit&lt;/code&gt; / &lt;code&gt;validate&lt;/code&gt; / &lt;code&gt;check&lt;/code&gt; commands moved to the&#xA;root-level &lt;a href=&#34;https://pig.pgsty.com/inventory/&#34;&gt;&lt;code&gt;pig inventory&lt;/code&gt;&lt;/a&gt; command group, and the experimental&#xA;&lt;code&gt;pig sty dashboard&lt;/code&gt; was replaced by &lt;code&gt;pig sty grafana&lt;/code&gt;.&lt;/p&gt;</description>
      </item>
    <item>
        <title>pig do</title>
        <link>https://pig.pgsty.com/do/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/do/</guid>
        <description>&lt;p&gt;&lt;code&gt;pig do&lt;/code&gt; exposes common Pigsty administrative playbooks as explicit CLI operations. It uses the&#xA;selected Pigsty home and Inventory, builds the corresponding playbook command, and returns the&#xA;operation through PIG&amp;rsquo;s legacy structured-result adapter.&lt;/p&gt;&#xA;&lt;p&gt;These commands change remote systems. Review the selected cluster, node, instance, and Inventory&#xA;before execution. The command family does not provide a general &lt;code&gt;--plan&lt;/code&gt; mode.&lt;/p&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-fe45516e-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;6&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-fe45516e-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pig &lt;span class=&#34;k&#34;&gt;do&lt;/span&gt; pgsql-add  pg-test 10.10.10.12     &lt;span class=&#34;c1&#34;&gt;# add one PostgreSQL instance&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pig &lt;span class=&#34;k&#34;&gt;do&lt;/span&gt; pgsql-rm   pg-test 10.10.10.12     &lt;span class=&#34;c1&#34;&gt;# remove one PostgreSQL instance&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pig &lt;span class=&#34;k&#34;&gt;do&lt;/span&gt; pgsql-db   pg-meta app             &lt;span class=&#34;c1&#34;&gt;# create or update a database&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pig &lt;span class=&#34;k&#34;&gt;do&lt;/span&gt; pgsql-user pg-meta dbuser_app      &lt;span class=&#34;c1&#34;&gt;# create or update a user&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pig &lt;span class=&#34;k&#34;&gt;do&lt;/span&gt; node-pkg   pg-meta restic          &lt;span class=&#34;c1&#34;&gt;# install a package on selected nodes&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pig &lt;span class=&#34;k&#34;&gt;do&lt;/span&gt; redis-add  redis-meta              &lt;span class=&#34;c1&#34;&gt;# initialize a Redis cluster&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;command-overview&#34;&gt;Command overview&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--full td-table-scroll--static&#34;&gt;&#xA;&lt;table class=&#34;full-width&#34;&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;Command&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;Purpose&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;Required arguments&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pgsql-add&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Add a PostgreSQL cluster or instances&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;cluster, optional IPs&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pgsql-rm&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Remove a PostgreSQL cluster or instances&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;cluster, optional IPs&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pgsql-db&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Create or update a database declaration&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;cluster, database&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pgsql-user&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Create or update a user declaration&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;cluster, user&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pgsql-ext&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Install extensions through Pigsty&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;cluster, optional extensions&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pgsql-hba&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Refresh PostgreSQL HBA rules&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;cluster&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pgsql-svc&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Refresh PostgreSQL service definitions&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;cluster&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pgmon-add&lt;/code&gt; / &lt;code&gt;pgmon-rm&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Add or remove a remote monitoring target&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;cluster&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;node-add&lt;/code&gt; / &lt;code&gt;node-rm&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Add or remove selected nodes&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;one or more selectors&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;node-repo&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Configure repository modules on selected nodes&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;optional selector and modules&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;node-pkg&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Install or update packages on selected nodes&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;selector, optional packages&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;repo-build&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Rebuild the Pigsty infrastructure repository&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;none&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;redis-add&lt;/code&gt; / &lt;code&gt;redis-rm&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Add or remove Redis clusters, nodes, or instances&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;selector, optional ports&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;Run &lt;code&gt;pig do COMMAND --help&lt;/code&gt; for the aliases and exact examples of one operation.&lt;/p&gt;</description>
      </item>
    <item>
        <title>pig inventory</title>
        <link>https://pig.pgsty.com/inventory/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/inventory/</guid>
        <description>&lt;p&gt;The &lt;code&gt;pig inventory&lt;/code&gt; command group (alias &lt;code&gt;pig inv&lt;/code&gt;), introduced in v1.6.0, provides&#xA;&lt;strong&gt;lossless&lt;/strong&gt; inspection, editing, validation, and readiness checks for the Pigsty inventory&#xA;(&lt;code&gt;pigsty.yml&lt;/code&gt;), plus an experimental &lt;code&gt;cmdb&lt;/code&gt; subtree that exchanges the inventory with the&#xA;PostgreSQL CMDB.&lt;/p&gt;&#xA;&lt;p&gt;The lossless engine preserves YAML comments, formatting, key order, anchors, and line&#xA;endings byte-for-byte; &lt;code&gt;edit&lt;/code&gt; re-parses the whole document before writing and writes&#xA;atomically — &lt;strong&gt;invalid YAML can never reach disk&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-9d321b52-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;17&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-9d321b52-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Inspect, edit, validate, check, and exchange Pigsty Inventory&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Usage:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig inventory &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;command&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Aliases:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  inventory, inv&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Available Commands:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  check       Check Inventory, controller, and opt-in target readiness&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  cmdb        Exchange Inventory with Pigsty&lt;span class=&#34;err&#34;&gt;&amp;#39;&lt;/span&gt;s existing PostgreSQL CMDB &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;experimental&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  diff        Compare declarations without emitting Inventory values&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  edit        Edit Inventory or one selected YAML fragment&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  list        List ordered Inventory topology and value kinds&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  show        Show verbatim Inventory YAML &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;may contain secrets&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  status      Inspect the active Inventory &lt;span class=&#34;nb&#34;&gt;source&lt;/span&gt; without executing it&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  validate    Validate one &lt;span class=&#34;nb&#34;&gt;complete&lt;/span&gt; static Pigsty Inventory&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--full td-table-scroll--static&#34;&gt;&#xA;&lt;table class=&#34;full-width&#34;&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;Command&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;Alias&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;inv status&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Inspect the active inventory source (without executing)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;inv list&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;ls&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;List inventory topology and value kinds (&lt;code&gt;--depth&lt;/code&gt;)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;inv show&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Show verbatim inventory YAML (&lt;strong&gt;may contain secrets&lt;/strong&gt;)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;inv edit&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;e&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Edit the inventory or one fragment in &lt;code&gt;$EDITOR&lt;/code&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;inv validate&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;v&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Validate one complete static Pigsty inventory&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;inv check&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;ck&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Check inventory, controller, and target readiness&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;inv diff&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Compare declarations of two inventories (value-free)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;inv cmdb&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Exchange with the PostgreSQL CMDB (&lt;strong&gt;experimental&lt;/strong&gt;)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;The inventory path comes from pig&amp;rsquo;s config resolution (the global &lt;code&gt;-i/--inventory&lt;/code&gt; flag or&#xA;the Pigsty home directory), and every command supports &lt;code&gt;-o json|yaml&lt;/code&gt; structured output.&lt;/p&gt;</description>
      </item>
    <item>
        <title>pig postgres</title>
        <link>https://pig.pgsty.com/pg/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/pg/</guid>
        <description>&lt;p&gt;The &lt;code&gt;pig pg&lt;/code&gt; command (alias &lt;code&gt;pig postgres&lt;/code&gt;) manages local PostgreSQL servers and databases. It wraps local primitives such as &lt;code&gt;pg_ctl&lt;/code&gt;, &lt;code&gt;psql&lt;/code&gt;, and &lt;code&gt;vacuumdb&lt;/code&gt;; use &lt;code&gt;pig pt&lt;/code&gt; for Patroni cluster operations and &lt;code&gt;pig pitr&lt;/code&gt; for orchestrated PITR.&lt;/p&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-eac57e83-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;41&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-eac57e83-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pig pg - Local PostgreSQL primitives &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;pg_ctl / psql / &lt;span class=&#34;nb&#34;&gt;local&lt;/span&gt; files&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Server Control &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;via pg_ctl&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig pg init     &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;-v ver&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;-D datadir&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;     initialize data directory&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig pg start    &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;-D datadir&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;              start PostgreSQL server&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig pg stop     &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;-D datadir&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;-m fast&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;    stop PostgreSQL server&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig pg restart  &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;-D datadir&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;-m fast&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;    restart PostgreSQL server&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig pg reload   &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;-D datadir&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;              reload configuration&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig pg status   &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;-D datadir&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;              show server status&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig pg promote  &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;-D datadir&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;              promote standby to primary&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig pg role     &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;-D datadir&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;-V&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;         detect instance role &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;primary/replica&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Service Management &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;via systemctl&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig pg svc start                          start postgres systemd service&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig pg svc stop                           stop postgres systemd service&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig pg svc restart                        restart postgres systemd service&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig pg svc reload                         reload postgres systemd service&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig pg svc status                         show postgres service status&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Connection &lt;span class=&#34;p&#34;&gt;&amp;amp;&lt;/span&gt; Query:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig pg psql     &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;db&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;-c cmd&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;             connect to database via psql&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig pg ps       &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;-a&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;-u user&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;            show current connections&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig pg &lt;span class=&#34;nb&#34;&gt;kill&lt;/span&gt;     &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;-x&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;-u user&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;            terminate connections &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;dry-run by default&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig pg clone    &amp;lt;src&amp;gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;dst&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;               clone database with CREATE DATABASE TEMPLATE&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Database Maintenance:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig pg vacuum   &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;db&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;-a&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;-t table&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;      vacuum tables&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig pg analyze  &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;db&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;-a&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;-t table&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;      analyze tables&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig pg freeze   &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;db&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;-a&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;-t table&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;      vacuum freeze tables&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig pg repack   &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;db&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;-a&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;-t table&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;      repack tables &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;online rebuild&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Tuning:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig pg tune     &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;-p profile&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;     generate optimized parameters&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Instance Fork:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig pg fork init &amp;lt;name&amp;gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;-D datadir&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;      fork PGDATA into /pg/data-&amp;lt;name&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig pg fork list                          list managed forks&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig pg fork start&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;stop&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;rm &amp;lt;name&amp;gt;          manage fork lifecycle&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Utilities:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig pg log &amp;lt;list&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;tail&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;cat&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;less&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;grep&amp;gt;      view PostgreSQL logs&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;command-overview&#34;&gt;Command Overview&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Service Control&lt;/strong&gt; (pg_ctl wrapper):&lt;/p&gt;</description>
      </item>
    <item>
        <title>pig patroni</title>
        <link>https://pig.pgsty.com/pt/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/pt/</guid>
        <description>&lt;p&gt;Since v1.6.0, the &lt;code&gt;pig patroni&lt;/code&gt; command (alias &lt;code&gt;pig pt&lt;/code&gt;) is a &lt;strong&gt;transparent launcher&lt;/strong&gt; for the&#xA;installed &lt;code&gt;patronictl&lt;/code&gt; binary: pig only owns config-file selection and a few local helpers,&#xA;while every other command and all of its arguments are &lt;strong&gt;forwarded unchanged&lt;/strong&gt; to &lt;code&gt;patronictl&lt;/code&gt; —&#xA;with native flags, prompts, output, and exit codes. New patronictl features work without&#xA;waiting for a pig release.&lt;/p&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-8f8dd9db-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;11&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-8f8dd9db-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pig pt transparently launches the installed patronictl binary.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Pig only owns config-file selection and these &lt;span class=&#34;nb&#34;&gt;local&lt;/span&gt; helpers:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig pt &lt;span class=&#34;nb&#34;&gt;set&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;KEY&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;VALUE...       update PostgreSQL or scalar Patroni settings&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig pt start&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;stop             manage the &lt;span class=&#34;nb&#34;&gt;local&lt;/span&gt; patroni service&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig pt service &amp;lt;action&amp;gt;       start, stop, restart, reload, or show service&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig pt status                 show &lt;span class=&#34;nb&#34;&gt;local&lt;/span&gt; and cluster status&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig pt log ...                view &lt;span class=&#34;nb&#34;&gt;local&lt;/span&gt; Patroni logs&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Every other &lt;span class=&#34;nb&#34;&gt;command&lt;/span&gt; and all arguments after it are passed unchanged to&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;patronictl. Use &lt;span class=&#34;s2&#34;&gt;&amp;#34;pig pt -- COMMAND ...&amp;#34;&lt;/span&gt; to bypass a local-name collision.&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;The first non-option command token decides the dispatch:&lt;/p&gt;</description>
      </item>
    <item>
        <title>pig pe</title>
        <link>https://pig.pgsty.com/pe/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/pe/</guid>
        <description>&lt;p&gt;&lt;code&gt;pig pe&lt;/code&gt; (aliases: &lt;code&gt;pgexp&lt;/code&gt;, &lt;code&gt;pgexporter&lt;/code&gt;) is a legacy convenience wrapper for a running&#xA;&lt;a href=&#34;https://github.com/Vonng/pg_exporter&#34;&gt;pg_exporter&lt;/a&gt;. It reads the default metrics and statistics&#xA;endpoints and can request a configuration reload. It is not a general or versioned pg_exporter&#xA;client.&lt;/p&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-3ed3d12b-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;4&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-3ed3d12b-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pig pe get                     &lt;span class=&#34;c1&#34;&gt;# print pg_ metrics&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pig pe list                    &lt;span class=&#34;c1&#34;&gt;# list metric families from HELP lines&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pig pe stat                    &lt;span class=&#34;c1&#34;&gt;# print exporter statistics&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pig pe reload                  &lt;span class=&#34;c1&#34;&gt;# request configuration reload&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;endpoint-selection&#34;&gt;Endpoint selection&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;The default endpoint is &lt;code&gt;http://127.0.0.1:9630&lt;/code&gt;. Select another exporter with persistent options:&lt;/p&gt;</description>
      </item>
    <item>
        <title>pig pgbackrest</title>
        <link>https://pig.pgsty.com/pb/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/pb/</guid>
        <description>&lt;p&gt;The &lt;code&gt;pig pgbackrest&lt;/code&gt; command (alias &lt;code&gt;pig pb&lt;/code&gt;) manages pgBackRest backups and provides low-level restore primitives.&#xA;It wraps common &lt;code&gt;pgbackrest&lt;/code&gt; operations for a simplified backup management experience. All commands run as the database superuser (default &lt;code&gt;postgres&lt;/code&gt;).&#xA;For orchestrated point-in-time recovery on managed clusters, prefer &lt;a href=&#34;https://pig.pgsty.com/pitr/&#34;&gt;&lt;code&gt;pig pitr&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-bd8cf044-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;34&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-bd8cf044-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pig pb - Manage pgBackRest backup and point-in-time recovery.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Information:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig pb info                      show backup info&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig pb list                      list backups&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig pb list repo                 list configured repositories&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig pb list stanza               list all stanzas&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Backup &lt;span class=&#34;p&#34;&gt;&amp;amp;&lt;/span&gt; Restore:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig pb backup                    create backup &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;auto: full/incr&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig pb backup full               create full backup&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig pb restore                   low-level restore primitive&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig pb restore -t &lt;span class=&#34;s2&#34;&gt;&amp;#34;...&amp;#34;&lt;/span&gt;          restore to specific &lt;span class=&#34;nb&#34;&gt;time&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig pb expire                    cleanup expired backups&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Stanza Management:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig pb create                    create stanza &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;first-time setup&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig pb upgrade                   upgrade stanza &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;after PG upgrade&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig pb delete                    delete stanza &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;DANGEROUS!&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Control:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig pb check                     verify backup integrity&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig pb start                     &lt;span class=&#34;nb&#34;&gt;enable&lt;/span&gt; pgBackRest operations&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig pb stop                      disable pgBackRest operations&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig pb log                       view pgBackRest logs&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Examples:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig pb info                      &lt;span class=&#34;c1&#34;&gt;# show all backup info&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig pb backup                    &lt;span class=&#34;c1&#34;&gt;# auto: full if none, else incr&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig pb backup full               &lt;span class=&#34;c1&#34;&gt;# full backup&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig pb restore -d                &lt;span class=&#34;c1&#34;&gt;# restore to latest (end of WAL)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig pb restore -t &lt;span class=&#34;s2&#34;&gt;&amp;#34;2025-01-01 12:00:00+08&amp;#34;&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# restore to time&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig pb create                    &lt;span class=&#34;c1&#34;&gt;# initialize stanza&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig pb expire                    &lt;span class=&#34;c1&#34;&gt;# cleanup per retention policy&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;command-overview&#34;&gt;Command Overview&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Information Query&lt;/strong&gt;:&lt;/p&gt;</description>
      </item>
    <item>
        <title>pig pitr</title>
        <link>https://pig.pgsty.com/pitr/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/pitr/</guid>
        <description>&lt;p&gt;The &lt;code&gt;pig pitr&lt;/code&gt; command performs point-in-time recovery through pgBackRest and conservatively handles the local PostgreSQL and Patroni lifecycle. Unlike the lower-level &lt;code&gt;pig pb restore&lt;/code&gt;, &lt;code&gt;pig pitr&lt;/code&gt; runs pre-restore checks, stops Patroni and PostgreSQL when needed, executes restore, then decides whether to start PostgreSQL based on the selected options.&lt;/p&gt;&#xA;&lt;p&gt;Note: for a managed default data directory, &lt;code&gt;pig pitr&lt;/code&gt; leaves Patroni stopped after recovery. Validate the restored result first, then manually restore Patroni management. This command does not automatically rejoin a Patroni cluster, perform failover, or validate cluster member state.&lt;/p&gt;</description>
      </item>
    
  </channel>
</rss>
