<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>repo on PIG</title>
    <link>https://pig.pgsty.com/tags/repo/</link>
    <description>Recent content in repo 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/repo/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
        <title>pig v1.8.1</title>
        <link>https://pig.pgsty.com/release/pig-1.8.1/</link>
        <pubDate>Thu, 03 Sep 2026 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/release/pig-1.8.1/</guid>
        <description>&lt;p&gt;Pig &lt;code&gt;v1.8.1&lt;/code&gt; is a safety, correctness, and maintenance release on top of&#xA;&lt;a href=&#34;https://pig.pgsty.com/release/pig-1.8.0/&#34;&gt;v1.8.0&lt;/a&gt;. It hardens command initialization, privileged log access,&#xA;repository and build workflows, release integrity, and structured-output redaction. It also&#xA;refreshes the embedded extension catalog and moves the build toolchain to Go &lt;code&gt;1.27.1&lt;/code&gt; and&#xA;&lt;code&gt;cargo-pgrx 0.19.2&lt;/code&gt;. The embedded Pigsty version remains &lt;code&gt;4.5.0&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;cli-safety-and-correctness&#34;&gt;CLI safety and correctness&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Read-only and configuration-independent commands no longer require a writable &lt;code&gt;HOME&lt;/code&gt; or create&#xA;&lt;code&gt;~/.pig&lt;/code&gt; as a side effect. Leaf commands preserve their declared initialization policy.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;pig pg log&lt;/code&gt;, &lt;code&gt;pig pt log&lt;/code&gt;, and &lt;code&gt;pig pb log&lt;/code&gt; preserve arguments through sudo execution as the&#xA;database OS user and reject unsafe log-file links.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;pig do&lt;/code&gt; validates Pigsty names and rejects reserved Ansible cluster targets before execution.&lt;/li&gt;&#xA;&lt;li&gt;Native PostgreSQL role detection is bound to the selected instance rather than an unrelated&#xA;local default.&lt;/li&gt;&#xA;&lt;li&gt;Structured results redact credentials, license material, and build-proxy identifiers while&#xA;retaining truthful command failure.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;repository-and-build-hardening&#34;&gt;Repository and build hardening&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Repository add and remove operations now fail when any requested operation fails, deduplicate&#xA;module selections, and preserve replacement boundaries.&lt;/li&gt;&#xA;&lt;li&gt;Offline cache bundles reject unsafe paths, links, special files, and incomplete inputs; archive&#xA;extraction remains rooted and fail-closed. The obsolete exported cache wrapper was removed after&#xA;production moved to the structured result path.&lt;/li&gt;&#xA;&lt;li&gt;Build source and artifact validation rejects incomplete or unsafe inputs. &lt;code&gt;pig build proxy&lt;/code&gt;&#xA;uses the package-provided service contract, treats its operands as optional, and keeps secret&#xA;identifiers out of structured output.&lt;/li&gt;&#xA;&lt;li&gt;Self-update verifies release checksums, and release tooling refuses dirty or mismatched-tag&#xA;publication and immutable artifact replacement.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;toolchain-and-catalog&#34;&gt;Toolchain and catalog&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Go is updated to &lt;code&gt;1.27.1&lt;/code&gt;; Logrus to &lt;code&gt;1.10.2&lt;/code&gt;; GoReleaser to &lt;code&gt;2.18.0&lt;/code&gt;; and&#xA;golangci-lint to &lt;code&gt;2.13.2&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;pig build pgrx&lt;/code&gt; now installs &lt;code&gt;cargo-pgrx 0.19.2&lt;/code&gt; by default. Use &lt;code&gt;-v&lt;/code&gt; when an extension requires&#xA;an older pgrx line recorded in its catalog metadata.&lt;/li&gt;&#xA;&lt;li&gt;The embedded catalog is refreshed from the maintained pgext view. It adds &lt;code&gt;acdat 0.1.0&lt;/code&gt;, marks&#xA;the superseded &lt;code&gt;pgcontext_pgvector&lt;/code&gt; entry removed, and updates package versions, repository&#xA;ownership, PostgreSQL coverage, and availability matrices.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;verification&#34;&gt;Verification&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;The release is built from source commit&#xA;&lt;a href=&#34;https://github.com/pgsty/pig/commit/e3d1eb4a86cedddcf49fff398fc69751e861372e&#34;&gt;&lt;code&gt;e3d1eb4&lt;/code&gt;&lt;/a&gt;.&#xA;The exact commit passed the full &lt;a href=&#34;https://github.com/pgsty/pig/actions/runs/33718574084&#34;&gt;CI workflow&lt;/a&gt;,&#xA;including randomized tests, command race regressions, vet, static analysis, dead-code detection,&#xA;vulnerability scanning, and a GoReleaser snapshot. The tag then passed the&#xA;&lt;a href=&#34;https://github.com/pgsty/pig/actions/runs/33718945217&#34;&gt;Release workflow&lt;/a&gt;, which produced the&#xA;published RPM, DEB, macOS, and Linux artifacts.&lt;/p&gt;</description>
      </item>
    <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.7.0</title>
        <link>https://pig.pgsty.com/release/pig-1.7.0/</link>
        <pubDate>Wed, 12 Aug 2026 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/release/pig-1.7.0/</guid>
        <description>&lt;p&gt;Pig &lt;code&gt;v1.7.0&lt;/code&gt; is a repository compatibility and catalog release on top of &lt;a href=&#34;https://pig.pgsty.com/release/pig-1.6.2/&#34;&gt;v1.6.2&lt;/a&gt;. It makes China-mirror selection explicit, preserves native DNF module filtering by default, restores a streamlined EL7 repository catalog, and grows the bundled extension snapshot from 572 to 575. The embedded Pigsty version remains &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;-m|--mirror&lt;/code&gt; now selects the bundled &lt;code&gt;china&lt;/code&gt; repository definitions directly. PGDG, Rocky Linux, Debian, Ubuntu, Docker, and other regional routes use the maintained mirror list instead of the former runtime PGDG proxy rewrite.&lt;/li&gt;&#xA;&lt;li&gt;EL repository definitions no longer receive &lt;code&gt;module_hotfixes=1&lt;/code&gt; globally. Pigsty and PGDG repositories that intentionally override module streams opt in explicitly; BaseOS, AppStream, EPEL, and other repositories retain native DNF module filtering.&lt;/li&gt;&#xA;&lt;li&gt;EL7 keeps a deliberately limited compatibility catalog: archived CentOS 7 Base/Updates/Extras/SCLo and EPEL definitions for &lt;code&gt;x86_64&lt;/code&gt;, plus shared Pigsty and supported PGDG entries. The DNF-only &lt;code&gt;module_hotfixes&lt;/code&gt; key is stripped when rendering EL7 YUM configuration.&lt;/li&gt;&#xA;&lt;li&gt;Repository setup now reports unsupported platforms when the catalog has no matching definitions, instead of continuing with an empty repository set.&lt;/li&gt;&#xA;&lt;li&gt;Release metadata is bumped to &lt;code&gt;1.7.0&lt;/code&gt;; the embedded Pigsty version remains &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;572 -&amp;gt; 575&lt;/strong&gt;, with no removals.&lt;/li&gt;&#xA;&lt;li&gt;3 new extensions: &lt;code&gt;pg_local_cache 1.2.0&lt;/code&gt;, &lt;code&gt;pg_statviz 0.1.0&lt;/code&gt;, and &lt;code&gt;pg_policy 0.1.0&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Version refreshes include &lt;code&gt;biscuit 3.0.0&lt;/code&gt;, &lt;code&gt;pg_clickhouse 0.10.0&lt;/code&gt;, &lt;code&gt;pg_search 0.25.2&lt;/code&gt;, &lt;code&gt;pg_turbovec&lt;/code&gt; packages &lt;code&gt;1.29.0&lt;/code&gt;, &lt;code&gt;pg_uuid_v8 1.1.0&lt;/code&gt;, and the Debian &lt;code&gt;q3c 2.0.5&lt;/code&gt; package.&lt;/li&gt;&#xA;&lt;li&gt;Package metadata and availability matrices are refreshed. Run &lt;code&gt;pig ext reload&lt;/code&gt; when you need a catalog newer than this release snapshot.&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;&lt;code&gt;-m|--mirror&lt;/code&gt; is now an explicit China-region selection rather than a PGDG proxy rewrite. Use &lt;code&gt;--region=default|china|europe&lt;/code&gt; when you need a specific route.&lt;/li&gt;&#xA;&lt;li&gt;Custom EL repository definitions that require module-stream overrides must now set &lt;code&gt;meta.module_hotfixes: 1&lt;/code&gt; explicitly. This setting is intentionally omitted for ordinary OS repositories and removed on EL7.&lt;/li&gt;&#xA;&lt;li&gt;EL7 is end-of-life and only has limited compatibility coverage; prefer EL8 or newer for current PostgreSQL and extension packages.&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\.7\.0\-1\.aarch64\.rpm](https://github.com/pgsty/pig/releases/download/v1.7.0/pig-1.7.0-1.aarch64.rpm) | SHA-256 · `e3a339fefdd2203825d15438b52f18e729547eb88dae014212a46006a9bd47d1` |&#xA;| [pig\-1\.7\.0\-1\.x86\_64\.rpm](https://github.com/pgsty/pig/releases/download/v1.7.0/pig-1.7.0-1.x86_64.rpm) | SHA-256 · `34ce29d75ef9f669f3bf832cc812ae082abda7320ee2b2336ea61e701b9b67f8` |&#xA;| [pig\-v1\.7\.0\.darwin\-amd64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v1.7.0/pig-v1.7.0.darwin-amd64.tar.gz) | SHA-256 · `d26803c685ba29c01cb8e6dfe50c6c1b0f004173be82015618fa8cdf6a329ba7` |&#xA;| [pig\-v1\.7\.0\.darwin\-arm64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v1.7.0/pig-v1.7.0.darwin-arm64.tar.gz) | SHA-256 · `ea8120d48b93da936919f590ebbefeb72e73277e6bc133c1ef0bb1abc055d3ce` |&#xA;| [pig\-v1\.7\.0\.linux\-amd64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v1.7.0/pig-v1.7.0.linux-amd64.tar.gz) | SHA-256 · `40295b64a2423094fa6f4e6d31da8d8ad5b26698c397d8916c0289591522d0bf` |&#xA;| [pig\-v1\.7\.0\.linux\-arm64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v1.7.0/pig-v1.7.0.linux-arm64.tar.gz) | SHA-256 · `7929091732957d85751ef3381285a1e5b0c3c7f82c0e00fc24ed085c496012d5` |&#xA;| [pig\_1\.7\.0\-1\_amd64\.deb](https://github.com/pgsty/pig/releases/download/v1.7.0/pig_1.7.0-1_amd64.deb) | SHA-256 · `41523c15f36a6c1acaf4af5c851d2626472fc15c21d25f91fc1e991fe8411072` |&#xA;| [pig\_1\.7\.0\-1\_arm64\.deb](https://github.com/pgsty/pig/releases/download/v1.7.0/pig_1.7.0-1_arm64.deb) | SHA-256 · `adf7b2d9ce8fe42bad935428d16a9c998337df986b1065e0761dc167ce837ef5` |&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v1.7.0&lt;/strong&gt; · &lt;time datetime=&#34;2026-08-12&#34;&gt;2026-08-12&lt;/time&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>pig v1.6.1</title>
        <link>https://pig.pgsty.com/release/pig-1.6.1/</link>
        <pubDate>Thu, 30 Jul 2026 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/release/pig-1.6.1/</guid>
        <description>&lt;p&gt;&lt;code&gt;pig&lt;/code&gt; v1.6.1 is a maintenance release on top of &lt;a href=&#34;https://pig.pgsty.com/release/pig-1.6.0/&#34;&gt;v1.6.0&lt;/a&gt;. It carries no new&#xA;commands and no flag changes — the point of the release is the catalog that ships inside the&#xA;binary.&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-changed&#34;&gt;What changed&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Extension catalog refreshed.&lt;/strong&gt; The embedded &lt;code&gt;extension.csv&lt;/code&gt; is regenerated from the&#xA;Pigsty package repositories, so &lt;code&gt;pig ext list&lt;/code&gt; and &lt;code&gt;pig install&lt;/code&gt; resolve against current&#xA;package versions without a &lt;code&gt;pig ext reload&lt;/code&gt; round trip.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Pigsty version aligned to 4.5.0.&lt;/strong&gt; The embedded Pigsty version that &lt;code&gt;pig sty&lt;/code&gt; and&#xA;&lt;code&gt;pig status&lt;/code&gt; report now points at Pigsty 4.5.0.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Version strings bumped&lt;/strong&gt; across the build metadata and &lt;code&gt;pig update&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;The catalog embedded in the v1.6.1 release covers 562 packaged extensions across PostgreSQL&#xA;14–18 on EL 8/9/10, Debian 12/13, and Ubuntu 22/24/26, for both &lt;code&gt;x86_64&lt;/code&gt; and &lt;code&gt;aarch64&lt;/code&gt;.&#xA;Running &lt;code&gt;pig ext reload&lt;/code&gt; can replace that release snapshot with a newer online catalog.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Getting Started</title>
        <link>https://pig.pgsty.com/start/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/start/</guid>
        <description>&lt;p&gt;Here is a simple getting started tutorial to help you experience the core capabilities of the PIG package manager.&lt;/p&gt;&#xA;&lt;h2 id=&#34;short-version&#34;&gt;Short Version&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-75b61dfa-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;3&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-75b61dfa-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;curl -fsSL https://repo.pigsty.io/pig &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; bash   &lt;span class=&#34;c1&#34;&gt;# Install PIG from Cloudflare&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;# One-time setup for Linux, Pigsty + PGDG repos (overwrites!)&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 -v &lt;span class=&#34;m&#34;&gt;18&lt;/span&gt; -y pg18 pg_duckdb vector     &lt;span class=&#34;c1&#34;&gt;# Install PG 18 kernel, pg_duckdb, pgvector extensions...&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;p&gt;These commands install &lt;strong&gt;host packages&lt;/strong&gt;. They do not run &lt;code&gt;CREATE EXTENSION&lt;/code&gt;, change &lt;code&gt;shared_preload_libraries&lt;/code&gt;, or restart PostgreSQL. After installation, run &lt;code&gt;pig ext info pg_duckdb&lt;/code&gt; and &lt;code&gt;pig ext info vector&lt;/code&gt;, apply the displayed preload/DDL steps to the intended database, and validate the service before production use.&lt;/p&gt;</description>
      </item>
    <item>
        <title>pig v1.5.1</title>
        <link>https://pig.pgsty.com/release/pig-1.5.1/</link>
        <pubDate>Wed, 08 Jul 2026 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/release/pig-1.5.1/</guid>
        <description>&lt;p&gt;Pig &lt;code&gt;v1.5.1&lt;/code&gt; updates PG kernel forks to the latest package names.&lt;/p&gt;&#xA;&lt;h2 id=&#34;highlights&#34;&gt;Highlights&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Add mirror/proxy mode to repo, build, sty, update, and extension update workflows; &lt;code&gt;pig build rust -m&lt;/code&gt; also configures Cargo mirror settings with &lt;code&gt;rsproxy.cn&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Add explicit PostgreSQL 19 beta build switches: &lt;code&gt;pig build repo --beta&lt;/code&gt;, &lt;code&gt;pig build tool --beta&lt;/code&gt;, and &lt;code&gt;pig build pgrx -b&lt;/code&gt;, while keeping PostgreSQL 18 and PG14-18 as the stable defaults.&lt;/li&gt;&#xA;&lt;li&gt;Refresh kernel and fork package aliases for IvorySQL, PolarDB, OrioleDB, OpenHaloDB, Babelfish, and the pgEdge suite.&lt;/li&gt;&#xA;&lt;li&gt;Improve the Cloudberry package build flow for &lt;code&gt;cloudberry&lt;/code&gt;, &lt;code&gt;cloudberry-backup&lt;/code&gt;, and &lt;code&gt;cloudberry-pxf&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Refresh source/package metadata for Cloudberry, Babelfish, OrioleDB, pgEdge, PolarDB, &lt;code&gt;polarstore&lt;/code&gt;, &lt;code&gt;zlog&lt;/code&gt;, &lt;code&gt;libpgfeutils&lt;/code&gt;, and &lt;code&gt;libfq&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Improve repository generation for newer EL release strings, including PGDG on EL9.6+ / EL10+ and EPEL&amp;rsquo;s EL10 &lt;code&gt;10z&lt;/code&gt; stream.&lt;/li&gt;&#xA;&lt;li&gt;Refresh extension versions including &lt;code&gt;pg_ivm 1.15&lt;/code&gt;, &lt;code&gt;spock 5.0.10&lt;/code&gt;, &lt;code&gt;snowflake 2.5.0&lt;/code&gt;, &lt;code&gt;pg_tde 2.2&lt;/code&gt;, &lt;code&gt;decoderbufs 3.6.0&lt;/code&gt;, and IvorySQL &lt;code&gt;5.4&lt;/code&gt; packages.&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\.5\.1\-1\.aarch64\.rpm](https://github.com/pgsty/pig/releases/download/v1.5.1/pig-1.5.1-1.aarch64.rpm) | SHA-256 · `bc83887d640ed299a967b4eda2ae6db621a985abfa022fccabf508f7ec7b98e3` |&#xA;| [pig\-1\.5\.1\-1\.x86\_64\.rpm](https://github.com/pgsty/pig/releases/download/v1.5.1/pig-1.5.1-1.x86_64.rpm) | SHA-256 · `f0eab8e638d9e00a9172751446db869d0fe6ca7f382c7d540a931e0764014c0a` |&#xA;| [pig\-v1\.5\.1\.darwin\-amd64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v1.5.1/pig-v1.5.1.darwin-amd64.tar.gz) | SHA-256 · `b32d894dc444ef2b9ec00816d50d82b5834e64c35b3bb18f08b6286a7ca8e8e7` |&#xA;| [pig\-v1\.5\.1\.darwin\-arm64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v1.5.1/pig-v1.5.1.darwin-arm64.tar.gz) | SHA-256 · `4d768829b7e93fac6c732e27f665d3ab3945ec8bc1c336e5b91980932e8c9932` |&#xA;| [pig\-v1\.5\.1\.linux\-amd64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v1.5.1/pig-v1.5.1.linux-amd64.tar.gz) | SHA-256 · `69f4a016af52f1ee8f1a1ffc1e405bb3be551c3813b6d24f70ef8394330be5eb` |&#xA;| [pig\-v1\.5\.1\.linux\-arm64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v1.5.1/pig-v1.5.1.linux-arm64.tar.gz) | SHA-256 · `f49becb5fd556b36a9aa8de0c27bdbe210f7958f59254d780774828f2340e77b` |&#xA;| [pig\_1\.5\.1\-1\_amd64\.deb](https://github.com/pgsty/pig/releases/download/v1.5.1/pig_1.5.1-1_amd64.deb) | SHA-256 · `a0d15145409d8a2629a74d3071f7af593e470920f22d9af4bf6f96725dbb6d49` |&#xA;| [pig\_1\.5\.1\-1\_arm64\.deb](https://github.com/pgsty/pig/releases/download/v1.5.1/pig_1.5.1-1_arm64.deb) | SHA-256 · `f05b9b5abef5992ed16cbb5b6a6e3e5e58230072e3665ecc57b9ce2df3edb9a6` |&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v1.5.1&lt;/strong&gt; · &lt;time datetime=&#34;2026-07-08&#34;&gt;2026-07-08&lt;/time&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>Installation</title>
        <link>https://pig.pgsty.com/install/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/install/</guid>
        <description>&lt;h2 id=&#34;script-installation&#34;&gt;Script Installation&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;The simplest way to install &lt;code&gt;pig&lt;/code&gt; is to run the following installation script:&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Default Installation&lt;/strong&gt; (Cloudflare CDN):&lt;/p&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-6474aa43-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;1&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-6474aa43-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;curl -fsSL https://repo.pigsty.io/pig &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; bash&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;&lt;strong&gt;China Mirror&lt;/strong&gt;:&lt;/p&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-6474aa43-fence-1&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;1&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-6474aa43-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;curl -fsSL https://repo.pigsty.cc/pig &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; bash&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;This script downloads the latest &lt;code&gt;pig&lt;/code&gt; RPM/DEB package from the Pigsty &lt;a href=&#34;https://pigsty.io/docs/repo/&#34;&gt;software repository&lt;/a&gt; and installs it using &lt;code&gt;rpm&lt;/code&gt; or &lt;code&gt;dpkg&lt;/code&gt;.&#xA;Script installation targets Linux x86_64 / aarch64 RPM or DEB distributions. On macOS, use the binary from the release tarball.&lt;/p&gt;</description>
      </item>
    <item>
        <title>pig v1.4.0</title>
        <link>https://pig.pgsty.com/release/pig-1.4.0/</link>
        <pubDate>Sun, 19 Apr 2026 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/release/pig-1.4.0/</guid>
        <description>&lt;ul&gt;&#xA;&lt;li&gt;Refresh the extension catalog and increase the total available extensions to &lt;strong&gt;510&lt;/strong&gt;, with version bumps such as &lt;code&gt;timescaledb 2.26.3&lt;/code&gt;, &lt;code&gt;decoderbufs 3.5.0&lt;/code&gt;, &lt;code&gt;pgclone 4.0.0&lt;/code&gt;, and &lt;code&gt;nominatim_fdw 1.3&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Bump the default &lt;code&gt;pgrx&lt;/code&gt; version from &lt;code&gt;0.17.0&lt;/code&gt; to &lt;code&gt;0.18.0&lt;/code&gt; and align related Rust extension builds.&lt;/li&gt;&#xA;&lt;li&gt;Refresh authoritative source bundles for &lt;code&gt;pig build get&lt;/code&gt;, covering Cloudberry / OrioleDB build inputs and bundled artifacts for RDKit and OneSparse-related packages.&lt;/li&gt;&#xA;&lt;li&gt;Fix &lt;code&gt;repo set&lt;/code&gt; flag isolation and correct schema maintenance SQL.&lt;/li&gt;&#xA;&lt;li&gt;Bump &lt;code&gt;patroni&lt;/code&gt; to &lt;code&gt;4.1.1&lt;/code&gt; for &lt;code&gt;el9.aarch64&lt;/code&gt;.&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\.0\-1\.aarch64\.rpm](https://github.com/pgsty/pig/releases/download/v1.4.0/pig-1.4.0-1.aarch64.rpm) | SHA-256 · `c8d2f46ea1b25f7d4665ee0994f0cb403a59f1464f80b3ecfa575ac283e5ecd0` |&#xA;| [pig\-1\.4\.0\-1\.x86\_64\.rpm](https://github.com/pgsty/pig/releases/download/v1.4.0/pig-1.4.0-1.x86_64.rpm) | SHA-256 · `fb1fd2f4f1e71894779de7b11a42960c09261620dffa0b54ff7f84e60efbf976` |&#xA;| [pig\-v1\.4\.0\.darwin\-amd64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v1.4.0/pig-v1.4.0.darwin-amd64.tar.gz) | SHA-256 · `aa08045a31c26b9a6bfb770753817581c819022a6ed899e44f7b5a31f57f1733` |&#xA;| [pig\-v1\.4\.0\.darwin\-arm64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v1.4.0/pig-v1.4.0.darwin-arm64.tar.gz) | SHA-256 · `80e50dd2ccd08d4a4016e85518186e156498e00c56a898e65acb96466db339f0` |&#xA;| [pig\-v1\.4\.0\.linux\-amd64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v1.4.0/pig-v1.4.0.linux-amd64.tar.gz) | SHA-256 · `e425bf35ab6cb7907e94caca802b4418e3baf4bb1642dd957ab4baaa9db9f583` |&#xA;| [pig\-v1\.4\.0\.linux\-arm64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v1.4.0/pig-v1.4.0.linux-arm64.tar.gz) | SHA-256 · `840a21695955d64af7df12f7157b49573b18586bb2bf9cc5e7079074b86d39b7` |&#xA;| [pig\_1\.4\.0\-1\_amd64\.deb](https://github.com/pgsty/pig/releases/download/v1.4.0/pig_1.4.0-1_amd64.deb) | SHA-256 · `401d91bae78b14e3dcc338aaac9e451e94282c79efbe9affabcfeb8b36ece587` |&#xA;| [pig\_1\.4\.0\-1\_arm64\.deb](https://github.com/pgsty/pig/releases/download/v1.4.0/pig_1.4.0-1_arm64.deb) | SHA-256 · `d60515f72fb9f8963554dc5668d2398e5ecefd0153a7756a9d555de90115bcce` |&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v1.4.0&lt;/strong&gt; · &lt;time datetime=&#34;2026-04-19&#34;&gt;2026-04-19&lt;/time&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>Catalog v2 Proposal: Immutable Typed Snapshots Instead of Bigger CSV</title>
        <link>https://pig.pgsty.com/design/catalog-v2-snapshots/</link>
        <pubDate>Thu, 13 Aug 2026 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/design/catalog-v2-snapshots/</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; Pre-implementation proposal; security mechanism, overlay scope, packaging, and path ADRs remain open.&lt;br&gt;&#xA;&lt;strong&gt;Current reference:&lt;/strong&gt; &lt;a href=&#34;https://pig.pgsty.com/ext/&#34;&gt;&lt;code&gt;pig ext&lt;/code&gt;&lt;/a&gt; and &lt;a href=&#34;https://pig.pgsty.com/repo/&#34;&gt;&lt;code&gt;pig repo&lt;/code&gt;&lt;/a&gt; describe the v1 Catalog behavior.&lt;br&gt;&#xA;&lt;strong&gt;Scope:&lt;/strong&gt; A candidate PIG 2.0 publication and consumption model for product metadata, not Inventory or live system state.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;decision&#34;&gt;Decision&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Catalog v2 should be one immutable, verifiable snapshot composed of multiple typed targets. A&#xA;manifest binds platform, repository, route, package-alias, extension, compatibility, Pigsty&#xA;release, and public-key metadata to exact bytes. Candidate targets are validated together and&#xA;activated through one pointer, preventing a new repository catalog from being mixed silently with&#xA;an old extension matrix.&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 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 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 v0.8.0</title>
        <link>https://pig.pgsty.com/release/pig-0.8.0/</link>
        <pubDate>Fri, 26 Dec 2025 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/release/pig-0.8.0/</guid>
        <description>&lt;h2 id=&#34;extension-updates&#34;&gt;Extension Updates&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Total extensions reached 440&lt;/li&gt;&#xA;&lt;li&gt;New extension: &lt;a href=&#34;https://github.com/benodiwal/pg_ai_query&#34;&gt;pg_ai_query&lt;/a&gt; 0.1.1&lt;/li&gt;&#xA;&lt;li&gt;New extension: &lt;a href=&#34;https://github.com/timescale/pg_textsearch&#34;&gt;pg_textsearch&lt;/a&gt; 0.1.0&lt;/li&gt;&#xA;&lt;li&gt;New extension: &lt;a href=&#34;https://github.com/clickhouse/pg_clickhouse/&#34;&gt;pg_clickhouse&lt;/a&gt; 0.1.0&lt;/li&gt;&#xA;&lt;li&gt;pg_biscuit upgraded from 1.0 to 2.0.1 (switched to new repo, renamed to biscuit)&lt;/li&gt;&#xA;&lt;li&gt;pg_search upgraded from 0.20.3 to 0.20.5&lt;/li&gt;&#xA;&lt;li&gt;pg_duckdb upgraded to official release 1.1.1&lt;/li&gt;&#xA;&lt;li&gt;vchord_bm25 upgraded from 0.2.2 to 0.3.0&lt;/li&gt;&#xA;&lt;li&gt;pg_semver upgraded from 0.40.0 to 0.41.0&lt;/li&gt;&#xA;&lt;li&gt;pg_timeseries upgraded from 0.1.7 to 0.1.8&lt;/li&gt;&#xA;&lt;li&gt;Fixed debian/ubuntu pg18 extension issues: supautils, pg_summarize, pg_vectorize, pg_tiktoken, pg_tzf, pglite_fusion, pgsmcrypto, pgx_ulid, plprql&lt;/li&gt;&#xA;&lt;li&gt;Pigsty version synced to 4.0.0&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;repository-updates&#34;&gt;Repository Updates&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Removed pgdg yum sysupdate repo due to upstream changes&lt;/li&gt;&#xA;&lt;li&gt;Removed pgdg yum llvmjit package due to upstream changes&lt;/li&gt;&#xA;&lt;li&gt;Fixed patroni 3.0.4 duplicate package issue on el9.aarch64&lt;/li&gt;&#xA;&lt;li&gt;Added priority for el repo definitions, docker repo skipped when unavailable&lt;/li&gt;&#xA;&lt;li&gt;Added epel 10 / pgdg 9/10 OS minor version hotfix&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\.8\.0\-1\.aarch64\.rpm](https://github.com/pgsty/pig/releases/download/v0.8.0/pig-0.8.0-1.aarch64.rpm) | SHA-256 · `e457832fb290e2f9975bf719966dc36e650bdcbf8505d319c9e0431f4c03bc9e` |&#xA;| [pig\-0\.8\.0\-1\.x86\_64\.rpm](https://github.com/pgsty/pig/releases/download/v0.8.0/pig-0.8.0-1.x86_64.rpm) | SHA-256 · `c97b1bfdd7541f0f464cab0ecc273e65535c8dd2603c38d5cf8dccbf7e95b523` |&#xA;| [pig\-v0\.8\.0\.darwin\-amd64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v0.8.0/pig-v0.8.0.darwin-amd64.tar.gz) | SHA-256 · `d892f06d3d3b440671529f40e6cc7949686e0167e2a4758adc666b8a3d75254d` |&#xA;| [pig\-v0\.8\.0\.darwin\-arm64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v0.8.0/pig-v0.8.0.darwin-arm64.tar.gz) | SHA-256 · `222413bafdf5a62dc682dac32ea1118cbc34ec3544e2a1b85076ec450b9cc7ae` |&#xA;| [pig\-v0\.8\.0\.linux\-amd64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v0.8.0/pig-v0.8.0.linux-amd64.tar.gz) | SHA-256 · `d50aa9806bbab8fee5ad9228e104fc9e7ead48729228116b5bf889000791fedc` |&#xA;| [pig\-v0\.8\.0\.linux\-arm64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v0.8.0/pig-v0.8.0.linux-arm64.tar.gz) | SHA-256 · `d2f410f7b243a8323c8d479f462a0267ac72d217aa4a506c80b5a9927d12dff8` |&#xA;| [pig\_0\.8\.0\-1\_amd64\.deb](https://github.com/pgsty/pig/releases/download/v0.8.0/pig_0.8.0-1_amd64.deb) | SHA-256 · `4ccd330a995911d4f732e8c9d62aa0db479c21c9596f64c4bc129ec43f156abe` |&#xA;| [pig\_0\.8\.0\-1\_arm64\.deb](https://github.com/pgsty/pig/releases/download/v0.8.0/pig_0.8.0-1_arm64.deb) | SHA-256 · `5cb9eccce659110f3ba58e502575564bd6befffd51992a43d84df5a17f8eb8a0` |&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v0.8.0&lt;/strong&gt; · &lt;time datetime=&#34;2025-12-26&#34;&gt;2025-12-26&lt;/time&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>pig v0.7.5</title>
        <link>https://pig.pgsty.com/release/pig-0.7.5/</link>
        <pubDate>Mon, 15 Dec 2025 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/release/pig-0.7.5/</guid>
        <description>&lt;h2 id=&#34;extension-updates&#34;&gt;Extension Updates&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;timescaledb 2.23.1 -&amp;gt; 2.24.0&lt;/li&gt;&#xA;&lt;li&gt;pg_search 0.20.0 -&amp;gt; 0.20.3&lt;/li&gt;&#xA;&lt;li&gt;convert 0.0.4 -&amp;gt; 0.0.5&lt;/li&gt;&#xA;&lt;li&gt;pglinter 1.0.0 -&amp;gt; 1.0.1&lt;/li&gt;&#xA;&lt;li&gt;pgdd 0.6.0 -&amp;gt; 0.6.1&lt;/li&gt;&#xA;&lt;li&gt;pg_session_jwt 0.3.3 -&amp;gt; 0.4.0&lt;/li&gt;&#xA;&lt;li&gt;pg_anon 2.4.1 -&amp;gt; 2.5.1&lt;/li&gt;&#xA;&lt;li&gt;pg_enigma 0.4.0 -&amp;gt; 0.5.0&lt;/li&gt;&#xA;&lt;li&gt;wrappers 0.5.6 -&amp;gt; 0.5.7&lt;/li&gt;&#xA;&lt;li&gt;pg_vectorize 0.25.0 -&amp;gt; 0.26.0&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;repository-updates&#34;&gt;Repository Updates&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Use the fixed Aliyun PGDG mirror repository&lt;/p&gt;&#xA;&lt;h2 id=&#34;checksums&#34;&gt;Checksums&#xA;&lt;/h2&gt;&#xA;| File | Checksum |&#xA;| --- | --- |&#xA;| [pig\-0\.7\.5\-1\.aarch64\.rpm](https://github.com/pgsty/pig/releases/download/v0.7.5/pig-0.7.5-1.aarch64.rpm) | SHA-256 · `9de11ac1404fc4100074113f2a5d50e4ec42c353b6e122a0b29edc17e53feca6` |&#xA;| [pig\-0\.7\.5\-1\.x86\_64\.rpm](https://github.com/pgsty/pig/releases/download/v0.7.5/pig-0.7.5-1.x86_64.rpm) | SHA-256 · `071d655580f1cc63b33d41a8fb49368556b7b5a276318f4bd772a6ab50e22b34` |&#xA;| [pig\-v0\.7\.5\.darwin\-amd64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v0.7.5/pig-v0.7.5.darwin-amd64.tar.gz) | SHA-256 · `befe0a8f786e5243669ed7219acde8156d13d9adb0a5c2fb88ccf0f614a51f9b` |&#xA;| [pig\-v0\.7\.5\.darwin\-arm64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v0.7.5/pig-v0.7.5.darwin-arm64.tar.gz) | SHA-256 · `4766b4e9ba390a32a7115e9f2dd6b65cf158439e28f9c099bab5c7f2e588bae2` |&#xA;| [pig\-v0\.7\.5\.linux\-amd64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v0.7.5/pig-v0.7.5.linux-amd64.tar.gz) | SHA-256 · `dc45726c5e7fccd502cacaffc94c659570844151cdc279f2cac6500836071ade` |&#xA;| [pig\-v0\.7\.5\.linux\-arm64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v0.7.5/pig-v0.7.5.linux-arm64.tar.gz) | SHA-256 · `1483cf967d4bc9c12d4c6724567644d6b88fcd2a93aaf1d317fc6ad4e1672c13` |&#xA;| [pig\_0\.7\.5\-1\_amd64\.deb](https://github.com/pgsty/pig/releases/download/v0.7.5/pig_0.7.5-1_amd64.deb) | SHA-256 · `0152b7bd254eccadd640e563845abd9fa62efa68f11c6b67a5f9f0eebfa2d92e` |&#xA;| [pig\_0\.7\.5\-1\_arm64\.deb](https://github.com/pgsty/pig/releases/download/v0.7.5/pig_0.7.5-1_arm64.deb) | SHA-256 · `7d22116d26ca09c5e2b8afbf086bb1acb1aea1148905efcc38944c18908fb105` |&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v0.7.5&lt;/strong&gt; · &lt;time datetime=&#34;2025-12-15&#34;&gt;2025-12-15&lt;/time&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>pig v0.7.3</title>
        <link>https://pig.pgsty.com/release/pig-0.7.3/</link>
        <pubDate>Tue, 25 Nov 2025 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/release/pig-0.7.3/</guid>
        <description>&lt;ul&gt;&#xA;&lt;li&gt;Add new command: &lt;code&gt;pig repo reload&lt;/code&gt; to update repo metadata&lt;/li&gt;&#xA;&lt;li&gt;Fix EL PGDG sysupdate aarch64 repo issue (now aarch64 repo ready)&lt;/li&gt;&#xA;&lt;li&gt;Fix EL10.aarch64 PGDG repo renaming issue&lt;/li&gt;&#xA;&lt;li&gt;Update extension versions&lt;/li&gt;&#xA;&lt;li&gt;Bump Pigsty version to 3.7.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\.7\.3\-1\.aarch64\.rpm](https://github.com/pgsty/pig/releases/download/v0.7.3/pig-0.7.3-1.aarch64.rpm) | SHA-256 · `786d72f6b685d6d6abf5f255f0a7de9204988a05630a26a53bfc7631823c0c6f` |&#xA;| [pig\-0\.7\.3\-1\.x86\_64\.rpm](https://github.com/pgsty/pig/releases/download/v0.7.3/pig-0.7.3-1.x86_64.rpm) | SHA-256 · `da59e24ef79d1164e348bacc43e3222e8e2778ec0e103e7ffc0c6df064758e8f` |&#xA;| [pig\-v0\.7\.3\.darwin\-amd64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v0.7.3/pig-v0.7.3.darwin-amd64.tar.gz) | SHA-256 · `73062a979749095e89abc07dd583d34d4f57908bb4ee935cf7640f129ca6a2cb` |&#xA;| [pig\-v0\.7\.3\.darwin\-arm64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v0.7.3/pig-v0.7.3.darwin-arm64.tar.gz) | SHA-256 · `ca5f5576f6d0d9be1d10cad769821be9daa62220b2fb56b94d6e4c0cede6da61` |&#xA;| [pig\-v0\.7\.3\.linux\-amd64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v0.7.3/pig-v0.7.3.linux-amd64.tar.gz) | SHA-256 · `d193b4b87cf9a6e4775b1b07709802d30f0233ccb1b728843a09decb545168d3` |&#xA;| [pig\-v0\.7\.3\.linux\-arm64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v0.7.3/pig-v0.7.3.linux-arm64.tar.gz) | SHA-256 · `e7f612df0e8e4d9fac6df3765862b9e491bb50aad651856abf7a6935986e6f99` |&#xA;| [pig\_0\.7\.3\-1\_amd64\.deb](https://github.com/pgsty/pig/releases/download/v0.7.3/pig_0.7.3-1_amd64.deb) | SHA-256 · `3d5306ce95dcf704dd498b05325d942637564b13115f1e5a5bb9ef6781df1ba6` |&#xA;| [pig\_0\.7\.3\-1\_arm64\.deb](https://github.com/pgsty/pig/releases/download/v0.7.3/pig_0.7.3-1_arm64.deb) | SHA-256 · `32e695ba2d49a741d8cd92008f8f2dec29f10754d35b732035f48517b382c30d` |&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v0.7.3&lt;/strong&gt; · &lt;time datetime=&#34;2025-11-25&#34;&gt;2025-11-25&lt;/time&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>pig v0.7.0</title>
        <link>https://pig.pgsty.com/release/pig-0.7.0/</link>
        <pubDate>Fri, 07 Nov 2025 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/release/pig-0.7.0/</guid>
        <description>&lt;ul&gt;&#xA;&lt;li&gt;Add support for Debian 13 and EL 10 distributions&lt;/li&gt;&#xA;&lt;li&gt;Massive extension updates to the latest versions with PostgreSQL 18 support&lt;/li&gt;&#xA;&lt;li&gt;Almost all Rust extensions now support PG 18 via pgrx 0.16.1&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;pig build&lt;/code&gt; command overhaul&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;pig build pkg &amp;lt;pkg&amp;gt;&lt;/code&gt; will now download source, prepare deps, and build in one go&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;pig build pgrx&lt;/code&gt; is now separated from &lt;code&gt;pig build rust&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;pig build pgrx [-v pgrx_version]&lt;/code&gt; can now use existing PG installation directly&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;pig build dep&lt;/code&gt; will now handle extension dependencies on both EL and Debian systems&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;pig build ext&lt;/code&gt; now has more compact and elegant output, can build RPM on EL without build script&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;pig build spec&lt;/code&gt; now supports downloading spec files directly from Pigsty repo&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;pig build repo&lt;/code&gt; / &lt;code&gt;pig repo add&lt;/code&gt; / &lt;code&gt;pig repo set&lt;/code&gt; now use &lt;code&gt;node,pgsql,infra&lt;/code&gt; as default repo modules instead of &lt;code&gt;node,pgdg,pigsty&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Optimized error logging&lt;/li&gt;&#xA;&lt;li&gt;Brand new catalog website based on hugo and hextra&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\.7\.0\-1\_amd64\.deb](https://github.com/pgsty/pig/releases/download/v0.7.0/pig_0.7.0-1_amd64.deb) | MD5 · `ad60f9abcde954769e46eb23de61965e` |&#xA;| [pig\_0\.7\.0\-1\_arm64\.deb](https://github.com/pgsty/pig/releases/download/v0.7.0/pig_0.7.0-1_arm64.deb) | MD5 · `aa15d7088d561528e38b2778fe8f7cf9` |&#xA;| [pig\-0\.7\.0\-1\.aarch64\.rpm](https://github.com/pgsty/pig/releases/download/v0.7.0/pig-0.7.0-1.aarch64.rpm) | MD5 · `05549fe01008e04f8d5a59d4f2a5f0b8` |&#xA;| [pig\-0\.7\.0\-1\.x86\_64\.rpm](https://github.com/pgsty/pig/releases/download/v0.7.0/pig-0.7.0-1.x86_64.rpm) | MD5 · `0cc9e46c7c72d43c127a6ad115873b67` |&#xA;| [pig\-v0\.7\.0\.darwin\-amd64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v0.7.0/pig-v0.7.0.darwin-amd64.tar.gz) | MD5 · `ddacfb052f3f3e5567a02e92fdb31cdd` |&#xA;| [pig\-v0\.7\.0\.darwin\-arm64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v0.7.0/pig-v0.7.0.darwin-arm64.tar.gz) | MD5 · `17d25b565308d3d35513e4b0d824946b` |&#xA;| [pig\-v0\.7\.0\.linux\-amd64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v0.7.0/pig-v0.7.0.linux-amd64.tar.gz) | MD5 · `ee7e055ceff638039956765fb747f80b` |&#xA;| [pig\-v0\.7\.0\.linux\-arm64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v0.7.0/pig-v0.7.0.linux-arm64.tar.gz) | MD5 · `284e674807b87447d4b33691fd7a420d` |&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v0.7.0&lt;/strong&gt; · &lt;time datetime=&#34;2025-11-07&#34;&gt;2025-11-07&lt;/time&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>pig v0.6.2</title>
        <link>https://pig.pgsty.com/release/pig-0.6.2/</link>
        <pubDate>Fri, 03 Oct 2025 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/release/pig-0.6.2/</guid>
        <description>&lt;ul&gt;&#xA;&lt;li&gt;Use official PG 18 repo instead of testing repo&lt;/li&gt;&#xA;&lt;li&gt;Add &lt;code&gt;v&lt;/code&gt; prefix when specifying pigsty version string&lt;/li&gt;&#xA;&lt;li&gt;Improved network connectivity check&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\.6\.2\-1\_amd64\.deb](https://github.com/pgsty/pig/releases/download/v0.6.2/pig_0.6.2-1_amd64.deb) | MD5 · `01f5b7dc20644226c762dbb229768347` |&#xA;| [pig\_0\.6\.2\-1\_arm64\.deb](https://github.com/pgsty/pig/releases/download/v0.6.2/pig_0.6.2-1_arm64.deb) | MD5 · `ce4f00256adc12cbea91467b7f2241cd` |&#xA;| [pig\-0\.6\.2\-1\.aarch64\.rpm](https://github.com/pgsty/pig/releases/download/v0.6.2/pig-0.6.2-1.aarch64.rpm) | MD5 · `cefc36ae8f348aede533b30836fba720` |&#xA;| [pig\-0\.6\.2\-1\.x86\_64\.rpm](https://github.com/pgsty/pig/releases/download/v0.6.2/pig-0.6.2-1.x86_64.rpm) | MD5 · `d04a287c6eb92b11ecbf99542c2db602` |&#xA;| [pig\-v0\.6\.2\.darwin\-amd64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v0.6.2/pig-v0.6.2.darwin-amd64.tar.gz) | MD5 · `e637ca86a7f38866c67686b060223d9a` |&#xA;| [pig\-v0\.6\.2\.darwin\-arm64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v0.6.2/pig-v0.6.2.darwin-arm64.tar.gz) | MD5 · `79749bc69c683586bd8d761bdf6af98e` |&#xA;| [pig\-v0\.6\.2\.linux\-amd64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v0.6.2/pig-v0.6.2.linux-amd64.tar.gz) | MD5 · `ad4f02993c7d7d8eec142f0224551bb4` |&#xA;| [pig\-v0\.6\.2\.linux\-arm64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v0.6.2/pig-v0.6.2.linux-arm64.tar.gz) | MD5 · `9793affa4a0cb60e9753e65b7cba3dca` |&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v0.6.2&lt;/strong&gt; · &lt;time datetime=&#34;2025-10-03&#34;&gt;2025-10-03&lt;/time&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>pig v0.6.1</title>
        <link>https://pig.pgsty.com/release/pig-0.6.1/</link>
        <pubDate>Thu, 14 Aug 2025 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/release/pig-0.6.1/</guid>
        <description>&lt;ul&gt;&#xA;&lt;li&gt;Add el10 and debian 13 trixie support stub&lt;/li&gt;&#xA;&lt;li&gt;Dedicated website: /docs/pig/&lt;/li&gt;&#xA;&lt;li&gt;Rebuild with go 1.25 and CI/CD pipeline&lt;/li&gt;&#xA;&lt;li&gt;Use PIGSTY PGDG mirror in mainland China&lt;/li&gt;&#xA;&lt;li&gt;Remove unused &lt;code&gt;pgdg-el10fix&lt;/code&gt; repo&lt;/li&gt;&#xA;&lt;li&gt;Use Pigsty WiltonDB mirror&lt;/li&gt;&#xA;&lt;li&gt;Add EL 10 dedicated epel repo&lt;/li&gt;&#xA;&lt;li&gt;pig version output with go build environment&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v0.6.1&lt;/strong&gt; · &lt;time datetime=&#34;2025-08-14&#34;&gt;2025-08-14&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pig/releases/tag/v0.6.1&#34;&gt;View release&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pig/archive/refs/tags/v0.6.1.tar.gz&#34;&gt;Source · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pig/archive/refs/tags/v0.6.1.zip&#34;&gt;Source · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pig&#34;&gt;pgsty/pig&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;</description>
      </item>
    <item>
        <title>pig v0.4.2</title>
        <link>https://pig.pgsty.com/release/pig-0.4.2/</link>
        <pubDate>Tue, 27 May 2025 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/release/pig-0.4.2/</guid>
        <description>&lt;ul&gt;&#xA;&lt;li&gt;Update the extension list to 421&lt;/li&gt;&#xA;&lt;li&gt;Add openhalo/orioledb support for Debian / Ubuntu&lt;/li&gt;&#xA;&lt;li&gt;pgdd &lt;a href=&#34;https://github.com/rustprooflabs/pgdd&#34;&gt;0.6.0&lt;/a&gt; (pgrx 0.14.1)&lt;/li&gt;&#xA;&lt;li&gt;convert &lt;a href=&#34;https://github.com/rustprooflabs/convert&#34;&gt;0.0.4&lt;/a&gt; (pgrx 0.14.1)&lt;/li&gt;&#xA;&lt;li&gt;pg_idkit &lt;a href=&#34;https://github.com/VADOSWARE/pg_idkit&#34;&gt;0.3.0&lt;/a&gt; (pgrx 0.14.1)&lt;/li&gt;&#xA;&lt;li&gt;pg_tokenizer.rs &lt;a href=&#34;https://github.com/tensorchord/pg_tokenizer.rs&#34;&gt;0.1.0&lt;/a&gt; (pgrx 0.13.1)&lt;/li&gt;&#xA;&lt;li&gt;pg_render &lt;a href=&#34;https://github.com/mkaski/pg_render&#34;&gt;0.1.2&lt;/a&gt; (pgrx 0.12.8)&lt;/li&gt;&#xA;&lt;li&gt;pgx_ulid &lt;a href=&#34;https://github.com/pksunkara/pgx_ulid&#34;&gt;0.2.0&lt;/a&gt; (pgrx 0.12.7)&lt;/li&gt;&#xA;&lt;li&gt;pg_ivm &lt;a href=&#34;https://github.com/sraoss/pg_ivm&#34;&gt;1.11.0&lt;/a&gt; for debian/ubuntu&lt;/li&gt;&#xA;&lt;li&gt;orioledb &lt;a href=&#34;https://github.com/orioledb/orioledb&#34;&gt;1.4.0 beta11&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Add el7 repo back&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\.4\.2\-1\_amd64\.deb](https://github.com/pgsty/pig/releases/download/v0.4.2/pig_0.4.2-1_amd64.deb) | MD5 · `bbf83fa3e3ec9a4dca82eeed921ae90a` |&#xA;| [pig\_0\.4\.2\-1\_arm64\.deb](https://github.com/pgsty/pig/releases/download/v0.4.2/pig_0.4.2-1_arm64.deb) | MD5 · `e45753335faf80a70d4f2ef1d3100d72` |&#xA;| [pig\-0\.4\.2\-1\.aarch64\.rpm](https://github.com/pgsty/pig/releases/download/v0.4.2/pig-0.4.2-1.aarch64.rpm) | MD5 · `966d60bbc2025ba9cc53393011605f9f` |&#xA;| [pig\-0\.4\.2\-1\.x86\_64\.rpm](https://github.com/pgsty/pig/releases/download/v0.4.2/pig-0.4.2-1.x86_64.rpm) | MD5 · `1f31f54da144f10039fa026b7b6e75ad` |&#xA;| [pig\-v0\.4\.2\.linux\-amd64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v0.4.2/pig-v0.4.2.linux-amd64.tar.gz) | MD5 · `1eec26c4e69b40921e209bcaa4fe257a` |&#xA;| [pig\-v0\.4\.2\.linux\-arm64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v0.4.2/pig-v0.4.2.linux-arm64.tar.gz) | MD5 · `768d43441917a3625c462ce9f2b9d4ef` |&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v0.4.2&lt;/strong&gt; · &lt;time datetime=&#34;2025-05-27&#34;&gt;2025-05-27&lt;/time&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>pig v0.4.0</title>
        <link>https://pig.pgsty.com/release/pig-0.4.0/</link>
        <pubDate>Sun, 27 Apr 2025 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/release/pig-0.4.0/</guid>
        <description>&lt;ul&gt;&#xA;&lt;li&gt;Updated extension list, available extensions reached &lt;strong&gt;407&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;Added &lt;code&gt;pig do&lt;/code&gt; subcommand for executing Pigsty playbook tasks&lt;/li&gt;&#xA;&lt;li&gt;Added &lt;code&gt;pig pt&lt;/code&gt; subcommand for wrapping Patroni command-line tools&lt;/li&gt;&#xA;&lt;li&gt;Added extension aliases: &lt;code&gt;openhalo&lt;/code&gt; and &lt;code&gt;orioledb&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Added &lt;code&gt;gitlab-ce&lt;/code&gt; / &lt;code&gt;gitlab-ee&lt;/code&gt; repository distinction&lt;/li&gt;&#xA;&lt;li&gt;Built with the latest Go 1.24.2 and upgraded dependency versions&lt;/li&gt;&#xA;&lt;li&gt;Fixed &lt;code&gt;pig ext status&lt;/code&gt; panic issue under specific conditions&lt;/li&gt;&#xA;&lt;li&gt;Fixed &lt;code&gt;pig ext scan&lt;/code&gt; unable to match several extensions&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v0.4.0&lt;/strong&gt; · &lt;time datetime=&#34;2025-04-27&#34;&gt;2025-04-27&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pig/releases/tag/v0.4.0&#34;&gt;View release&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pig/archive/refs/tags/v0.4.0.tar.gz&#34;&gt;Source · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pig/archive/refs/tags/v0.4.0.zip&#34;&gt;Source · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pig&#34;&gt;pgsty/pig&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;</description>
      </item>
    <item>
        <title>pig v0.3.4</title>
        <link>https://pig.pgsty.com/release/pig-0.3.4/</link>
        <pubDate>Sat, 05 Apr 2025 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/release/pig-0.3.4/</guid>
        <description>&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-ca9026e1-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;1&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-ca9026e1-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;curl https://repo.pigsty.io/pig &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; bash -s 0.3.4&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Routine extension metadata update&lt;/li&gt;&#xA;&lt;li&gt;Use aliyun epel mirror instead of broken tsinghua tuna mirror&lt;/li&gt;&#xA;&lt;li&gt;Bump pigsty version string&lt;/li&gt;&#xA;&lt;li&gt;Add &lt;code&gt;gitlab&lt;/code&gt; repo to the repo list&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v0.3.4&lt;/strong&gt; · &lt;time datetime=&#34;2025-04-05&#34;&gt;2025-04-05&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pig/releases/tag/v0.3.4&#34;&gt;View release&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pig/archive/refs/tags/v0.3.4.tar.gz&#34;&gt;Source · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pig/archive/refs/tags/v0.3.4.zip&#34;&gt;Source · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pig&#34;&gt;pgsty/pig&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;</description>
      </item>
    <item>
        <title>pig v0.3.3</title>
        <link>https://pig.pgsty.com/release/pig-0.3.3/</link>
        <pubDate>Tue, 25 Mar 2025 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/release/pig-0.3.3/</guid>
        <description>&lt;ul&gt;&#xA;&lt;li&gt;Add &lt;code&gt;pig build dep&lt;/code&gt; command to install extension build dependencies&lt;/li&gt;&#xA;&lt;li&gt;Update default repo list&lt;/li&gt;&#xA;&lt;li&gt;Use pigsty.io mirror for &lt;code&gt;mssql&lt;/code&gt; module (wiltondb/babelfish)&lt;/li&gt;&#xA;&lt;li&gt;Merge docker module into &lt;code&gt;infra&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Remove pg16/17 from el7 target&lt;/li&gt;&#xA;&lt;li&gt;Allow installing extensions in el7&lt;/li&gt;&#xA;&lt;li&gt;Update package alias&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v0.3.3&lt;/strong&gt; · &lt;time datetime=&#34;2025-03-25&#34;&gt;2025-03-25&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pig/releases/tag/v0.3.3&#34;&gt;View release&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pig/archive/refs/tags/v0.3.3.tar.gz&#34;&gt;Source · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pig/archive/refs/tags/v0.3.3.zip&#34;&gt;Source · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pig&#34;&gt;pgsty/pig&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;</description>
      </item>
    <item>
        <title>pig v0.3.1</title>
        <link>https://pig.pgsty.com/release/pig-0.3.1/</link>
        <pubDate>Wed, 19 Mar 2025 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/release/pig-0.3.1/</guid>
        <description>&lt;p&gt;Routine bugfix&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Fix repo format string&lt;/li&gt;&#xA;&lt;li&gt;Fix ext info links&lt;/li&gt;&#xA;&lt;li&gt;Update pg_mooncake metadata&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v0.3.1&lt;/strong&gt; · &lt;time datetime=&#34;2025-03-19&#34;&gt;2025-03-19&lt;/time&gt;&lt;/p&gt;&#xA;  &lt;ul&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pig/releases/tag/v0.3.1&#34;&gt;View release&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pig/archive/refs/tags/v0.3.1.tar.gz&#34;&gt;Source · tar.gz&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pig/archive/refs/tags/v0.3.1.zip&#34;&gt;Source · zip&lt;/a&gt;&lt;/li&gt;&#xA;    &lt;li&gt;&lt;a href=&#34;https://github.com/pgsty/pig&#34;&gt;pgsty/pig&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/div&gt;</description>
      </item>
    <item>
        <title>SOW: Postpartum Care for 100,000 Packages</title>
        <link>https://pig.pgsty.com/article/sow/</link>
        <pubDate>Tue, 11 Aug 2026 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/article/sow/</guid>
        <description>&lt;p&gt;Today, let&amp;rsquo;s talk about &lt;em&gt;Postpartum Care for Sows&lt;/em&gt;—a Chinese meme for the sort of absurdly specialized practical topic nobody expects to discuss. This time, the sow in question is my new open-source project, SOW.&lt;/p&gt;&#xA;&lt;p&gt;When you maintain a PostgreSQL distribution, compiling the software is rarely the most painful part. The real pain is dealing with everything the build produces.&lt;/p&gt;&#xA;&lt;p&gt;Pigsty maintains hundreds of components across multiple Linux distributions, CPU architectures, and major PostgreSQL versions. Multiply those combinations out, and the repository ends up with more than 100,000 artifacts: RPMs, DEBs, indexes, signatures, checksums, snapshots, and piles of metadata that exist only to keep package managers happy.&lt;/p&gt;</description>
      </item>
    <item>
        <title>A Packaging Patch Has Been Corrupting Valkey&#39;s Memory Accounting Since 2017</title>
        <link>https://pig.pgsty.com/article/valkey-bug/</link>
        <pubDate>Sun, 09 Aug 2026 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/article/valkey-bug/</guid>
        <description>&lt;p&gt;I was updating the Redis module in Pigsty recently, adding Valkey as an alternative engine, and hit an upstream bug while packaging it.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;If your Valkey runs on Debian or Ubuntu, and one day the disk fills up or the data directory permissions go wrong so snapshots stop saving — every failed save drops the instance&amp;rsquo;s memory counter a little. Once it goes below zero it wraps to &lt;code&gt;18446744073709518664&lt;/code&gt;. From then on, if you have &lt;code&gt;maxmemory&lt;/code&gt; set, the server refuses every write until you restart it.&lt;/strong&gt;&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>
    <item>
        <title>Extensions for Everyone</title>
        <link>https://pig.pgsty.com/article/extensions-for-everyone/</link>
        <pubDate>Wed, 20 May 2026 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/article/extensions-for-everyone/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;Slide deck: &lt;a href=&#34;https://vonng.com/work/extensions-for-everyone/index.html&#34;&gt;Extensions for Everyone&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;part-i-introduction&#34;&gt;Part I. Introduction&#xA;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;0-extensions-for-everyone&#34;&gt;0. Extensions for Everyone&#xA;&lt;/h3&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://vonng.com/work/extensions-for-everyone/00-extensions-for-everyone.html&#34;&gt;00. Extensions for Everyone&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Hi everyone. This talk is called &lt;strong&gt;Extensions for Everyone&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;It is about delivering PostgreSQL extensions, and about how a shared delivery layer can benefit users, extension authors, vendors, and PostgreSQL hackers.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://vonng.com/work/extensions-for-everyone/00-extensions-for-everyone.html&#34;&gt;&lt;img class=&#34;td-image&#34; src=&#34;https://pig.pgsty.com/article/extensions-for-everyone/00.webp&#34; alt=&#34;00. Extensions for Everyone&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;1-who-am-i&#34;&gt;1. Who am I&#xA;&lt;/h3&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://vonng.com/work/extensions-for-everyone/01-who-am-i.html&#34;&gt;01. Who am I&lt;/a&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>The PostgreSQL Extension Encyclopedia: Bilingual and Ready to Use</title>
        <link>https://pig.pgsty.com/article/pgext-pedia/</link>
        <pubDate>Fri, 13 Mar 2026 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/article/pgext-pedia/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;Directory: &lt;a href=&#34;https://pigsty.cc/ext/&#34;&gt;Chinese&lt;/a&gt; · &lt;a href=&#34;https://pigsty.io/ext/&#34;&gt;English&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Extensions are the soul of PostgreSQL. Without them, PostgreSQL is just a very good relational database. With them, it becomes a platform that can swallow entire categories of database workloads.&lt;/p&gt;&#xA;&lt;p&gt;The problem is that the extension ecosystem has long been awkward to use. People struggle to &lt;strong&gt;find extensions, understand them, and install them&lt;/strong&gt;. You search GitHub for README files, check PGXN for packages, and then wrestle with OS and PG version compatibility by hand.&lt;/p&gt;</description>
      </item>
    <item>
        <title>464 Extensions, Ready Out of the Box: The New PostgreSQL Extension Catalog</title>
        <link>https://pig.pgsty.com/article/pg-ext-catalog-464/</link>
        <pubDate>Sun, 08 Mar 2026 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/article/pg-ext-catalog-464/</guid>
        <description>&lt;p&gt;Today I put Claude Code to work on another genuinely useful project: a completely new PostgreSQL extension catalog. You can find it at &lt;a href=&#34;https://pigsty.io/ext/&#34;&gt;pigsty.io/ext&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;This is already the catalog&amp;rsquo;s fifth incarnation. After a long detour, it has returned to the Hugo + Docsy stack used by the first version and has been folded back into the main Pigsty website. That journey is a story in its own right, which I will save for later. First, let us look at what this version actually does.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Forging a China-Rooted, Global PostgreSQL Distro</title>
        <link>https://pig.pgsty.com/article/forge-a-pg-distro/</link>
        <pubDate>Thu, 27 Nov 2025 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/article/forge-a-pg-distro/</guid>
        <description>&lt;p&gt;Hi, I’m Feng Ruohang, author of Pigsty and an independent open-source contributor. Let’s talk about &lt;strong&gt;how to build a PostgreSQL distribution that is rooted in China and useful to the whole world.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;The question isn’t whether PG will win—it already has. The question is: &lt;strong&gt;What role do we play in that victory?&lt;/strong&gt; Spectator or protagonist? Follower or leader?&lt;/p&gt;&#xA;&lt;h2 id=&#34;why-now&#34;&gt;Why now&#xA;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;postgresql-is-the-default-database&#34;&gt;PostgreSQL is the default database&#xA;&lt;/h3&gt;&#xA;&lt;p&gt;Stack Overflow’s 2025 survey shows &lt;strong&gt;58.2%&lt;/strong&gt; of professional developers use PG—18.6 points ahead of MySQL, and the gap is widening. New SaaS, AI startups, even OpenAI default to PG. DB-Engines rankings and JetBrains surveys tell the same story.&lt;/p&gt;</description>
      </item>
    <item>
        <title>On Trusting Open-Source Supply Chains</title>
        <link>https://pig.pgsty.com/article/tuna-mirror-site/</link>
        <pubDate>Sat, 22 Nov 2025 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/article/tuna-mirror-site/</guid>
        <description>&lt;p&gt;Yesterday’s post “&lt;a href=&#34;https://pig.pgsty.com/article/pg-mirror-pigsty/&#34;&gt;PG ‘Export Controls’ and Supply-Chain Trust&lt;/a&gt;” drew a comment from someone claiming to be an admin at a university mirror site (Tsinghua TUNA):&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;“As a university mirror admin, calling us ‘lying flat’ or ‘irresponsible’ is unfair and demoralizing.”&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;img class=&#34;td-image&#34; src=&#34;https://pig.pgsty.com/article/tuna-mirror-site/comment.webp&#34; alt=&#34;Comment from a university mirror administrator&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&lt;p&gt;I replied:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Thanks for the feedback and for everything TUNA/university mirrors have done over the years. I see the PostgreSQL repo &lt;a href=&#34;https://pig.pgsty.com/article/tuna-mirror-site/tuna.webp&#34;&gt;had synced again at the time&lt;/a&gt;—credit where it’s due.&lt;/p&gt;</description>
      </item>
    <item>
        <title>PG Extension Cloud: Unlocking PostgreSQL’s Entire Ecosystem</title>
        <link>https://pig.pgsty.com/article/pgext-cloud/</link>
        <pubDate>Wed, 12 Nov 2025 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/article/pgext-cloud/</guid>
        <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://mp.weixin.qq.com/s/oHHzhbbt5suSxnJhyxTwQQ&#34;&gt;WeChat link&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;PostgreSQL’s killer feature is extensibility. PostGIS, pgvector, pg_duckdb, pg_search—extensions turn PG into GIS engine, vector DB, analytics warehouse, search cluster. But compiling and shipping them reliably across distros is a nightmare, especially when official mirrors freeze or your network can’t reach upstream.&lt;/p&gt;&#xA;&lt;p&gt;After two years of grinding, I’m launching &lt;a href=&#34;https://pgext.cloud&#34;&gt;&lt;strong&gt;PGEXT.CLOUD&lt;/strong&gt;&lt;/a&gt;: the infrastructure for discovering, packaging, and installing PG extensions.&lt;/p&gt;&#xA;&lt;h2 id=&#34;whats-inside&#34;&gt;What’s inside&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Extension catalog&lt;/strong&gt; – Browse &lt;a href=&#34;https://pgext.cloud/list&#34;&gt;431 extensions&lt;/a&gt; with metadata, docs, compatibility matrices, how-to guides. Think “Wikipedia for PG extensions.”&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Binary repos&lt;/strong&gt; – Native RPM/DEB packages for &lt;strong&gt;14 Linux releases&lt;/strong&gt; and &lt;strong&gt;6 major PG versions&lt;/strong&gt;. No Docker-only traps.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;&lt;code&gt;pig&lt;/code&gt; CLI&lt;/strong&gt; – A 4 MB Go tool that wraps your existing package manager and hides the matrix of platforms/versions.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Try it on a fresh server/container:&lt;/p&gt;</description>
      </item>
    <item>
        <title>Build and Packaging: An Overlooked but Scarce Skill</title>
        <link>https://pig.pgsty.com/article/packaging-skill/</link>
        <pubDate>Mon, 18 Aug 2025 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/article/packaging-skill/</guid>
        <description>&lt;p&gt;I was recently chatting with my friend Yurii, the founder of Omnigres. He wants to hire a PostgreSQL packaging expert and has even coined a title for the role: EEE, or Extension Ecosystem Engineer. It is an interesting idea. The &lt;a href=&#34;https://github.com/omnigres/rfc/pull/2/files&#34;&gt;job description is public&lt;/a&gt;, so I have included it at the end.&lt;/p&gt;&#xA;&lt;h2 id=&#34;a-scarce-skill-linux-packaging&#34;&gt;A Scarce Skill: Linux Packaging&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;I think this job description asks for a little too much: DevRel + SRE + DBA + build engineer + PostgreSQL specialist, all in one person. It almost reads as though it were written for me. But I have genuinely never met anyone else with that exact combination, so I advised Yurii that hiring a build engineer who knows Debian and Enterprise Linux packaging inside out would be more realistic. Even that will be difficult, though. Scarce hardly begins to describe people who understand build and packaging work. DevRel talent may be scarcer still.&lt;/p&gt;</description>
      </item>
    <item>
        <title>The PostgreSQL &#39;Supply Cut&#39; and Trust Issues in Software Supply Chain</title>
        <link>https://pig.pgsty.com/article/pg-mirror-pigsty/</link>
        <pubDate>Fri, 15 Aug 2025 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/article/pg-mirror-pigsty/</guid>
        <description>&lt;p&gt;This month saw a high-profile &amp;ldquo;open source supply cut&amp;rdquo; incident — &lt;a href=&#34;https://vonng.com/en/cloud/kubesphere-rugpull&#34;&gt;KubeSphere deleting images and running away&lt;/a&gt;,&#xA;but there&amp;rsquo;s another slightly more subtle &amp;ldquo;chokepoint case&amp;rdquo; I mentioned last month — &lt;a href=&#34;https://pig.pgsty.com/article/pg-mirror-break/&#34;&gt;&amp;ldquo;Chokepoint: PGDG Cuts Mirror Sync Channels&amp;rdquo;&lt;/a&gt;.&#xA;This &amp;ldquo;PostgreSQL supply cut&amp;rdquo; played the role of litmus test, nicely revealing the true colors of various database and cloud vendors.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;m deeply disappointed and have stopped treating domestic cloud vendors and university mirrors as upstream software supply chain sources, directly building my own up-to-date domestic mirror of PGDG YUM/APT repositories.&lt;/p&gt;</description>
      </item>
    <item>
        <title>PGDG Cuts Off Mirror Sync Channel</title>
        <link>https://pig.pgsty.com/article/pg-mirror-break/</link>
        <pubDate>Mon, 07 Jul 2025 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/article/pg-mirror-break/</guid>
        <description>&lt;p&gt;Recently, while building Pigsty offline packages, I discovered that the PostgreSQL version installed during local testing wasn&amp;rsquo;t quite right - 17.4 was behind the latest 17.5 by one minor version. Also, when testing on EL10,&#xA;I found several repositories were throwing errors. Strangely, using the global default repository in Hong Kong worked fine, but once using Chinese mirror sites locally, errors occurred.&lt;/p&gt;&#xA;&lt;img class=&#34;td-image&#34; src=&#34;https://pig.pgsty.com/article/pg-mirror-break/tsinghua.webp&#34; alt=&#34;TUNA PostgreSQL mirror stopped at an old sync timestamp&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&lt;p&gt;Upon closer inspection, I found that domestic mirror sites had all lost synchronization with the PostgreSQL upstream repository: Tsinghua University Open-Source Software Mirror Site (TUNA) last successful sync was May 16th,&#xA;while Alibaba-Cloud Mirror Site&amp;rsquo;s last sync timestamp was March 31, 2025. Foreign mirror sites like mirrors.xtom.de also had this problem, with last sync on June 20th, though you could clearly see signs of manual updates and disconnection from sync.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Postgres Extension Day - See You There!</title>
        <link>https://pig.pgsty.com/article/pgext-day/</link>
        <pubDate>Wed, 09 Apr 2025 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/article/pgext-day/</guid>
        <description>&lt;p&gt;The annual PostgreSQL developer conference will be held in Montreal in May. Like the first PG Con.Dev, there&amp;rsquo;s also an additional dedicated event - Postgres Extensions Day, focusing on all aspects of PG extension development, delivery, and release. The agenda has just been released with 14 sessions scheduled.&lt;/p&gt;&#xA;&lt;img class=&#34;td-image&#34; src=&#34;https://pig.pgsty.com/article/pgext-day/featured.webp&#34; alt=&#34;PGEXT Day 2025 event banner&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&lt;p&gt;This time, I won&amp;rsquo;t just be an audience member - my talk is the first session of the afternoon: &amp;ldquo;The Missing Postgres Extension Repo and Package Manager&amp;rdquo;. I&amp;rsquo;ll introduce Pigsty&amp;rsquo;s extension repository and the pig package manager, sharing challenges and issues encountered when building and maintaining PG extensions, and sharing experiences, lessons, and insights from Chinese developers and database vendors (solo practitioners, haha) with global developers.&lt;/p&gt;</description>
      </item>
    <item>
        <title>Pig, The Postgres Extension Wizard</title>
        <link>https://pig.pgsty.com/article/pig/</link>
        <pubDate>Sun, 29 Dec 2024 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/article/pig/</guid>
        <description>&lt;p&gt;Ever wished installing or upgrading PostgreSQL extensions didn’t feel like digging through outdated readmes, cryptic configure scripts, or random GitHub forks &amp;amp; patches? The painful truth is that Postgres’s richness of extension often comes at the cost of complicated setups—especially if you’re juggling multiple distros or CPU architectures.&lt;/p&gt;&#xA;&lt;p&gt;Enter &lt;strong&gt;Pig&lt;/strong&gt;, a Go-based package manager built to tame Postgres and its ecosystem of &lt;a href=&#34;https://pgext.cloud/list&#34;&gt;440+&lt;/a&gt; extensions in one fell swoop. TimescaleDB, Citus, PGVector, 20+ Rust extensions, plus every must-have piece to &lt;a href=&#34;https://pigsty.io/docs/app/supabase/&#34;&gt;self-host&lt;/a&gt; Supabase — Pig’s unified CLI makes them all effortlessly accessible. It cuts out messy source builds and half-baked repos, offering version-aligned RPM/DEB packages that work seamlessly across Debian, Ubuntu, and RedHat flavors. No guesswork, no drama.&lt;/p&gt;</description>
      </item>
    <item>
        <title>The Ideal Way to Deliver PostgreSQL Extensions</title>
        <link>https://pig.pgsty.com/article/pg-ext-repo/</link>
        <pubDate>Sat, 02 Nov 2024 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/article/pg-ext-repo/</guid>
        <description>&lt;p&gt;&lt;a href=&#34;https://vonng.com/en/pg/pg-eat-db-world/&#34;&gt;&lt;strong&gt;PostgreSQL Is Eating the Database World&lt;/strong&gt;&lt;/a&gt; through the power of &lt;strong&gt;extensibility&lt;/strong&gt;.&#xA;When this post was first published, the repository packaged &lt;strong&gt;390&lt;/strong&gt; PostgreSQL extensions as RPM / DEB packages for mainstream Linux distributions.&#xA;The live &lt;a href=&#34;https://pigsty.io/ext/list/&#34;&gt;Pigsty Extension Catalog&lt;/a&gt; has kept growing since then.&lt;/p&gt;&#xA;&lt;p&gt;I believe the PostgreSQL community has reached a consensus on the importance of extensions.&#xA;So the real question now becomes: &lt;strong&gt;&amp;ldquo;What should we do about it?&amp;rdquo;&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;What&amp;rsquo;s the primary problem with PostgreSQL extensions? In my opinion, it’s their &lt;strong&gt;accessibility&lt;/strong&gt;.&#xA;Extensions are useless if most users can’t easily install and enable them. But it&amp;rsquo;s not that easy.&lt;/p&gt;</description>
      </item>
    
  </channel>
</rss>
