<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>sty on PIG</title>
    <link>https://pig.pgsty.com/tags/sty/</link>
    <description>Recent content in sty 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/tags/sty/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
        <title>pig v1.8.0</title>
        <link>https://pig.pgsty.com/release/pig-1.8.0/</link>
        <pubDate>Fri, 14 Aug 2026 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/release/pig-1.8.0/</guid>
        <description>&lt;p&gt;Pig &lt;code&gt;v1.8.0&lt;/code&gt; makes Pigsty controller setup native. The two core setup commands,&#xA;&lt;code&gt;pig sty boot&lt;/code&gt; and &lt;code&gt;pig sty conf&lt;/code&gt;, are now failure-aware Go workflows instead of&#xA;wrappers around the legacy &lt;code&gt;bootstrap&lt;/code&gt; and &lt;code&gt;configure&lt;/code&gt; shell scripts. The release&#xA;keeps the public catalog total at &lt;strong&gt;575 packaged PostgreSQL extensions&lt;/strong&gt; and embeds&#xA;Pigsty &lt;code&gt;4.5.0&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;native-pig-sty-boot&#34;&gt;Native &lt;code&gt;pig sty boot&lt;/code&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;pig sty boot&lt;/code&gt; is now one native, failure-aware controller bootstrap transaction. It does not&#xA;execute &lt;code&gt;&amp;lt;PIGSTY_HOME&amp;gt;/bootstrap&lt;/code&gt;, and its HTTP download and archive extraction paths do not&#xA;depend on &lt;code&gt;curl&lt;/code&gt;, &lt;code&gt;wget&lt;/code&gt;, &lt;code&gt;tar&lt;/code&gt;, or &lt;code&gt;gzip&lt;/code&gt;.&lt;/p&gt;</description>
      </item>
    <item>
        <title>pig v1.6.2</title>
        <link>https://pig.pgsty.com/release/pig-1.6.2/</link>
        <pubDate>Tue, 11 Aug 2026 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/release/pig-1.6.2/</guid>
        <description>&lt;p&gt;Pig &lt;code&gt;v1.6.2&lt;/code&gt; is a feature and catalog release on top of &lt;a href=&#34;https://pig.pgsty.com/release/pig-1.6.1/&#34;&gt;v1.6.1&lt;/a&gt;. It grows the packaged extension catalog from 562 to 572, adds native Grafana dashboard schema v2 support, and improves local repository generation. The embedded Pigsty version remains locked at &lt;code&gt;4.5.0&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;highlights&#34;&gt;Highlights&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;pig sty grafana&lt;/code&gt; now accepts both legacy dashboard JSON and native &lt;code&gt;dashboard.grafana.app/v2&lt;/code&gt; Dashboard resources. Loading a v2 dashboard uses Grafana&amp;rsquo;s resource API so tabs and section variables survive the round trip; dumping preserves an existing v2 destination while new dumps keep the legacy format by default.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;pig repo create&lt;/code&gt; now prefers &lt;code&gt;sow create --pigsty --timeout 10m -- &amp;lt;dir&amp;gt;&lt;/code&gt; when SOW is available, requires the resulting &lt;code&gt;repo_complete&lt;/code&gt; marker to exist as a regular file, and falls back to &lt;code&gt;createrepo_c&lt;/code&gt; / &lt;code&gt;dpkg-scanpackages&lt;/code&gt; on Linux.&lt;/li&gt;&#xA;&lt;li&gt;Local repository creation now works on macOS through SOW, defaults to the current directory there, and does not require &lt;code&gt;sudo&lt;/code&gt;. The Linux default remains &lt;code&gt;/www/pigsty&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Release metadata is bumped to &lt;code&gt;1.6.2&lt;/code&gt;; the embedded Pigsty version stays at &lt;code&gt;4.5.0&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;extension-catalog&#34;&gt;Extension Catalog&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Packaged extensions: &lt;strong&gt;562 -&amp;gt; 572&lt;/strong&gt;, with no removals.&lt;/li&gt;&#xA;&lt;li&gt;10 new extensions: &lt;code&gt;pg_turbovec&lt;/code&gt;, &lt;code&gt;pg_disorder&lt;/code&gt;, &lt;code&gt;pg_mentat&lt;/code&gt;, &lt;code&gt;plruby&lt;/code&gt;, &lt;code&gt;jsonb_plruby&lt;/code&gt;, &lt;code&gt;hstore_plruby&lt;/code&gt;, &lt;code&gt;ltree_plruby&lt;/code&gt;, &lt;code&gt;pg_describe&lt;/code&gt;, &lt;code&gt;cat_tools&lt;/code&gt;, and &lt;code&gt;pg_vault_tde&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;12 version refreshes: &lt;code&gt;timescaledb 2.29.1&lt;/code&gt;, &lt;code&gt;q3c 2.0.5&lt;/code&gt;, &lt;code&gt;pgmnemo 0.16.1&lt;/code&gt;, &lt;code&gt;pg_search 0.25.1&lt;/code&gt;, &lt;code&gt;citus 14.2.0&lt;/code&gt;, &lt;code&gt;citus_columnar 14.2.0&lt;/code&gt;, &lt;code&gt;provsql 1.12.0&lt;/code&gt;, &lt;code&gt;plpgsql_check 2.10.4&lt;/code&gt;, &lt;code&gt;pg_rational 0.0.3&lt;/code&gt;, &lt;code&gt;pgbson 2.1.0&lt;/code&gt;, &lt;code&gt;pg_readme 0.7.1&lt;/code&gt;, and &lt;code&gt;pg_readme_test_extension 0.7.1&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Package metadata and availability matrices are refreshed. Run &lt;code&gt;pig ext reload&lt;/code&gt; to replace the embedded release snapshot with the latest online catalog.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;compatibility-notes&#34;&gt;Compatibility Notes&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;No commands or global flags are removed in this release.&lt;/li&gt;&#xA;&lt;li&gt;When SOW is installed, &lt;code&gt;pig repo create&lt;/code&gt; now prefers it over the legacy Linux generators and checks that the completion marker exists before reporting success.&lt;/li&gt;&#xA;&lt;li&gt;The catalog count is not a promise that every package is available on every PostgreSQL / OS / architecture combination; use &lt;code&gt;pig ext avail NAME&lt;/code&gt; on the target host.&lt;/li&gt;&#xA;&lt;li&gt;Package-manager and install-script upgrades use the newest version published by the configured Pigsty repository, which may lag GitHub. Use the GitHub assets when you need this exact release.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;checksums&#34;&gt;Checksums&#xA;&lt;/h2&gt;&#xA;| File | Checksum |&#xA;| --- | --- |&#xA;| [pig\-1\.6\.2\-1\.aarch64\.rpm](https://github.com/pgsty/pig/releases/download/v1.6.2/pig-1.6.2-1.aarch64.rpm) | SHA-256 · `6697a96bbf476e697a5c3da8b6c861719e4b7208e1e4fe927cf4b475ea1f162f` |&#xA;| [pig\-1\.6\.2\-1\.x86\_64\.rpm](https://github.com/pgsty/pig/releases/download/v1.6.2/pig-1.6.2-1.x86_64.rpm) | SHA-256 · `ad0b311867bc6cd689dd73e9a96b84f1fe0f49f6c0f1184abf9eb3232a07a184` |&#xA;| [pig\-v1\.6\.2\.darwin\-amd64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v1.6.2/pig-v1.6.2.darwin-amd64.tar.gz) | SHA-256 · `bb167e04fceb6cebee5c8a2423279cefb4474f46301a5055c464ac98294dc9db` |&#xA;| [pig\-v1\.6\.2\.darwin\-arm64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v1.6.2/pig-v1.6.2.darwin-arm64.tar.gz) | SHA-256 · `3de74e33321884a0c36596c1e7df9370be594a315395538e9ba5b775bbc1a79d` |&#xA;| [pig\-v1\.6\.2\.linux\-amd64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v1.6.2/pig-v1.6.2.linux-amd64.tar.gz) | SHA-256 · `7b69214e115e6815e772b7e179aa4070bd8553e585b164ba3a0f69a1d53a0294` |&#xA;| [pig\-v1\.6\.2\.linux\-arm64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v1.6.2/pig-v1.6.2.linux-arm64.tar.gz) | SHA-256 · `b511e727642987867be5921d72e8019e9c6186b82e63ddc34ad653773abed5a8` |&#xA;| [pig\_1\.6\.2\-1\_amd64\.deb](https://github.com/pgsty/pig/releases/download/v1.6.2/pig_1.6.2-1_amd64.deb) | SHA-256 · `3d1a80b833c6179b84ac5cc590ad06695b187b2bb4a09f544b1a14f9684dc4bc` |&#xA;| [pig\_1\.6\.2\-1\_arm64\.deb](https://github.com/pgsty/pig/releases/download/v1.6.2/pig_1.6.2-1_arm64.deb) | SHA-256 · `00e4c84cd6b07a98401c73fb58dedaafe34bc794d7604edbcb76c5de39b0fb44` |&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v1.6.2&lt;/strong&gt; · &lt;time datetime=&#34;2026-08-11&#34;&gt;2026-08-11&lt;/time&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>Compile, Validate, Then Commit: The Native sty conf Pipeline</title>
        <link>https://pig.pgsty.com/design/native-sty-conf/</link>
        <pubDate>Wed, 18 Feb 2026 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/design/native-sty-conf/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Decision date:&lt;/strong&gt; 2026-02-18; the production contract was finalized on 2026-08-14.&lt;br&gt;&#xA;&lt;strong&gt;Status:&lt;/strong&gt; Implemented and released in &lt;a href=&#34;https://pig.pgsty.com/release/pig-1.8.0/&#34;&gt;pig v1.8.0&lt;/a&gt;.&lt;br&gt;&#xA;&lt;strong&gt;Current reference:&lt;/strong&gt; &lt;a href=&#34;https://pig.pgsty.com/sty/#sty-conf&#34;&gt;&lt;code&gt;pig sty conf&lt;/code&gt;&lt;/a&gt;&lt;br&gt;&#xA;&lt;strong&gt;Scope:&lt;/strong&gt; Generating one validated static Inventory from a trusted Pigsty template; not arbitrary YAML transformation.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;decision&#34;&gt;Decision&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;pig sty conf&lt;/code&gt; should behave like a small compiler: resolve one safe template, parse it, apply a&#xA;bounded set of structural mutations, validate the complete candidate, and atomically commit the&#xA;output only after every required stage succeeds.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Edit the Declaration, Preserve the Document: Lossless Pigsty Inventory</title>
        <link>https://pig.pgsty.com/design/lossless-inventory/</link>
        <pubDate>Sat, 18 Jul 2026 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/design/lossless-inventory/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Decision date:&lt;/strong&gt; 2026-07-18&lt;br&gt;&#xA;&lt;strong&gt;Status:&lt;/strong&gt; Implemented and released in &lt;a href=&#34;https://pig.pgsty.com/release/pig-1.6.0/&#34;&gt;pig v1.6.0&lt;/a&gt;.&lt;br&gt;&#xA;&lt;strong&gt;Current reference:&lt;/strong&gt; &lt;a href=&#34;https://pig.pgsty.com/inventory/&#34;&gt;&lt;code&gt;pig inventory&lt;/code&gt;&lt;/a&gt;&lt;br&gt;&#xA;&lt;strong&gt;Scope:&lt;/strong&gt; Static Pigsty Inventory inspection, scoped editing, validation, comparison, and safe writes.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;decision&#34;&gt;Decision&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;PIG treats &lt;code&gt;pigsty.yml&lt;/code&gt; as both a semantic declaration and a human-maintained source document.&#xA;Semantic parsers determine what the Inventory means; the original bytes remain authoritative for&#xA;how it is written. Scoped edits replace bounded source ranges and then reparse the complete&#xA;candidate before an atomic write.&lt;/p&gt;</description>
      </item>
    <item>
        <title>pig v1.4.2</title>
        <link>https://pig.pgsty.com/release/pig-1.4.2/</link>
        <pubDate>Thu, 18 Jun 2026 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/release/pig-1.4.2/</guid>
        <description>&lt;ul&gt;&#xA;&lt;li&gt;Refresh the built-in extension catalog from &lt;strong&gt;510&lt;/strong&gt; to &lt;strong&gt;524&lt;/strong&gt; available extensions. This adds 14 extensions: &lt;code&gt;pg_stl&lt;/code&gt;, &lt;code&gt;pgmnemo&lt;/code&gt;, &lt;code&gt;psql_bm25s&lt;/code&gt;, &lt;code&gt;pg_orca&lt;/code&gt;, &lt;code&gt;pg_sorted_heap&lt;/code&gt;, &lt;code&gt;graph&lt;/code&gt;, &lt;code&gt;pgrdf&lt;/code&gt;, &lt;code&gt;fsm_core&lt;/code&gt;, &lt;code&gt;jsonschema&lt;/code&gt;, &lt;code&gt;pg_durable&lt;/code&gt;, &lt;code&gt;pg_mockable&lt;/code&gt;, &lt;code&gt;pg_uuid_v8&lt;/code&gt;, &lt;code&gt;pg_stat_backtrace&lt;/code&gt;, and &lt;code&gt;pg_projection&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Update package metadata for 48 existing extensions, including &lt;code&gt;timescaledb 2.28.0&lt;/code&gt;, &lt;code&gt;timescaledb_toolkit 1.23.0&lt;/code&gt;, &lt;code&gt;pg_task 2.1.29&lt;/code&gt;, &lt;code&gt;pg_search 0.24.0&lt;/code&gt;, &lt;code&gt;pg_clickhouse 0.3.2&lt;/code&gt;, &lt;code&gt;pg_graphql 1.6.1&lt;/code&gt;, &lt;code&gt;documentdb 0.112&lt;/code&gt;, &lt;code&gt;toastinfo 1.7&lt;/code&gt;, &lt;code&gt;wrappers 0.6.1&lt;/code&gt;, and &lt;code&gt;pgclone 4.3.2&lt;/code&gt;. No extensions were removed or demoted.&lt;/li&gt;&#xA;&lt;li&gt;Add PostgreSQL 19 beta install/build/config support. PG19 is accepted as an explicit installable major, while PostgreSQL 18 remains the stable default for auto-detection, catalog display, and latest-version aliases.&lt;/li&gt;&#xA;&lt;li&gt;Add &lt;code&gt;pg19&lt;/code&gt; package aliases and PG19 category alias resolution. PG19 category aliases borrow the PostgreSQL 18 visibility template and limit beta package expansion to PGDG-origin entries.&lt;/li&gt;&#xA;&lt;li&gt;Teach &lt;code&gt;pig sty conf -v 19&lt;/code&gt; to enable the &lt;code&gt;beta&lt;/code&gt; repository module when the template supports it, and emit clear warnings when a template is not tuned for PG19 beta or cannot enable the beta repo automatically.&lt;/li&gt;&#xA;&lt;li&gt;Fix Patroni cluster operations by passing the resolved &lt;code&gt;CLUSTER_NAME&lt;/code&gt; to &lt;code&gt;patronictl restart&lt;/code&gt;, &lt;code&gt;reinit&lt;/code&gt;, &lt;code&gt;switchover&lt;/code&gt;, and &lt;code&gt;failover&lt;/code&gt;; &lt;code&gt;pig pt list&lt;/code&gt; also accepts an optional cluster name.&lt;/li&gt;&#xA;&lt;li&gt;Bump the default &lt;code&gt;pgrx&lt;/code&gt; version for &lt;code&gt;pig build pgrx&lt;/code&gt; from &lt;code&gt;0.18.0&lt;/code&gt; to &lt;code&gt;0.18.1&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Bump release metadata to &lt;code&gt;v1.4.2&lt;/code&gt;, refresh Go module checksums, and add focused tests for PG19 aliases/config generation plus Patroni cluster-scope behavior.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;checksums&#34;&gt;Checksums&#xA;&lt;/h2&gt;&#xA;| File | Checksum |&#xA;| --- | --- |&#xA;| [pig\-1\.4\.2\-1\.aarch64\.rpm](https://github.com/pgsty/pig/releases/download/v1.4.2/pig-1.4.2-1.aarch64.rpm) | SHA-256 · `790afe4d6622cb041b06c622bc466cb1b2960a77487f368238027fb4a3a5ef93` |&#xA;| [pig\-1\.4\.2\-1\.x86\_64\.rpm](https://github.com/pgsty/pig/releases/download/v1.4.2/pig-1.4.2-1.x86_64.rpm) | SHA-256 · `ef918166b38a5eb1d108a928718c9e2cb8c3590e5a1f72effee942faca9b4bea` |&#xA;| [pig\-v1\.4\.2\.darwin\-amd64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v1.4.2/pig-v1.4.2.darwin-amd64.tar.gz) | SHA-256 · `3e37ff22aed076cbdd453911dc89fcc9340b1a4faac62c0580094bc1eb2d6273` |&#xA;| [pig\-v1\.4\.2\.darwin\-arm64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v1.4.2/pig-v1.4.2.darwin-arm64.tar.gz) | SHA-256 · `5eb7db776cb149331ebb33e3e6164e1cf711d0107941b92c6930a1d4c4b4eb23` |&#xA;| [pig\-v1\.4\.2\.linux\-amd64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v1.4.2/pig-v1.4.2.linux-amd64.tar.gz) | SHA-256 · `c536c324e40a861217e31f4699ee5f0e6c2daeb4e6f0f0e8cc5f606da9d787eb` |&#xA;| [pig\-v1\.4\.2\.linux\-arm64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v1.4.2/pig-v1.4.2.linux-arm64.tar.gz) | SHA-256 · `8b2d5746264a95269535e5a426f78fe0020f73fa3391fcb613f274551c4786ab` |&#xA;| [pig\_1\.4\.2\-1\_amd64\.deb](https://github.com/pgsty/pig/releases/download/v1.4.2/pig_1.4.2-1_amd64.deb) | SHA-256 · `566e06f6da1fe9d635c41258d20cd9ff10de4e6e74b3b41ba2c6204ba22743c8` |&#xA;| [pig\_1\.4\.2\-1\_arm64\.deb](https://github.com/pgsty/pig/releases/download/v1.4.2/pig_1.4.2-1_arm64.deb) | SHA-256 · `8c09e741975cb2f74b0f88c5995a8fa43d6c30a9a7ab7aaf0b8d83a7c66e1fc1` |&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v1.4.2&lt;/strong&gt; · &lt;time datetime=&#34;2026-06-18&#34;&gt;2026-06-18&lt;/time&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>Use the CMDB Pigsty Already Has</title>
        <link>https://pig.pgsty.com/design/existing-cmdb-boundary/</link>
        <pubDate>Sat, 18 Jul 2026 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/design/existing-cmdb-boundary/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Decision date:&lt;/strong&gt; 2026-07-18&lt;br&gt;&#xA;&lt;strong&gt;Status:&lt;/strong&gt; The greenfield revision store is superseded; the thin existing-CMDB adapter is implemented and remains experimental.&lt;br&gt;&#xA;&lt;strong&gt;Current reference:&lt;/strong&gt; &lt;a href=&#34;https://pig.pgsty.com/inventory/&#34;&gt;&lt;code&gt;pig inventory cmdb&lt;/code&gt;&lt;/a&gt;&lt;br&gt;&#xA;&lt;strong&gt;Scope:&lt;/strong&gt; Exchanging declarations with Pigsty&amp;rsquo;s existing CMDB, not designing another configuration database.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;decision&#34;&gt;Decision&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;PIG must reuse the CMDB already provided by Pigsty. Its responsibility is a bounded adapter:&#xA;validate a static Inventory, load declarations into the existing tables, dump the existing&#xA;projection, check consistency, and switch Ansible between the static and dynamic sources safely.&lt;/p&gt;</description>
      </item>
    <item>
        <title>A Bounded Grafana Client Instead of Dashboard Shell Scripts</title>
        <link>https://pig.pgsty.com/design/native-grafana-management/</link>
        <pubDate>Sat, 18 Jul 2026 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/design/native-grafana-management/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Decision date:&lt;/strong&gt; 2026-07-18&lt;br&gt;&#xA;&lt;strong&gt;Status:&lt;/strong&gt; Implemented in v1.6.0; Grafana dashboard schema v2 support followed in v1.6.2.&lt;br&gt;&#xA;&lt;strong&gt;Current reference:&lt;/strong&gt; &lt;a href=&#34;https://pig.pgsty.com/sty/#sty-grafana&#34;&gt;&lt;code&gt;pig sty grafana&lt;/code&gt;&lt;/a&gt;&lt;br&gt;&#xA;&lt;strong&gt;Scope:&lt;/strong&gt; Pigsty-owned dashboard folders, dashboards, and UI preferences; not general Grafana provisioning.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;decision&#34;&gt;Decision&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;PIG should manage the Grafana assets that ship with Pigsty through a bounded native HTTP client.&#xA;It may inspect readiness, list managed assets, load or initialize dashboards, dump them, remove only&#xA;owned dashboards, and adjust the supported language and style preferences.&lt;/p&gt;</description>
      </item>
    <item>
        <title>PIG 2.0 Product Direction: A Proposal, Not a Release Contract</title>
        <link>https://pig.pgsty.com/design/pig-2-product-direction/</link>
        <pubDate>Thu, 13 Aug 2026 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/design/pig-2-product-direction/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Decision date:&lt;/strong&gt; 2026-08-13&lt;br&gt;&#xA;&lt;strong&gt;Status:&lt;/strong&gt; Proposal for owner review; it is not implemented and is not a PIG 2.0 release commitment.&lt;br&gt;&#xA;&lt;strong&gt;Current reference:&lt;/strong&gt; &lt;a href=&#34;https://pig.pgsty.com/docs/&#34;&gt;PIG documentation&lt;/a&gt; and the current &lt;a href=&#34;https://pig.pgsty.com/release/pig-1.8.1/&#34;&gt;v1.8.1 release&lt;/a&gt;&lt;br&gt;&#xA;&lt;strong&gt;Scope:&lt;/strong&gt; Candidate product boundaries and verification gates for a future PIG 2.0 / Pigsty 5.0 line.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;decision&#34;&gt;Decision&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;The proposed direction makes PIG the stable onboarding front door from an empty controller to a&#xA;validated, deployable Pigsty Inventory. PIG would own Catalog selection, resolution, plans,&#xA;bounded execution orchestration, structured results, and redacted receipts. It would continue to&#xA;delegate package transactions, configuration application, and infrastructure state to DNF/APT,&#xA;Ansible, and future provider-specific tools.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Bootstrapping a Pigsty Controller as a Recoverable Transaction</title>
        <link>https://pig.pgsty.com/design/native-sty-boot/</link>
        <pubDate>Fri, 14 Aug 2026 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/design/native-sty-boot/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Decision date:&lt;/strong&gt; 2026-08-14&lt;br&gt;&#xA;&lt;strong&gt;Status:&lt;/strong&gt; Implemented and released in &lt;a href=&#34;https://pig.pgsty.com/release/pig-1.8.0/&#34;&gt;pig v1.8.0&lt;/a&gt;.&lt;br&gt;&#xA;&lt;strong&gt;Current reference:&lt;/strong&gt; &lt;a href=&#34;https://pig.pgsty.com/sty/#sty-boot&#34;&gt;&lt;code&gt;pig sty boot&lt;/code&gt;&lt;/a&gt;&lt;br&gt;&#xA;&lt;strong&gt;Scope:&lt;/strong&gt; Preparing a Pigsty controller and its package sources; not deploying a database cluster.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;decision&#34;&gt;Decision&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;pig sty boot&lt;/code&gt; should be one native, failure-aware controller bootstrap workflow. It resolves an&#xA;explicit source before privilege elevation, prepares online or offline repositories, installs only&#xA;the required controller packages, proves Ansible is usable, and performs bounded finishing checks.&lt;/p&gt;</description>
      </item>
    <item>
        <title>pig v1.2.0</title>
        <link>https://pig.pgsty.com/release/pig-1.2.0/</link>
        <pubDate>Mon, 23 Feb 2026 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/release/pig-1.2.0/</guid>
        <description>&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Extension catalog and alias resolution enhancements:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Introduce dynamic PG category alias resolution by PG major version.&lt;/li&gt;&#xA;&lt;li&gt;Add OS-level alias overrides (&lt;code&gt;ansible&lt;/code&gt;/&lt;code&gt;bootstrap&lt;/code&gt;) and converge unknown distro fallback to PGDG-only.&lt;/li&gt;&#xA;&lt;li&gt;Add aliases such as &lt;code&gt;node/infra&lt;/code&gt; and &lt;code&gt;babelfish/cloudberry&lt;/code&gt;, and refresh extension metadata to reduce package resolution ambiguity.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Plan preview for high-risk operations:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Add &lt;code&gt;pig install --plan&lt;/code&gt; with structured execution plan output.&lt;/li&gt;&#xA;&lt;li&gt;Align preview semantics for &lt;code&gt;pig pitr&lt;/code&gt; and pgBackRest &lt;code&gt;repack/expire&lt;/code&gt; under &lt;code&gt;--plan&lt;/code&gt; / &lt;code&gt;--dry-run&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Add plan-flag consistency tests to keep subcommand behavior aligned.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Native &lt;code&gt;sty&lt;/code&gt; configuration capability:&lt;/p&gt;</description>
      </item>
    <item>
        <title>pig v1.1.1</title>
        <link>https://pig.pgsty.com/release/pig-1.1.1/</link>
        <pubDate>Sat, 14 Feb 2026 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/release/pig-1.1.1/</guid>
        <description>&lt;h2 id=&#34;fixes&#34;&gt;Fixes&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Preserve symlink semantics during build-tree migration and support cross-device moves.&lt;/li&gt;&#xA;&lt;li&gt;Handle a PostgreSQL log directory configured as the filesystem root without resolving files outside the intended directory.&lt;/li&gt;&#xA;&lt;li&gt;Allow &lt;code&gt;pig repo rm&lt;/code&gt; to remove repository modules whose names contain dots while retaining safe-path validation.&lt;/li&gt;&#xA;&lt;li&gt;Accept safe relative symlinks when &lt;code&gt;pig sty init&lt;/code&gt; extracts a Pigsty release archive.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;checksums&#34;&gt;Checksums&#xA;&lt;/h2&gt;&#xA;| File | Checksum |&#xA;| --- | --- |&#xA;| [pig\-1\.1\.1\-1\.aarch64\.rpm](https://github.com/pgsty/pig/releases/download/v1.1.1/pig-1.1.1-1.aarch64.rpm) | SHA-256 · `22fe5e951f09e7cfa46ab22781199b3209792992940eb5615ace4928e41a7429` |&#xA;| [pig\-1\.1\.1\-1\.x86\_64\.rpm](https://github.com/pgsty/pig/releases/download/v1.1.1/pig-1.1.1-1.x86_64.rpm) | SHA-256 · `7f5a10bbefdc39e5d66a7e688fa78c5ba566c8140458b9f4b1536ff0d7ed457a` |&#xA;| [pig\-v1\.1\.1\.darwin\-amd64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v1.1.1/pig-v1.1.1.darwin-amd64.tar.gz) | SHA-256 · `b90aec9dc559df81c46d32575a8d231fa6d7eeb8b25f4d2e0b6076cc0a9c0e59` |&#xA;| [pig\-v1\.1\.1\.darwin\-arm64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v1.1.1/pig-v1.1.1.darwin-arm64.tar.gz) | SHA-256 · `3063e3a72e68371a082b4e629d12aafda46d96eddc22976beb2049881854f4ea` |&#xA;| [pig\-v1\.1\.1\.linux\-amd64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v1.1.1/pig-v1.1.1.linux-amd64.tar.gz) | SHA-256 · `081ff8c81bf61108a35ca4cdc51007d4ddf1de8a041d8be087e58e7068e7e177` |&#xA;| [pig\-v1\.1\.1\.linux\-arm64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v1.1.1/pig-v1.1.1.linux-arm64.tar.gz) | SHA-256 · `9a81e868699f92d73f8aeb7752206b6eaac8d42d1688089a1f543b12ee0d272d` |&#xA;| [pig\_1\.1\.1\-1\_amd64\.deb](https://github.com/pgsty/pig/releases/download/v1.1.1/pig_1.1.1-1_amd64.deb) | SHA-256 · `85ce861cfbff846be2ba912ba8dfc766121dad14a59937387d9c5e26b0b6f541` |&#xA;| [pig\_1\.1\.1\-1\_arm64\.deb](https://github.com/pgsty/pig/releases/download/v1.1.1/pig_1.1.1-1_arm64.deb) | SHA-256 · `3a108f0544af4d1f98acee55c06c5b5af3b856e3be2b18767e6db0b8a1cc664f` |&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v1.1.1&lt;/strong&gt; · &lt;time datetime=&#34;2026-02-14&#34;&gt;2026-02-14&lt;/time&gt;&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 v0.9.0</title>
        <link>https://pig.pgsty.com/release/pig-0.9.0/</link>
        <pubDate>Sun, 28 Dec 2025 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/release/pig-0.9.0/</guid>
        <description>&lt;h2 id=&#34;changes&#34;&gt;Changes&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Rename &lt;code&gt;pig sty install&lt;/code&gt; to &lt;code&gt;pig sty deploy&lt;/code&gt; so the command name reflects that it runs the Pigsty deployment playbook.&lt;/li&gt;&#xA;&lt;li&gt;Add the &lt;code&gt;-g&lt;/code&gt;, &lt;code&gt;-p&lt;/code&gt;, and &lt;code&gt;-o&lt;/code&gt; options to &lt;code&gt;pig sty conf&lt;/code&gt;, aligning it with the configure script available in this release.&lt;/li&gt;&#xA;&lt;li&gt;Keep &lt;code&gt;llvmjit&lt;/code&gt; in the &lt;code&gt;pgsql-full&lt;/code&gt; package alias.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;checksums&#34;&gt;Checksums&#xA;&lt;/h2&gt;&#xA;| File | Checksum |&#xA;| --- | --- |&#xA;| [pig\-0\.9\.0\-1\.aarch64\.rpm](https://github.com/pgsty/pig/releases/download/v0.9.0/pig-0.9.0-1.aarch64.rpm) | SHA-256 · `ea0c098d0829720b6e364d2f2a91328876962c7f0ae94eee7bdcde0bd43313fa` |&#xA;| [pig\-0\.9\.0\-1\.x86\_64\.rpm](https://github.com/pgsty/pig/releases/download/v0.9.0/pig-0.9.0-1.x86_64.rpm) | SHA-256 · `707f4e1fde76d3faa05165ac11e97969c22a8740c97ef84da52727d0328990cc` |&#xA;| [pig\-v0\.9\.0\.darwin\-amd64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v0.9.0/pig-v0.9.0.darwin-amd64.tar.gz) | SHA-256 · `56aeb61674ddfb64368e6f5535e06a38b76f62e3d6c9536a63be7df6babed93e` |&#xA;| [pig\-v0\.9\.0\.darwin\-arm64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v0.9.0/pig-v0.9.0.darwin-arm64.tar.gz) | SHA-256 · `a213d16817d6124ffa83d93ad880a040598b6ed3fe23a74d43420c095ed43de4` |&#xA;| [pig\-v0\.9\.0\.linux\-amd64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v0.9.0/pig-v0.9.0.linux-amd64.tar.gz) | SHA-256 · `6a1a1836217fa723ca42bc2276ecf1453cd2ee0acacddfc313164701b24a452f` |&#xA;| [pig\-v0\.9\.0\.linux\-arm64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v0.9.0/pig-v0.9.0.linux-arm64.tar.gz) | SHA-256 · `5e5728aa5922138c61c900a731f97cdc1b9653c14d7fe804b6753fb6f222b8b0` |&#xA;| [pig\_0\.9\.0\-1\_amd64\.deb](https://github.com/pgsty/pig/releases/download/v0.9.0/pig_0.9.0-1_amd64.deb) | SHA-256 · `e80d2cb3ceb5fd58fc0262ab4b39b44e8dcccb7712151c73a41ba50cb510353b` |&#xA;| [pig\_0\.9\.0\-1\_arm64\.deb](https://github.com/pgsty/pig/releases/download/v0.9.0/pig_0.9.0-1_arm64.deb) | SHA-256 · `ecb504efffde8d696b765579332fc0b3304751fa8077c4c0394e7f3c44aa0fe2` |&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v0.9.0&lt;/strong&gt; · &lt;time datetime=&#34;2025-12-28&#34;&gt;2025-12-28&lt;/time&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>pig v0.5.0</title>
        <link>https://pig.pgsty.com/release/pig-0.5.0/</link>
        <pubDate>Mon, 30 Jun 2025 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/release/pig-0.5.0/</guid>
        <description>&lt;ul&gt;&#xA;&lt;li&gt;Update the extension list to 422&lt;/li&gt;&#xA;&lt;li&gt;New extension: &lt;a href=&#34;https://github.com/aws/pgactive&#34;&gt;pgactive&lt;/a&gt; from AWS&lt;/li&gt;&#xA;&lt;li&gt;Bump timescaledb to 2.20.3&lt;/li&gt;&#xA;&lt;li&gt;Bump citus to 13.1.0&lt;/li&gt;&#xA;&lt;li&gt;Bump vchord to 0.4.3&lt;/li&gt;&#xA;&lt;li&gt;Bug fix pgvectorscale debian/ubuntu pg17 failure&lt;/li&gt;&#xA;&lt;li&gt;Bump kubernetes repo to 1.33&lt;/li&gt;&#xA;&lt;li&gt;Bump default pigsty version to 3.5.0&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;checksums&#34;&gt;Checksums&#xA;&lt;/h2&gt;&#xA;| File | Checksum |&#xA;| --- | --- |&#xA;| [pig\_0\.5\.0\-1\_amd64\.deb](https://github.com/pgsty/pig/releases/download/v0.5.0/pig_0.5.0-1_amd64.deb) | MD5 · `9ec6f3caf3edbe867caab5de0e0ccb33` |&#xA;| [pig\_0\.5\.0\-1\_arm64\.deb](https://github.com/pgsty/pig/releases/download/v0.5.0/pig_0.5.0-1_arm64.deb) | MD5 · `4fbb0a42cd8a88bce50b3c9d85745d77` |&#xA;| [pig\-0\.5\.0\-1\.aarch64\.rpm](https://github.com/pgsty/pig/releases/download/v0.5.0/pig-0.5.0-1.aarch64.rpm) | MD5 · `9cf8208396b068cab438f72c90d39efe` |&#xA;| [pig\-0\.5\.0\-1\.x86\_64\.rpm](https://github.com/pgsty/pig/releases/download/v0.5.0/pig-0.5.0-1.x86_64.rpm) | MD5 · `d9a8d78c30f45e098b29c3d16471aa8d` |&#xA;| [pig\-v0\.5\.0\.linux\-amd64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v0.5.0/pig-v0.5.0.linux-amd64.tar.gz) | MD5 · `761df804ff7b83965c41492700717674` |&#xA;| [pig\-v0\.5\.0\.linux\-arm64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v0.5.0/pig-v0.5.0.linux-arm64.tar.gz) | MD5 · `5d1830069d98030728f08835f883ea39` |&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v0.5.0&lt;/strong&gt; · &lt;time datetime=&#34;2025-06-30&#34;&gt;2025-06-30&lt;/time&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>Instantly Clone PostgreSQL Databases—No Black Magic Required</title>
        <link>https://pig.pgsty.com/article/pg-pig-clone/</link>
        <pubDate>Mon, 06 Jul 2026 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/article/pg-pig-clone/</guid>
        <description>&lt;p&gt;Six months ago, on January 8, 2026, I wrote &lt;a href=&#34;https://vonng.com/en/pg/pg-clone/&#34;&gt;&lt;strong&gt;Git for Data: Instant PostgreSQL Database and Instance Cloning&lt;/strong&gt;&lt;/a&gt;, introducing a new feature in PostgreSQL 18 and Pigsty v4.0: instant database cloning. With filesystem copy-on-write (CoW) and PostgreSQL 18&amp;rsquo;s new &lt;code&gt;file_copy_method = clone&lt;/code&gt; setting, &lt;strong&gt;you can clone a huge database in seconds without consuming additional storage&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;This is a particularly good fit for AI agents. As I wrote in &lt;a href=&#34;https://vonng.com/en/db/agent-native-db/&#34;&gt;What Kind of Database Do AI Agents Need?&lt;/a&gt;, ultra-low-cost database cloning is critical for counterfactual experiments. So when Pigsty 4.0 shipped, I added this capability to its PostgreSQL database provisioning workflow.&lt;/p&gt;</description>
      </item>
    <item>
        <title>What Is a PostgreSQL Distribution?</title>
        <link>https://pig.pgsty.com/article/what-is-pg-distro/</link>
        <pubDate>Sat, 04 Jul 2026 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/article/what-is-pg-distro/</guid>
        <description>&lt;p&gt;People often ask me: what exactly is &lt;a href=&#34;https://pigsty.io&#34;&gt;&lt;strong&gt;Pigsty&lt;/strong&gt;&lt;/a&gt;?&lt;/p&gt;&#xA;&lt;p&gt;My usual answer is: a PostgreSQL distribution.&lt;/p&gt;&#xA;&lt;p&gt;The next question is usually: what, then, is a “PostgreSQL distribution”?&lt;/p&gt;&#xA;&lt;p&gt;That is a good question. And the best place to begin is not databases, but operating systems.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;i-start-with-linux-distributions&#34;&gt;I. Start with Linux Distributions&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;When most people hear “distribution,” they think of Linux distributions: Red Hat, Debian, Ubuntu, SUSE, Arch, and so on. But if Linux already exists, why do we need Linux distributions? What exactly is the relationship between the two?&lt;/p&gt;</description>
      </item>
    
  </channel>
</rss>
