<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>build on PIG</title>
    <link>https://pig.pgsty.com/tags/build/</link>
    <description>Recent content in build 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/build/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.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>pig v1.4.2</title>
        <link>https://pig.pgsty.com/release/pig-1.4.2/</link>
        <pubDate>Thu, 18 Jun 2026 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/release/pig-1.4.2/</guid>
        <description>&lt;ul&gt;&#xA;&lt;li&gt;Refresh the built-in extension catalog from &lt;strong&gt;510&lt;/strong&gt; to &lt;strong&gt;524&lt;/strong&gt; available extensions. This adds 14 extensions: &lt;code&gt;pg_stl&lt;/code&gt;, &lt;code&gt;pgmnemo&lt;/code&gt;, &lt;code&gt;psql_bm25s&lt;/code&gt;, &lt;code&gt;pg_orca&lt;/code&gt;, &lt;code&gt;pg_sorted_heap&lt;/code&gt;, &lt;code&gt;graph&lt;/code&gt;, &lt;code&gt;pgrdf&lt;/code&gt;, &lt;code&gt;fsm_core&lt;/code&gt;, &lt;code&gt;jsonschema&lt;/code&gt;, &lt;code&gt;pg_durable&lt;/code&gt;, &lt;code&gt;pg_mockable&lt;/code&gt;, &lt;code&gt;pg_uuid_v8&lt;/code&gt;, &lt;code&gt;pg_stat_backtrace&lt;/code&gt;, and &lt;code&gt;pg_projection&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Update package metadata for 48 existing extensions, including &lt;code&gt;timescaledb 2.28.0&lt;/code&gt;, &lt;code&gt;timescaledb_toolkit 1.23.0&lt;/code&gt;, &lt;code&gt;pg_task 2.1.29&lt;/code&gt;, &lt;code&gt;pg_search 0.24.0&lt;/code&gt;, &lt;code&gt;pg_clickhouse 0.3.2&lt;/code&gt;, &lt;code&gt;pg_graphql 1.6.1&lt;/code&gt;, &lt;code&gt;documentdb 0.112&lt;/code&gt;, &lt;code&gt;toastinfo 1.7&lt;/code&gt;, &lt;code&gt;wrappers 0.6.1&lt;/code&gt;, and &lt;code&gt;pgclone 4.3.2&lt;/code&gt;. No extensions were removed or demoted.&lt;/li&gt;&#xA;&lt;li&gt;Add PostgreSQL 19 beta install/build/config support. PG19 is accepted as an explicit installable major, while PostgreSQL 18 remains the stable default for auto-detection, catalog display, and latest-version aliases.&lt;/li&gt;&#xA;&lt;li&gt;Add &lt;code&gt;pg19&lt;/code&gt; package aliases and PG19 category alias resolution. PG19 category aliases borrow the PostgreSQL 18 visibility template and limit beta package expansion to PGDG-origin entries.&lt;/li&gt;&#xA;&lt;li&gt;Teach &lt;code&gt;pig sty conf -v 19&lt;/code&gt; to enable the &lt;code&gt;beta&lt;/code&gt; repository module when the template supports it, and emit clear warnings when a template is not tuned for PG19 beta or cannot enable the beta repo automatically.&lt;/li&gt;&#xA;&lt;li&gt;Fix Patroni cluster operations by passing the resolved &lt;code&gt;CLUSTER_NAME&lt;/code&gt; to &lt;code&gt;patronictl restart&lt;/code&gt;, &lt;code&gt;reinit&lt;/code&gt;, &lt;code&gt;switchover&lt;/code&gt;, and &lt;code&gt;failover&lt;/code&gt;; &lt;code&gt;pig pt list&lt;/code&gt; also accepts an optional cluster name.&lt;/li&gt;&#xA;&lt;li&gt;Bump the default &lt;code&gt;pgrx&lt;/code&gt; version for &lt;code&gt;pig build pgrx&lt;/code&gt; from &lt;code&gt;0.18.0&lt;/code&gt; to &lt;code&gt;0.18.1&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Bump release metadata to &lt;code&gt;v1.4.2&lt;/code&gt;, refresh Go module checksums, and add focused tests for PG19 aliases/config generation plus Patroni cluster-scope behavior.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;checksums&#34;&gt;Checksums&#xA;&lt;/h2&gt;&#xA;| File | Checksum |&#xA;| --- | --- |&#xA;| [pig\-1\.4\.2\-1\.aarch64\.rpm](https://github.com/pgsty/pig/releases/download/v1.4.2/pig-1.4.2-1.aarch64.rpm) | SHA-256 · `790afe4d6622cb041b06c622bc466cb1b2960a77487f368238027fb4a3a5ef93` |&#xA;| [pig\-1\.4\.2\-1\.x86\_64\.rpm](https://github.com/pgsty/pig/releases/download/v1.4.2/pig-1.4.2-1.x86_64.rpm) | SHA-256 · `ef918166b38a5eb1d108a928718c9e2cb8c3590e5a1f72effee942faca9b4bea` |&#xA;| [pig\-v1\.4\.2\.darwin\-amd64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v1.4.2/pig-v1.4.2.darwin-amd64.tar.gz) | SHA-256 · `3e37ff22aed076cbdd453911dc89fcc9340b1a4faac62c0580094bc1eb2d6273` |&#xA;| [pig\-v1\.4\.2\.darwin\-arm64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v1.4.2/pig-v1.4.2.darwin-arm64.tar.gz) | SHA-256 · `5eb7db776cb149331ebb33e3e6164e1cf711d0107941b92c6930a1d4c4b4eb23` |&#xA;| [pig\-v1\.4\.2\.linux\-amd64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v1.4.2/pig-v1.4.2.linux-amd64.tar.gz) | SHA-256 · `c536c324e40a861217e31f4699ee5f0e6c2daeb4e6f0f0e8cc5f606da9d787eb` |&#xA;| [pig\-v1\.4\.2\.linux\-arm64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v1.4.2/pig-v1.4.2.linux-arm64.tar.gz) | SHA-256 · `8b2d5746264a95269535e5a426f78fe0020f73fa3391fcb613f274551c4786ab` |&#xA;| [pig\_1\.4\.2\-1\_amd64\.deb](https://github.com/pgsty/pig/releases/download/v1.4.2/pig_1.4.2-1_amd64.deb) | SHA-256 · `566e06f6da1fe9d635c41258d20cd9ff10de4e6e74b3b41ba2c6204ba22743c8` |&#xA;| [pig\_1\.4\.2\-1\_arm64\.deb](https://github.com/pgsty/pig/releases/download/v1.4.2/pig_1.4.2-1_arm64.deb) | SHA-256 · `8c09e741975cb2f74b0f88c5995a8fa43d6c30a9a7ab7aaf0b8d83a7c66e1fc1` |&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v1.4.2&lt;/strong&gt; · &lt;time datetime=&#34;2026-06-18&#34;&gt;2026-06-18&lt;/time&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>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>pig v1.3.2</title>
        <link>https://pig.pgsty.com/release/pig-1.3.2/</link>
        <pubDate>Mon, 23 Mar 2026 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/release/pig-1.3.2/</guid>
        <description>&lt;p&gt;Routine maintenance release.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Refresh a batch of extension version metadata and catalog entries.&lt;/li&gt;&#xA;&lt;li&gt;Add the &lt;code&gt;pig pg tune&lt;/code&gt; subcommand to generate PostgreSQL tuning parameters from hardware resources and workload profiles.&lt;/li&gt;&#xA;&lt;li&gt;Add &lt;code&gt;pdu&lt;/code&gt; and &lt;code&gt;pgdog&lt;/code&gt; source package aliases for &lt;code&gt;pig build get&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Migrate extension catalog URLs from &lt;code&gt;pgext.cloud&lt;/code&gt; to &lt;code&gt;pigsty.io/ext&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\.3\.2\-1\.aarch64\.rpm](https://github.com/pgsty/pig/releases/download/v1.3.2/pig-1.3.2-1.aarch64.rpm) | SHA-256 · `d760f47652ff3e2e4a61eb7b9a68ca68665b2b36c187c52f5eaf50d2f007d8f3` |&#xA;| [pig\-1\.3\.2\-1\.x86\_64\.rpm](https://github.com/pgsty/pig/releases/download/v1.3.2/pig-1.3.2-1.x86_64.rpm) | SHA-256 · `c2e02e62497f4c2055a9b448ddb3a24c618fcd488580c28b2b9a0e7cedacef55` |&#xA;| [pig\-v1\.3\.2\.darwin\-amd64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v1.3.2/pig-v1.3.2.darwin-amd64.tar.gz) | SHA-256 · `b8d066ddefa4530946c74c30e7e4acdab6abf8da70a47dcfe2a77719b79e397f` |&#xA;| [pig\-v1\.3\.2\.darwin\-arm64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v1.3.2/pig-v1.3.2.darwin-arm64.tar.gz) | SHA-256 · `a90e78d879fd720fd2865870c696aed7952558d5ae75591deced3121f2aab1f9` |&#xA;| [pig\-v1\.3\.2\.linux\-amd64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v1.3.2/pig-v1.3.2.linux-amd64.tar.gz) | SHA-256 · `2fe3a9ffbb6383154dfd25ed79420b210828eabf6a96a8af6e8feb9d744b9559` |&#xA;| [pig\-v1\.3\.2\.linux\-arm64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v1.3.2/pig-v1.3.2.linux-arm64.tar.gz) | SHA-256 · `522290aaf14f98f0bae83ce75cc76749f2a4e72742eb5c3cba36a1d2fa4d12c2` |&#xA;| [pig\_1\.3\.2\-1\_amd64\.deb](https://github.com/pgsty/pig/releases/download/v1.3.2/pig_1.3.2-1_amd64.deb) | SHA-256 · `d6c1cf2c52962045f6bbfb2a669058e7f903088526591d6c939e7723f3928d30` |&#xA;| [pig\_1\.3\.2\-1\_arm64\.deb](https://github.com/pgsty/pig/releases/download/v1.3.2/pig_1.3.2-1_arm64.deb) | SHA-256 · `4352385c629b26a1837054445a546da89591499848b557699c2fb70fde9377aa` |&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v1.3.2&lt;/strong&gt; · &lt;time datetime=&#34;2026-03-23&#34;&gt;2026-03-23&lt;/time&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>pig v1.3.1</title>
        <link>https://pig.pgsty.com/release/pig-1.3.1/</link>
        <pubDate>Thu, 05 Mar 2026 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/release/pig-1.3.1/</guid>
        <description>&lt;p&gt;This is a small maintenance release from &lt;code&gt;v1.3.0&lt;/code&gt; to &lt;code&gt;v1.3.1&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;PG13 install/build support is removed because PGDG upstream has dropped PG13 archive/distribution.&lt;/li&gt;&#xA;&lt;li&gt;Active supported PostgreSQL major versions are now &lt;strong&gt;14-18&lt;/strong&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Refresh extension catalog (&lt;code&gt;461 -&amp;gt; 464&lt;/code&gt;), including &lt;code&gt;pg_pinyin&lt;/code&gt;, &lt;code&gt;pg_eviltransform&lt;/code&gt;, and &lt;code&gt;qos&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Percona PPG upstream repo is bumped to &lt;code&gt;18.3&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Fix &lt;code&gt;pig build&lt;/code&gt; dependency/build sync issues; rsync now uses &lt;code&gt;--keep-dirlinks&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;In YUM repos, Nginx is split out from &lt;code&gt;infra&lt;/code&gt; into its own module index (&lt;code&gt;nginx&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\.3\.1\-1\.aarch64\.rpm](https://github.com/pgsty/pig/releases/download/v1.3.1/pig-1.3.1-1.aarch64.rpm) | SHA-256 · `196e57c7dd46cdedd90ab75965a766f74aabc3bc23ddc8fb757473647bed7b8f` |&#xA;| [pig\-1\.3\.1\-1\.x86\_64\.rpm](https://github.com/pgsty/pig/releases/download/v1.3.1/pig-1.3.1-1.x86_64.rpm) | SHA-256 · `e4bdd52ef635524d5aec95f6a5abd76bd49940584ecbb00bd309a4f9186292ac` |&#xA;| [pig\-v1\.3\.1\.darwin\-amd64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v1.3.1/pig-v1.3.1.darwin-amd64.tar.gz) | SHA-256 · `4f3f9479344c158e1c5edc3003471be6b595c01b7d86104bf676b34f8faadce5` |&#xA;| [pig\-v1\.3\.1\.darwin\-arm64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v1.3.1/pig-v1.3.1.darwin-arm64.tar.gz) | SHA-256 · `05ae2f550ef5062ab5714518a24bbf52f48079ca6d0190359fae5b8f4cb7f20d` |&#xA;| [pig\-v1\.3\.1\.linux\-amd64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v1.3.1/pig-v1.3.1.linux-amd64.tar.gz) | SHA-256 · `940645497e907e56bfd387a478e580ac930aaa72593cc9d04225a08b37880ec4` |&#xA;| [pig\-v1\.3\.1\.linux\-arm64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v1.3.1/pig-v1.3.1.linux-arm64.tar.gz) | SHA-256 · `8b2c204fd6c933a1097cd1cd0ce491b02ba5c0025626a331a199684ceca3ab43` |&#xA;| [pig\_1\.3\.1\-1\_amd64\.deb](https://github.com/pgsty/pig/releases/download/v1.3.1/pig_1.3.1-1_amd64.deb) | SHA-256 · `1cfc23d147795cc4c1ea9596e6978d79ff1ec34c02850fbb224f7c2844548ea5` |&#xA;| [pig\_1\.3\.1\-1\_arm64\.deb](https://github.com/pgsty/pig/releases/download/v1.3.1/pig_1.3.1-1_arm64.deb) | SHA-256 · `e495678ae1c762194a56e8c9969fd2109e7a59830f34a4747039fb978f7820cc` |&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v1.3.1&lt;/strong&gt; · &lt;time datetime=&#34;2026-03-05&#34;&gt;2026-03-05&lt;/time&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>pig v1.3.0</title>
        <link>https://pig.pgsty.com/release/pig-1.3.0/</link>
        <pubDate>Fri, 27 Feb 2026 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/release/pig-1.3.0/</guid>
        <description>&lt;p&gt;This release is a focused engineering update from &lt;code&gt;v1.2.0&lt;/code&gt; to &lt;code&gt;v1.3.0&lt;/code&gt;: 15 commits, 74 files changed, &lt;code&gt;+1184 / -236&lt;/code&gt; LOC.&lt;/p&gt;&#xA;&lt;p&gt;It hardens the &lt;code&gt;pig build&lt;/code&gt; pipeline and extends catalog/alias coverage, increasing total extensions from &lt;strong&gt;451&lt;/strong&gt; to &lt;strong&gt;461&lt;/strong&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;Build source download improvements (&lt;code&gt;pig build get&lt;/code&gt;):&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Parse multi-source &lt;code&gt;Source&lt;/code&gt; fields (whitespace/newline/tab) and deduplicate entries.&lt;/li&gt;&#xA;&lt;li&gt;Add source mappings for &lt;code&gt;agensgraph&lt;/code&gt; / &lt;code&gt;agentsgraph&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;pgedge&lt;/code&gt; now downloads both &lt;code&gt;postgresql-17.9.tar.gz&lt;/code&gt; and &lt;code&gt;spock-5.0.5.tar.gz&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Dependency resolution and install improvements (&lt;code&gt;pig build dep&lt;/code&gt;):&#xA;&lt;ul&gt;&#xA;&lt;li&gt;RPM dependencies can infer PG major from &lt;code&gt;pgmajorversion&lt;/code&gt; in spec files; missing spec/control files now return explicit errors.&lt;/li&gt;&#xA;&lt;li&gt;DEB dependency parsing now covers &lt;code&gt;Build-Depends&lt;/code&gt; / &lt;code&gt;Build-Depends-Arch&lt;/code&gt; / &lt;code&gt;Build-Depends-Indep&lt;/code&gt;, including multiline fields, alternatives, arch qualifiers, and build-profile cleanup.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;PGVERSION&lt;/code&gt; placeholders can be expanded from &lt;code&gt;--pg&lt;/code&gt;, installed PG majors, or extension metadata.&lt;/li&gt;&#xA;&lt;li&gt;Dependency install failures are downgraded to warnings so batch runs continue.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;DEB build result semantics fixed (&lt;code&gt;pig build ext/pkg&lt;/code&gt;):&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Successful build command exit code is authoritative; artifact discovery is best-effort warning only.&lt;/li&gt;&#xA;&lt;li&gt;Suppress empty package-list banners on successful no-artifact runs.&lt;/li&gt;&#xA;&lt;li&gt;Partial artifacts are warnings, not failures.&lt;/li&gt;&#xA;&lt;li&gt;Build logs now print real metadata source/version values instead of always composing &lt;code&gt;name-version&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Better machine-readable ext operation output (&lt;code&gt;pig ext rm/update&lt;/code&gt;):&#xA;&lt;ul&gt;&#xA;&lt;li&gt;After alias resolution, &lt;code&gt;removed/updated&lt;/code&gt; now returns resolved package names instead of extension aliases.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Extension catalog and alias updates:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;New aliases: &lt;code&gt;agensgraph&lt;/code&gt; / &lt;code&gt;agens&lt;/code&gt;, &lt;code&gt;pgedge&lt;/code&gt;, &lt;code&gt;babelfishpg&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;openhalodb&lt;/code&gt; is aligned to PG14 package naming; &lt;code&gt;ivorysqldb&lt;/code&gt; naming is aligned.&lt;/li&gt;&#xA;&lt;li&gt;Fork metadata and availability matrix were refreshed in batch (including &lt;code&gt;timescaledb&lt;/code&gt;, &lt;code&gt;pgmq&lt;/code&gt;, &lt;code&gt;orioledb&lt;/code&gt;, &lt;code&gt;documentdb&lt;/code&gt;, &lt;code&gt;pg_tde&lt;/code&gt;, and &lt;code&gt;babelfishpg_*&lt;/code&gt; entries).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Engineering and release:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Version bumped to &lt;code&gt;v1.3.0&lt;/code&gt; (including a &lt;code&gt;v1.2.1&lt;/code&gt; transition commit), copyright year moved to 2026, and README refreshed for 461 extensions and current alias docs.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&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;Structured &lt;code&gt;removed/updated&lt;/code&gt; fields in &lt;code&gt;pig ext rm/update&lt;/code&gt; now contain package names. Automation that matched extension aliases should update parsing logic.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;new-extensions-451---461&#34;&gt;New Extensions (451 -&amp;gt; 461)&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--static&#34;&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;Extension&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;Version&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;aux_mysql&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.5&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;openHalo MySQL compatibility helper (PG14)&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;gb18030_2022&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;IvorySQL charset conversion module&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;ivorysql_ora&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;IvorySQL Oracle compatibility extension&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;ora_btree_gin&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Oracle datatype GIN indexing support&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;ora_btree_gist&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Oracle datatype GiST indexing support&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;pg_get_functiondef&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Function definition utility&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;plisql&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;PL/iSQL procedural language&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;snowflake&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;2.4&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;pgEdge Snowflake-style ID generator&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;spock&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;5.0.5&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;pgEdge multi-master logical replication extension&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;lolor&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.2.2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;pgEdge logical-replication-friendly large objects&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;full-commit-list-v120v130&#34;&gt;Full Commit List (&lt;code&gt;v1.2.0..v1.3.0&lt;/code&gt;)&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;b8ecf8d&lt;/code&gt; bump version string to 1.2.1&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;55df9a4&lt;/code&gt; build/get: support multi-source parsing and pgedge spock tarball&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;da8e347&lt;/code&gt; add agensgraph and pgedge alias&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;86edbd7&lt;/code&gt; ext: show resolved package names in rm/update results&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;ef3c905&lt;/code&gt; build/dep: improve rpm/deb dependency resolution&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;7144e09&lt;/code&gt; ext/catalog: refresh fork metadata and matrix entries&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;befffbf&lt;/code&gt; build(deb): treat successful build command as authoritative result&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;33fd517&lt;/code&gt; build(deb): avoid empty package list banner on successful no-artifact runs&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;3b450f2&lt;/code&gt; avoid concat ext pkg name with version when download&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;33847ab&lt;/code&gt; fix(ext): satisfy staticcheck S1011 in rm/update&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;b8b917d&lt;/code&gt; build(dep): treat dependency install failures as warnings&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;8110c00&lt;/code&gt; adjust ivorysqldb babelfishpg alias&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;fac9faf&lt;/code&gt; bump version to 1.3.0&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;1f88f06&lt;/code&gt; chore: update copyright year to 2026&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;c804757&lt;/code&gt; v1.3.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\-1\.3\.0\-1\.aarch64\.rpm](https://github.com/pgsty/pig/releases/download/v1.3.0/pig-1.3.0-1.aarch64.rpm) | SHA-256 · `e8409cc8165139028323094bebede495d4b0d0a52616d1aecd8c7ecd3fb7471d` |&#xA;| [pig\-1\.3\.0\-1\.x86\_64\.rpm](https://github.com/pgsty/pig/releases/download/v1.3.0/pig-1.3.0-1.x86_64.rpm) | SHA-256 · `73645ea4b9ce27b44b2c7f4587e6218cdbbba045f32dd45c942e03cf9020c61e` |&#xA;| [pig\-v1\.3\.0\.darwin\-amd64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v1.3.0/pig-v1.3.0.darwin-amd64.tar.gz) | SHA-256 · `a2d8a14b11606f4a23ca7b929686ff020fc8ce29e7cec21074f710f981aee6d4` |&#xA;| [pig\-v1\.3\.0\.darwin\-arm64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v1.3.0/pig-v1.3.0.darwin-arm64.tar.gz) | SHA-256 · `fffb94bfc1808b45d8bef3fb63783c1a8e78057e0315ab5b8752088e2c9a555f` |&#xA;| [pig\-v1\.3\.0\.linux\-amd64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v1.3.0/pig-v1.3.0.linux-amd64.tar.gz) | SHA-256 · `27220509c22d26eb8821ac189b1de9c4745adc0a0d91719df7d0b1fc1176b765` |&#xA;| [pig\-v1\.3\.0\.linux\-arm64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v1.3.0/pig-v1.3.0.linux-arm64.tar.gz) | SHA-256 · `d124450333e61a5c7d0ed387b13b4087cfd2a81a3fde018232e6bf9b4db6ba0e` |&#xA;| [pig\_1\.3\.0\-1\_amd64\.deb](https://github.com/pgsty/pig/releases/download/v1.3.0/pig_1.3.0-1_amd64.deb) | SHA-256 · `54f3e0561286b3c0af122137fd475213eff54bc82c69b8b46d1148112ab45b80` |&#xA;| [pig\_1\.3\.0\-1\_arm64\.deb](https://github.com/pgsty/pig/releases/download/v1.3.0/pig_1.3.0-1_arm64.deb) | SHA-256 · `beb8ff31d1e64dbfcf6896115e6d200d835fc28bbac5a5b92d75096ef1e68c80` |&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v1.3.0&lt;/strong&gt; · &lt;time datetime=&#34;2026-02-27&#34;&gt;2026-02-27&lt;/time&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>pig build</title>
        <link>https://pig.pgsty.com/build/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/build/</guid>
        <description>&lt;p&gt;The &lt;code&gt;pig build&lt;/code&gt; command simplifies the full workflow for building PostgreSQL extensions from source. It provides build infrastructure setup, dependency management, and compilation environments for standard and custom PostgreSQL extensions across supported operating systems.&lt;/p&gt;&#xA;&lt;div class=&#34;td-code td-code--untitled&#34; id=&#34;td-code-14e4b951-fence-0&#34; data-td-code data-td-code-auto-id&#xA;     data-td-language=&#34;bash&#34; data-td-line-count=&#34;21&#34;&gt;&#xA;  &lt;div class=&#34;td-code__viewport&#34; id=&#34;td-code-14e4b951-fence-0-viewport&#34; data-td-code-viewport&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pig build - Build Postgres Extension&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Environment Setup:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig build spec                   &lt;span class=&#34;c1&#34;&gt;# init build spec and directory (~ext)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig build repo                   &lt;span class=&#34;c1&#34;&gt;# init build repo (=repo set -ru)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig build repo --beta            &lt;span class=&#34;c1&#34;&gt;# init build repo with PostgreSQL beta repo&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig build tool  &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;mini&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;full&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;...&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# init build toolset&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig build rust  &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;-y&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;-m&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;        &lt;span class=&#34;c1&#34;&gt;# install Rust toolchain&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig build pgrx  &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;-v &amp;lt;ver&amp;gt;&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;-b&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;# install &amp;amp; init pgrx (0.19.2)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig build proxy                  &lt;span class=&#34;c1&#34;&gt;# install or verify the vray package&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig build proxy id@host:port     &lt;span class=&#34;c1&#34;&gt;# configure the optional build proxy&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Package Building:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig build pkg   &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;ext&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;pkg...&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;     &lt;span class=&#34;c1&#34;&gt;# complete pipeline: get + dep + ext&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig build get   &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;ext&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;pkg...&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;     &lt;span class=&#34;c1&#34;&gt;# download extension source tarball&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig build dep   &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;ext&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;pkg...&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;     &lt;span class=&#34;c1&#34;&gt;# install extension build dependencies&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig build ext   &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;ext&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;pkg...&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;     &lt;span class=&#34;c1&#34;&gt;# build extension package&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Quick Start:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig build spec                   &lt;span class=&#34;c1&#34;&gt;# setup build spec and directory&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  pig build pkg citus              &lt;span class=&#34;c1&#34;&gt;# build citus extension&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--full td-table-scroll--static&#34;&gt;&#xA;&lt;table class=&#34;full-width&#34;&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;Command&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;Notes&lt;/th&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;build spec&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Initialize build specification directory&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;build repo&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Initialize required repositories&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Requires sudo or root&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;build tool&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Initialize build tools&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Requires sudo or root&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;build rust&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Install Rust toolchain&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Requires sudo or root&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;build pgrx&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Install and initialize pgrx&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Requires sudo or root&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;build proxy&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Initialize build proxy&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Requires sudo or root&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;build get&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Download source tarballs&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;build dep&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Install extension build dependencies&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Requires sudo or root&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;build ext&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Build extension packages&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Requires sudo or root&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;build pkg&lt;/code&gt;&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Complete pipeline: get, dep, ext&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;Requires sudo or root&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;h2 id=&#34;quick-start&#34;&gt;Quick Start&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;The fastest way to set up a build environment and build an extension:&lt;/p&gt;</description>
      </item>
    <item>
        <title>pig v1.1.0</title>
        <link>https://pig.pgsty.com/release/pig-1.1.0/</link>
        <pubDate>Thu, 12 Feb 2026 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/release/pig-1.1.0/</guid>
        <description>&lt;p&gt;This version is a planned architecture-level upgrade from &lt;code&gt;v1.0.0&lt;/code&gt; to &lt;code&gt;v1.1.0&lt;/code&gt; (79 commits, 193 files changed),&#xA;with the core goal of moving pig from a &amp;ldquo;human-friendly CLI&amp;rdquo; to an &amp;ldquo;agent-native orchestratable CLI&amp;rdquo;.&lt;/p&gt;&#xA;&lt;p&gt;Seven new extensions are added, bringing the total available extensions to 451.&lt;/p&gt;&#xA;&lt;h2 id=&#34;new-features&#34;&gt;New Features&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Land the unified agent-native output framework: introduce global &lt;code&gt;--output&lt;/code&gt; (&lt;code&gt;text/yaml/json/json-pretty&lt;/code&gt;), and provide unified &lt;code&gt;Result&lt;/code&gt; structure, stable status codes, and machine-readable output for &lt;code&gt;ext/repo/pg/pt/pb/pitr/status/version/context&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Introduce ANCS (Agent Native Command Schema) metadata: add semantic fields such as &lt;code&gt;type/volatility/parallel/risk/confirm/os_user/cost&lt;/code&gt;, and make &lt;code&gt;help&lt;/code&gt; emit a command capability tree directly in structured mode for agent-side capability and risk discovery.&lt;/li&gt;&#xA;&lt;li&gt;Add &lt;code&gt;pig context&lt;/code&gt; (&lt;code&gt;pig ctx&lt;/code&gt;) environment snapshot command: aggregate host, PostgreSQL, Patroni, pgBackRest, and extension information in one call for direct agent workflow context injection.&lt;/li&gt;&#xA;&lt;li&gt;Expand plan capabilities beyond PITR: add &lt;code&gt;pig ext add/rm --plan&lt;/code&gt;, &lt;code&gt;pig pg stop/restart --plan&lt;/code&gt;, &lt;code&gt;pig pt switchover/failover --plan&lt;/code&gt;, and align with &lt;code&gt;pig pitr --plan/--dry-run&lt;/code&gt; into a reviewable execution plan format (actions, scope, risks, expected outcomes).&lt;/li&gt;&#xA;&lt;li&gt;Further improve structured result coverage: embed native &lt;code&gt;pgbackrest info&lt;/code&gt; JSON, and unify structured return DTOs across Patroni/PostgreSQL/PITR/Repo/Ext subsystems for automation compatibility.&lt;/li&gt;&#xA;&lt;li&gt;Strengthen compatibility layer: add legacy structured wrappers for existing command groups such as &lt;code&gt;pg_exporter/pg_probe/do/sty&lt;/code&gt;, preserving legacy interaction behavior while exposing structured execution results and output capture.&lt;/li&gt;&#xA;&lt;li&gt;Update pigsty to &lt;code&gt;v4.1.0&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;extension-update&#34;&gt;Extension Update&#xA;&lt;/h2&gt;&#xA;&lt;div class=&#34;td-table-scroll td-table-scroll--static&#34;&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;Extension&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;Old&lt;/th&gt;&#xA;      &lt;th scope=&#34;col&#34; style=&#34;text-align: left&#34;&gt;New&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;timescaledb&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;2.24.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;2.25.0&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;citus&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;14.0.0-2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;14.0.0-3&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;pg_incremental&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.2.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.4.1&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;pg_bigm&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.2-20240606&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.2-20250903&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;pg_net&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.20.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.20.2&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;pgmq&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.9.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.10.0&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;pg_textsearch&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.4.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.5.0&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;pljs&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.0.4&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.0.5&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;sslutils&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.4-1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.4-2&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;table_version&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.11.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.11.1&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;supautils&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;3.0.2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;3.1.0&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;pg_math&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.1.0&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;pgsentinel&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.3.1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.4.0&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;pg_uri&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.20151224&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.20251029&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;pgcollection&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.1.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.1.1&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;pg_readonly&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.0.3&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.0.4&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;timestamp9&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.4.0-1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.4.0-2&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;pg_uint128&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.1.1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.2.0&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;pg_roaringbitmap&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.5.5&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.1.0&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;plprql&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;18.0.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;18.0.1&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;pglinter&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.0.1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.1.0&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;pg_jsonschema&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.3.3&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.3.4&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;pg_anon&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;2.5.1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;3.0.1&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;vchord&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.0.0&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.1.0&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;pg_search&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.21.4&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.21.6/0.21.7&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;pg_graphql&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.5.12-1&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.5.12-2&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;pg_summarize&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.0.1-2&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.0.1-3&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;nominatim_fdw&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.1.0&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;pg_utl_smtp&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.0.0&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;pg_strict&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.0.2&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;pg_track_optimizer&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;0.9.1&lt;/td&gt;&#xA;    &lt;/tr&gt;&#xA;    &lt;tr&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;pgmb&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;-&lt;/td&gt;&#xA;      &lt;td style=&#34;text-align: left&#34;&gt;1.0.0&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;bug-fixes&#34;&gt;Bug Fixes&#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Security fix: resolve parsing panic in &lt;code&gt;pig build proxy&lt;/code&gt; when receiving malformed proxy addresses.&lt;/li&gt;&#xA;&lt;li&gt;Security fix: resolve path traversal risk in &lt;code&gt;pig pg log&lt;/code&gt;, preventing access to files outside the log directory via &lt;code&gt;../../&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Security hardening: improve installer/repo path and quoting handling to reduce path injection and invalid-path misuse risks.&lt;/li&gt;&#xA;&lt;li&gt;Build pipeline reliability fixes: correctly propagate errors and return non-zero exit codes in &lt;code&gt;pig build get/pkg/ext&lt;/code&gt; when download/build fails; fix false failures in DEB builds caused by &lt;code&gt;pg_ver&lt;/code&gt; mismatch.&lt;/li&gt;&#xA;&lt;li&gt;Repo/catalog refresh fixes: support quiet mirror fallback for &lt;code&gt;ext/repo reload&lt;/code&gt;; make &lt;code&gt;repo add/set/rm&lt;/code&gt; return proper error status when cache updates fail.&lt;/li&gt;&#xA;&lt;li&gt;Extension management fixes: adjust &lt;code&gt;ext update&lt;/code&gt; to explicit-target updates and fix status drift issues; ensure &lt;code&gt;ext import&lt;/code&gt; downloads requested DEB resources to the specified repo directory.&lt;/li&gt;&#xA;&lt;li&gt;Output/observability fixes: align structured output exit code behavior with text mode rendering; improve permission handling and parsing stability in &lt;code&gt;pg status&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\.1\.0\-1\.aarch64\.rpm](https://github.com/pgsty/pig/releases/download/v1.1.0/pig-1.1.0-1.aarch64.rpm) | SHA-256 · `95245dc035270df2b02cdd5d19afac57ccf4949a61b07b1b806fffde3a3b780e` |&#xA;| [pig\-1\.1\.0\-1\.x86\_64\.rpm](https://github.com/pgsty/pig/releases/download/v1.1.0/pig-1.1.0-1.x86_64.rpm) | SHA-256 · `8b1a26f1b5dd002841a0b31904eea8ce94d1e6c4acde4704a78d9e121e1656f4` |&#xA;| [pig\-v1\.1\.0\.darwin\-amd64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v1.1.0/pig-v1.1.0.darwin-amd64.tar.gz) | SHA-256 · `dbd079510513f1cd0521b0871cc6fe3eed8f7fa26f66c04c682568c43e24c456` |&#xA;| [pig\-v1\.1\.0\.darwin\-arm64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v1.1.0/pig-v1.1.0.darwin-arm64.tar.gz) | SHA-256 · `3f3ba081b54569a7de4d9a8fce72c02c84d9e1cbeb53173567f970c7291af251` |&#xA;| [pig\-v1\.1\.0\.linux\-amd64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v1.1.0/pig-v1.1.0.linux-amd64.tar.gz) | SHA-256 · `ad61384bf01cbb8346ce869da0bc893203ad316c516fb9420cb748f1519a005e` |&#xA;| [pig\-v1\.1\.0\.linux\-arm64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v1.1.0/pig-v1.1.0.linux-arm64.tar.gz) | SHA-256 · `7713632beea1e6ca5c3e2e7172c4adee13a2b1b256755f6c2898b6ca98ee1e00` |&#xA;| [pig\_1\.1\.0\-1\_amd64\.deb](https://github.com/pgsty/pig/releases/download/v1.1.0/pig_1.1.0-1_amd64.deb) | SHA-256 · `70cfc41b7b0aad48f29e12c22c34afd55b938bf50868ac8ab067b9cb62ccb867` |&#xA;| [pig\_1\.1\.0\-1\_arm64\.deb](https://github.com/pgsty/pig/releases/download/v1.1.0/pig_1.1.0-1_arm64.deb) | SHA-256 · `fc5cf16671254f8f3495ff7e80c9d77d06b2328c1a247f90f96cf1e918e0ad0e` |&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v1.1.0&lt;/strong&gt; · &lt;time datetime=&#34;2026-02-12&#34;&gt;2026-02-12&lt;/time&gt;&lt;/p&gt;</description>
      </item>
    <item>
        <title>pig v0.7.2</title>
        <link>https://pig.pgsty.com/release/pig-0.7.2/</link>
        <pubDate>Thu, 20 Nov 2025 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/release/pig-0.7.2/</guid>
        <description>&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Extension list update, + 6 new extensions, 437 total&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Add PGDG EL10 Sysupdate repo&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Add LLVM APT repo&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Use local extension.csv catalog in pig build sub command&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Updated extensions: vchord pg_later pgvectorscale pglite_fusion pgx_ulid pg_search citus timescaledb pg_profile pg_stat_monitor documentdb&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;New extensions: pglinter pg_typeid pg_enigma pg_retry pg_biscuit pg_weighted_statistics&lt;/p&gt;&#xA;&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\.2\-1\.aarch64\.rpm](https://github.com/pgsty/pig/releases/download/v0.7.2/pig-0.7.2-1.aarch64.rpm) | SHA-256 · `f303c391fc28bc74832712e0aa58319abe0ebcae4f6c07fdf9a9e542b735d2ec` |&#xA;| [pig\-0\.7\.2\-1\.x86\_64\.rpm](https://github.com/pgsty/pig/releases/download/v0.7.2/pig-0.7.2-1.x86_64.rpm) | SHA-256 · `c096a61a4e3a49b1238659664bbe2cd7f29954c43fb6bb8e8e9fb271f95a612e` |&#xA;| [pig\-v0\.7\.2\.darwin\-amd64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v0.7.2/pig-v0.7.2.darwin-amd64.tar.gz) | SHA-256 · `5e037c891dff23b46856485108d6f64bede5216dfbd4f38a481f0d0672ee910b` |&#xA;| [pig\-v0\.7\.2\.darwin\-arm64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v0.7.2/pig-v0.7.2.darwin-arm64.tar.gz) | SHA-256 · `736b4b47999c543c3c886781f4d8dddbf4276f363c35c7bf50094b6f18d14600` |&#xA;| [pig\-v0\.7\.2\.linux\-amd64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v0.7.2/pig-v0.7.2.linux-amd64.tar.gz) | SHA-256 · `20b13f059efed29dd76f6927b3e8d7b597c0c8d734f9e22ba3d0a2af6dbcd3bf` |&#xA;| [pig\-v0\.7\.2\.linux\-arm64\.tar\.gz](https://github.com/pgsty/pig/releases/download/v0.7.2/pig-v0.7.2.linux-arm64.tar.gz) | SHA-256 · `9548b530c05f2ffdc8d73b8f890718d47b74a51eb62852a99c08b1b52e47f014` |&#xA;| [pig\_0\.7\.2\-1\_amd64\.deb](https://github.com/pgsty/pig/releases/download/v0.7.2/pig_0.7.2-1_amd64.deb) | SHA-256 · `b6faad9f92b926546a10f590274f2cb2afff21b9cea878094cfc5caf09e67d2c` |&#xA;| [pig\_0\.7\.2\-1\_arm64\.deb](https://github.com/pgsty/pig/releases/download/v0.7.2/pig_0.7.2-1_arm64.deb) | SHA-256 · `452f73f1fa035e5417ab49fc51d797925550179ffcc023e8f03d80144309212a` |&lt;div class=&#34;td-release-card-static&#34;&gt;&#xA;  &lt;p&gt;&lt;strong&gt;v0.7.2&lt;/strong&gt; · &lt;time datetime=&#34;2025-11-20&#34;&gt;2025-11-20&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.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>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>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>504 Extensions: Expand the PostgreSQL Landscape</title>
        <link>https://pig.pgsty.com/article/extension-504/</link>
        <pubDate>Mon, 13 Apr 2026 00:00:00 +0000</pubDate>
        
        <guid>https://pig.pgsty.com/article/extension-504/</guid>
        <description>&lt;p&gt;A GitHub issue turned into an extension sprint. 32 new additions say a lot about where PostgreSQL is headed.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;it-started-with-a-chemistry-extension&#34;&gt;It Started with a Chemistry Extension&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Two days ago, a user opened a GitHub &lt;a href=&#34;https://github.com/pgsty/pigsty/issues/738&#34;&gt;issue&lt;/a&gt;: he was using RDKit, the de facto standard library in cheminformatics, to store molecular structures, run substructure searches, and compute similarity inside PostgreSQL.&#xA;He noticed that the official PGDG package was built without InChI support. After spending a while rebuilding it with the right compile flags, he got it working, but still hoped Pigsty could support it out of the box.&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>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>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>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>
