tag:github.com,2008:https://github.com/pgsty/pigsty/releases
Release notes from pigsty
2026-05-01T12:13:08Z
tag:github.com,2008:Repository/268680961/v4.3.0
2026-05-03T09:20:51Z
Pigsty v.4.3.0
<p><strong>Highlights</strong></p>
<ul>
<li>Added about 50 PostgreSQL extensions, bringing the total available extension count to 510.</li>
<li>Added Ubuntu 26.04 x86_64/arm64 support, deprecated Ubuntu 20.04 support, and refreshed minor OS variants to Debian 13.4 / Ubuntu 24.04.4.</li>
<li>Kernel updates: Supabase is updated to the latest version, pgEdge to PG 18, and PolarDB to PG 17.</li>
<li>Grafana is updated to 13.0.0, and MinIO now uses the pgsty branch with CVE fixes.</li>
<li>Vagrant templates now consistently use cloud-image series images.</li>
</ul>
<p><strong>Bug Fixes</strong></p>
<ul>
<li>Relaxed PostgreSQL username validation to allow <code>@.-</code> in usernames.</li>
<li>Fixed IPv6 nameserver parsing so DNS configuration is not limited to legacy IPv4 DNS server extraction.</li>
<li>Changed the VictoriaTraces Grafana datasource path to <code>/select/jaeger</code>.</li>
<li>Made Vagrant disk probing more robust and added <code>bin/el-fix</code>, a guest-network fix script for EL Vagrant images.</li>
</ul>
<p><strong>PostgreSQL and Extension Package Changes</strong></p>
<table>
<thead>
<tr>
<th align="left">Package</th>
<th align="left">Old Version</th>
<th align="left">New Version</th>
<th align="left">Notes</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left"><code>block_copy_command</code></td>
<td align="left">-</td>
<td align="left">0.1.5</td>
<td align="left">New; PG 14-18; Rust/pgrx 0.17.0</td>
</tr>
<tr>
<td align="left"><code>cloudberry</code></td>
<td align="left">2.0.0</td>
<td align="left">2.1.0</td>
<td align="left">Kernel package group; RPM release 2 fixes initdb errno issue</td>
</tr>
<tr>
<td align="left"><code>cloudberry-backup</code></td>
<td align="left">-</td>
<td align="left">2.1.0</td>
<td align="left">New Cloudberry backup tool package</td>
</tr>
<tr>
<td align="left"><code>cloudberry-pxf</code></td>
<td align="left">-</td>
<td align="left">2.1.0</td>
<td align="left">New Cloudberry PXF package</td>
</tr>
<tr>
<td align="left"><code>credcheck</code></td>
<td align="left">4.6</td>
<td align="left">4.7</td>
<td align="left">Upgrade; PG 14-18; PGDG</td>
</tr>
<tr>
<td align="left"><code>datasketches</code></td>
<td align="left">-</td>
<td align="left">1.7.0</td>
<td align="left">New; PG 14-18</td>
</tr>
<tr>
<td align="left"><code>ddl_historization</code></td>
<td align="left">0.0.7</td>
<td align="left">0.2</td>
<td align="left">Upgrade</td>
</tr>
<tr>
<td align="left"><code>documentdb</code></td>
<td align="left">0.109</td>
<td align="left">0.110</td>
<td align="left">Upgraded to upstream version; PG 15-18</td>
</tr>
<tr>
<td align="left"><code>external_file</code></td>
<td align="left">-</td>
<td align="left">1.2</td>
<td align="left">New; PG 14-18</td>
</tr>
<tr>
<td align="left"><code>logical_ddl</code></td>
<td align="left">-</td>
<td align="left">0.1.0</td>
<td align="left">New; PG 14-18</td>
</tr>
<tr>
<td align="left"><code>nominatim_fdw</code></td>
<td align="left">1.1.0</td>
<td align="left">1.2</td>
<td align="left">Upgrade</td>
</tr>
<tr>
<td align="left"><code>onesparse</code></td>
<td align="left">-</td>
<td align="left">1.0.0</td>
<td align="left">New; PG 18 only</td>
</tr>
<tr>
<td align="left"><code>orioledb</code></td>
<td align="left">beta15 1.7</td>
<td align="left">beta15 1.7</td>
<td align="left">Paired with OriolePG 17.18</td>
</tr>
<tr>
<td align="left"><code>oriolepg</code></td>
<td align="left">17.16</td>
<td align="left">17.18</td>
<td align="left">Kernel patch set update</td>
</tr>
<tr>
<td align="left"><code>parray_gin</code></td>
<td align="left">-</td>
<td align="left">1.5.0</td>
<td align="left">Added, then upgraded; PG 14-18</td>
</tr>
<tr>
<td align="left"><code>pg_accumulator</code></td>
<td align="left">-</td>
<td align="left">1.1.3</td>
<td align="left">New; PG 14-18</td>
</tr>
<tr>
<td align="left"><code>pg_anon</code></td>
<td align="left">3.0.1</td>
<td align="left">3.0.13</td>
<td align="left">Upgrade; Rust/pgrx 0.16.1 -> 0.17.0</td>
</tr>
<tr>
<td align="left"><code>pg_background</code></td>
<td align="left">1.8</td>
<td align="left">1.9.2</td>
<td align="left">DEB only</td>
</tr>
<tr>
<td align="left"><code>pg_bikram_sambat</code></td>
<td align="left">-</td>
<td align="left">0.1.0</td>
<td align="left">New; Bikram Sambat date type and AD/BS conversion functions</td>
</tr>
<tr>
<td align="left"><code>pg_byteamagic</code></td>
<td align="left">-</td>
<td align="left">0.2.4</td>
<td align="left">New; PG 14-18</td>
</tr>
<tr>
<td align="left"><code>pg_cardano</code></td>
<td align="left">1.1.1</td>
<td align="left">1.2.0</td>
<td align="left">Upgrade; Rust/pgrx 0.17.0</td>
</tr>
<tr>
<td align="left"><code>pg_clickhouse</code></td>
<td align="left">0.1.5</td>
<td align="left">0.2.0</td>
<td align="left">Upgrade</td>
</tr>
<tr>
<td align="left"><code>pg_datasentinel</code></td>
<td align="left">-</td>
<td align="left">1.0</td>
<td align="left">New; PG 15-18</td>
</tr>
<tr>
<td align="left"><code>pg_dbms_job</code></td>
<td align="left">1.5</td>
<td align="left">2.0</td>
<td align="left">Upgrade; PG 14-18; PGDG</td>
</tr>
<tr>
<td align="left"><code>pg_dispatch</code></td>
<td align="left">-</td>
<td align="left">0.1.5</td>
<td align="left">New; PG 14-18</td>
</tr>
<tr>
<td align="left"><code>pg_failover_slots</code></td>
<td align="left">1.2.0</td>
<td align="left">1.2.1</td>
<td align="left">Upgrade</td>
</tr>
<tr>
<td align="left"><code>pg_fsql</code></td>
<td align="left">-</td>
<td align="left">1.1.0</td>
<td align="left">New; PG 14-18</td>
</tr>
<tr>
<td align="left"><code>pg_incremental</code></td>
<td align="left">1.4.1</td>
<td align="left">1.5.0</td>
<td align="left">Upgrade</td>
</tr>
<tr>
<td align="left"><code>pg_isok</code></td>
<td align="left">-</td>
<td align="left">1.4.1</td>
<td align="left">New; PG 14-18</td>
</tr>
<tr>
<td align="left"><code>pg_ivm</code></td>
<td align="left">1.13</td>
<td align="left">1.14</td>
<td align="left">Upgrade; PG 14-18</td>
</tr>
<tr>
<td align="left"><code>pg_kazsearch</code></td>
<td align="left">-</td>
<td align="left">2.0.0</td>
<td align="left">New; PG 16-18; Rust/pgrx 0.17.0</td>
</tr>
<tr>
<td align="left"><code>pg_liquid</code></td>
<td align="left">-</td>
<td align="left">0.1.7</td>
<td align="left">New; PG 14-18</td>
</tr>
<tr>
<td align="left"><code>pg_pathcheck</code></td>
<td align="left">-</td>
<td align="left">0.9.1</td>
<td align="left">New; PG 17-18; requires shared_preload_libraries</td>
</tr>
<tr>
<td align="left"><code>pg_query_rewrite</code></td>
<td align="left">-</td>
<td align="left">0.0.5</td>
<td align="left">New; PG 14-18</td>
</tr>
<tr>
<td align="left"><code>pg_regresql</code></td>
<td align="left">-</td>
<td align="left">2.0.0</td>
<td align="left">New; PG 14-18</td>
</tr>
<tr>
<td align="left"><code>pg_rrf</code></td>
<td align="left">-</td>
<td align="left">0.0.3</td>
<td align="left">New; PG 14-17; Rust/pgrx 0.16.1 -> 0.17.0</td>
</tr>
<tr>
<td align="left"><code>pg_savior</code></td>
<td align="left">0.0.1</td>
<td align="left">0.1.0</td>
<td align="left">Upgrade; high-risk DDL/DML guard hook; requires preload or LOAD</td>
</tr>
<tr>
<td align="left"><code>pg_search</code></td>
<td align="left">0.22.2</td>
<td align="left">0.23.1</td>
<td align="left">Upgrade; PG 15-18; pgrx 0.18.0</td>
</tr>
<tr>
<td align="left"><code>pg_slug_gen</code></td>
<td align="left">-</td>
<td align="left">1.0.0</td>
<td align="left">New; PG 15-18</td>
</tr>
<tr>
<td align="left"><code>pg_stat_ch</code></td>
<td align="left">-</td>
<td align="left">0.3.6</td>
<td align="left">Added, then upgraded; PG 16-18; EL8 break</td>
</tr>
<tr>
<td align="left"><code>pg_store_plans</code></td>
<td align="left">1.9</td>
<td align="left">1.10</td>
<td align="left">Upgrade</td>
</tr>
<tr>
<td align="left"><code>pg_strict</code></td>
<td align="left">1.0.3</td>
<td align="left">1.0.5</td>
<td align="left">Upgrade; Rust/pgrx 0.16.1 -> 0.17.0</td>
</tr>
<tr>
<td align="left"><code>pg_text_semver</code></td>
<td align="left">-</td>
<td align="left">1.2.1</td>
<td align="left">New; PG 14-18</td>
</tr>
<tr>
<td align="left"><code>pg_textsearch</code></td>
<td align="left">0.5.0</td>
<td align="left">1.1.0</td>
<td align="left">Upgrade; PG 17-18; requires shared_preload_libraries</td>
</tr>
<tr>
<td align="left"><code>pg_trickle</code></td>
<td align="left">0.16.0</td>
<td align="left">0.40.0</td>
<td align="left">Upgrade; PG 18 only; pgrx 0.18.0</td>
</tr>
<tr>
<td align="left"><code>pg_tzf</code></td>
<td align="left">0.2.3</td>
<td align="left">0.2.4</td>
<td align="left">Upgrade; Rust/pgrx 0.17.0</td>
</tr>
<tr>
<td align="left"><code>pg_vectorize</code></td>
<td align="left">0.26.0</td>
<td align="left">0.26.1</td>
<td align="left">Upgrade; Rust/pgrx 0.16.1 -> 0.17.0</td>
</tr>
<tr>
<td align="left"><code>pg_variables</code></td>
<td align="left">-</td>
<td align="left">1.2.5</td>
<td align="left">New; PG 14-18</td>
</tr>
<tr>
<td align="left"><code>pg_when</code></td>
<td align="left">-</td>
<td align="left">0.1.9</td>
<td align="left">New; PG 14-18; Rust/pgrx 0.17.0</td>
</tr>
<tr>
<td align="left"><code>pgxicor</code></td>
<td align="left">0.1.0</td>
<td align="left">0.1.1</td>
<td align="left">Upgrade</td>
</tr>
<tr>
<td align="left"><code>pgcalendar</code></td>
<td align="left">-</td>
<td align="left">1.1.0</td>
<td align="left">New; PG 14-18</td>
</tr>
<tr>
<td align="left"><code>pgclone</code></td>
<td align="left">-</td>
<td align="left">4.0.0</td>
<td align="left">Added, then upgraded; PG 14-18</td>
</tr>
<tr>
<td align="left"><code>pgelog</code></td>
<td align="left">-</td>
<td align="left">1.0.2</td>
<td align="left">New; PG 14-18</td>
</tr>
<tr>
<td align="left"><code>pglinter</code></td>
<td align="left">1.1.1</td>
<td align="left">1.1.2</td>
<td align="left">Upgrade; Rust/pgrx 0.16.1 -> 0.17.0</td>
</tr>
<tr>
<td align="left"><code>pglock</code></td>
<td align="left">-</td>
<td align="left">1.0.0</td>
<td align="left">New; PG 14-18</td>
</tr>
<tr>
<td align="left"><code>pgmq</code></td>
<td align="left">1.11.0</td>
<td align="left">1.11.1</td>
<td align="left">Upgrade; PG 14-18</td>
</tr>
<tr>
<td align="left"><code>pgmqtt</code></td>
<td align="left">-</td>
<td align="left">0.1.0</td>
<td align="left">New; PG 14-18; Rust/pgrx 0.16.1 -> 0.17.0</td>
</tr>
<tr>
<td align="left"><code>pgproto</code></td>
<td align="left">-</td>
<td align="left">0.5.0</td>
<td align="left">Added, then upgraded; native Protobuf support</td>
</tr>
<tr>
<td align="left"><code>pghydro</code></td>
<td align="left">-</td>
<td align="left">6.6</td>
<td align="left">New; PG 14-18</td>
</tr>
<tr>
<td align="left"><code>pgx_ulid</code></td>
<td align="left">0.2.2</td>
<td align="left">0.2.3</td>
<td align="left">Upgrade; Rust/pgrx 0.17.0</td>
</tr>
<tr>
<td align="left"><code>plv8</code></td>
<td align="left">3.2.4</td>
<td align="left">3.2.4-2</td>
<td align="left">RPM only; EL10 build fix</td>
</tr>
<tr>
<td align="left"><code>PolarDB</code></td>
<td align="left">15.15</td>
<td align="left">17.9.1.0</td>
<td align="left">PG 15 -> 17</td>
</tr>
<tr>
<td align="left"><code>postgresbson</code></td>
<td align="left">-</td>
<td align="left">2.0.2</td>
<td align="left">New; PG 14-18</td>
</tr>
<tr>
<td align="left"><code>postgis</code></td>
<td align="left">3.6.2</td>
<td align="left">3.6.3</td>
<td align="left">DEB only</td>
</tr>
<tr>
<td align="left"><code>prefix</code></td>
<td align="left">1.2.10</td>
<td align="left">1.2.11</td>
<td align="left">Upgrade; PG 14-18; PGDG</td>
</tr>
<tr>
<td align="left"><code>provsql</code></td>
<td align="left">-</td>
<td align="left">1.2.3</td>
<td align="left">New; PG 14-18</td>
</tr>
<tr>
<td align="left"><code>rdf_fdw</code></td>
<td align="left">-</td>
<td align="left">2.5.0</td>
<td align="left">Added, then upgraded; PG 14-18</td>
</tr>
<tr>
<td align="left"><code>rdkit</code></td>
<td align="left">-</td>
<td align="left">202503.6</td>
<td align="left">New; PG 14-18</td>
</tr>
<tr>
<td align="left"><code>re2</code></td>
<td align="left">-</td>
<td align="left">0.1.1</td>
<td align="left">New; PG 16-18</td>
</tr>
<tr>
<td align="left"><code>storage_engine</code></td>
<td align="left">-</td>
<td align="left">1.3.4</td>
<td align="left">Added, then upgraded; columnar and row-compression table access methods</td>
</tr>
<tr>
<td align="left"><code>supautils</code></td>
<td align="left">3.1.0</td>
<td align="left">3.2.1</td>
<td align="left">Upgrade</td>
</tr>
<tr>
<td align="left"><code>system_stats</code></td>
<td align="left">3.2</td>
<td align="left">4.0</td>
<td align="left">Upgrade</td>
</tr>
<tr>
<td align="left"><code>timescaledb</code></td>
<td align="left">2.25.2</td>
<td align="left">2.26.4</td>
<td align="left">Upgrade; TSL minor update</td>
</tr>
<tr>
<td align="left"><code>ulak</code></td>
<td align="left">-</td>
<td align="left">0.0.2</td>
<td align="left">New; PG 14-18</td>
</tr>
<tr>
<td align="left"><code>wrappers</code></td>
<td align="left">0.5.7</td>
<td align="left">0.6.0</td>
<td align="left">Upgrade; Rust/pgrx 0.16.1 -> 0.17.0</td>
</tr>
<tr>
<td align="left">{.stretch-last}</td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
</tr>
</tbody>
</table>
<p><strong>Infrastructure Package Updates</strong></p>
<table>
<thead>
<tr>
<th align="left">Package</th>
<th align="left">Old Version</th>
<th align="left">New Version</th>
<th align="left">Notes</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left"><code>alertmanager</code></td>
<td align="left">0.31.1</td>
<td align="left">0.32.1</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>agentsview</code></td>
<td align="left">0.15.0</td>
<td align="left">0.26.0</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>claude</code></td>
<td align="left">2.1.81</td>
<td align="left">2.1.123</td>
<td align="left">Downloaded through the 8118 proxy and verified</td>
</tr>
<tr>
<td align="left"><code>code</code></td>
<td align="left">1.112.0</td>
<td align="left">1.118.1</td>
<td align="left">Direct-link metadata update</td>
</tr>
<tr>
<td align="left"><code>code-server</code></td>
<td align="left">4.112.0</td>
<td align="left">4.117.0</td>
<td align="left">Direct-link metadata update</td>
</tr>
<tr>
<td align="left"><code>codex</code></td>
<td align="left">0.116.0</td>
<td align="left">0.125.0</td>
<td align="left">Moved from prerelease track to stable, then upgraded further</td>
</tr>
<tr>
<td align="left"><code>crush</code></td>
<td align="left">0.51.2</td>
<td align="left">0.64.0</td>
<td align="left">Direct-link metadata update</td>
</tr>
<tr>
<td align="left"><code>dblab</code></td>
<td align="left">0.34.3</td>
<td align="left">0.38.0</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>duckdb</code></td>
<td align="left">1.5.0</td>
<td align="left">1.5.2</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>etcd</code></td>
<td align="left">3.6.9</td>
<td align="left">3.6.10</td>
<td align="left">Unified package version</td>
</tr>
<tr>
<td align="left"><code>garage</code></td>
<td align="left">2.2.0</td>
<td align="left">2.3.0</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>genai-toolbox</code></td>
<td align="left">0.27.0</td>
<td align="left">1.1.0</td>
<td align="left">Upstream renamed to mcp-toolbox</td>
</tr>
<tr>
<td align="left"><code>golang</code></td>
<td align="left">1.26.1</td>
<td align="left">1.26.2</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>grafana</code></td>
<td align="left">12.4.1</td>
<td align="left">13.0.1</td>
<td align="left">Metadata refreshed after major upgrade</td>
</tr>
<tr>
<td align="left"><code>grafana-infinity-ds</code></td>
<td align="left">3.7.4</td>
<td align="left">3.8.0</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>grafana-plugins</code></td>
<td align="left">12.3.0</td>
<td align="left">13.0.0</td>
<td align="left">Noarch plugin bundle, manually collected</td>
</tr>
<tr>
<td align="left"><code>grafana-victoriametrics-ds</code></td>
<td align="left">0.23.1</td>
<td align="left">0.24.0</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>hugo</code></td>
<td align="left">0.158.0</td>
<td align="left">0.161.1</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>maddy</code></td>
<td align="left">0.8.2</td>
<td align="left">0.9.3</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>mcli</code></td>
<td align="left">20260321000000</td>
<td align="left">20260417000000</td>
<td align="left">pgsty branch, CVE fixed</td>
</tr>
<tr>
<td align="left"><code>minio</code></td>
<td align="left">20260325000000</td>
<td align="left">20260417000000</td>
<td align="left">pgsty branch, CVE fixed</td>
</tr>
<tr>
<td align="left"><code>mongodb_exporter</code></td>
<td align="left">0.49.0</td>
<td align="left">0.50.0</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>node_exporter</code></td>
<td align="left">1.10.2</td>
<td align="left">1.11.1</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>nodejs</code></td>
<td align="left">24.14.0</td>
<td align="left">24.15.0</td>
<td align="left">Stays on the 24.x policy line</td>
</tr>
<tr>
<td align="left"><code>npgsqlrest</code></td>
<td align="left">3.11.1</td>
<td align="left">3.12.0</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>opencode</code></td>
<td align="left">1.2.27</td>
<td align="left">1.14.30</td>
<td align="left">Switched to versioned cache and rebuilt</td>
</tr>
<tr>
<td align="left"><code>pg_exporter</code></td>
<td align="left">1.2.1</td>
<td align="left">1.2.2</td>
<td align="left">Direct-link metadata update</td>
</tr>
<tr>
<td align="left"><code>pgflo</code></td>
<td align="left">0.0.15</td>
<td align="left">-</td>
<td align="left">Removed</td>
</tr>
<tr>
<td align="left"><code>pgschema</code></td>
<td align="left">1.7.4</td>
<td align="left">1.9.0</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>pig</code></td>
<td align="left">1.3.2</td>
<td align="left">1.4.1</td>
<td align="left">Metadata only</td>
</tr>
<tr>
<td align="left"><code>postgrest</code></td>
<td align="left">14.7</td>
<td align="left">14.10</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>prometheus</code></td>
<td align="left">3.10.0</td>
<td align="left">3.11.3</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>rainfrog</code></td>
<td align="left">0.3.17</td>
<td align="left">0.3.18</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>rclone</code></td>
<td align="left">1.73.2</td>
<td align="left">1.73.5</td>
<td align="left">Direct-link metadata update</td>
</tr>
<tr>
<td align="left"><code>rustfs</code></td>
<td align="left">1.0.0-alpha.89</td>
<td align="left">1.0.0-b1</td>
<td align="left">Prerelease line</td>
</tr>
<tr>
<td align="left"><code>sabiql</code></td>
<td align="left">1.8.2</td>
<td align="left">1.11.1</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>seaweedfs</code></td>
<td align="left">4.17</td>
<td align="left">4.22</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>sqlcmd</code></td>
<td align="left">1.9.0</td>
<td align="left">1.10.0</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>stalwart</code></td>
<td align="left">0.15.5</td>
<td align="left">0.16.2</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>tigerbeetle</code></td>
<td align="left">0.16.77</td>
<td align="left">0.17.2</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>tigerfs</code></td>
<td align="left">0.5.0</td>
<td align="left">0.6.0</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>timescaledb-tools</code></td>
<td align="left">0.18.2</td>
<td align="left">0.19.0</td>
<td align="left">Rebuilt timescaledb-tune</td>
</tr>
<tr>
<td align="left"><code>uv</code></td>
<td align="left">0.10.12</td>
<td align="left">0.11.8</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>victoria-logs</code></td>
<td align="left">1.48.0</td>
<td align="left">1.50.0</td>
<td align="left">Main package</td>
</tr>
<tr>
<td align="left"><code>victoria-metrics</code></td>
<td align="left">1.138.0</td>
<td align="left">1.142.0</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>victoria-metrics-cluster</code></td>
<td align="left">1.138.0</td>
<td align="left">1.142.0</td>
<td align="left">VictoriaMetrics companion component</td>
</tr>
<tr>
<td align="left"><code>victoria-traces</code></td>
<td align="left">0.8.0</td>
<td align="left">0.8.2</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>vip-manager</code></td>
<td align="left">4.0.0</td>
<td align="left">4.2.0</td>
<td align="left">Direct-link metadata update</td>
</tr>
<tr>
<td align="left"><code>vlagent</code></td>
<td align="left">1.48.0</td>
<td align="left">1.50.0</td>
<td align="left">VictoriaLogs companion component</td>
</tr>
<tr>
<td align="left"><code>vlogscli</code></td>
<td align="left">1.48.0</td>
<td align="left">1.50.0</td>
<td align="left">VictoriaLogs companion component</td>
</tr>
<tr>
<td align="left"><code>vmutils</code></td>
<td align="left">1.138.0</td>
<td align="left">1.142.0</td>
<td align="left">VictoriaMetrics companion component</td>
</tr>
<tr>
<td align="left"><code>vector</code></td>
<td align="left">0.54.0</td>
<td align="left">0.55.0</td>
<td align="left">Direct-link metadata update</td>
</tr>
<tr>
<td align="left"><code>v2ray</code></td>
<td align="left">5.47.0</td>
<td align="left">5.48.0</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>xray</code></td>
<td align="left">26.2.6</td>
<td align="left">26.3.27</td>
<td align="left"></td>
</tr>
</tbody>
</table>
<p><strong>Checksums</strong></p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="58a914fce7bc521b65e167f66e7961a3 pigsty-v4.3.0.tgz
9ce070efb0420057a83c632b2856d1b3 pigsty-pkg-v4.3.0.d12.aarch64.tgz
bf21c36d3aff94a1a6353130597ffa85 pigsty-pkg-v4.3.0.d12.x86_64.tgz
81b4790c4e5567cee9d1beadd06e48e6 pigsty-pkg-v4.3.0.d13.aarch64.tgz
06baab9341ab683eaeea2e066b28a0f4 pigsty-pkg-v4.3.0.d13.x86_64.tgz
fb4bf751df5e09f547c49b8ab7cac9a0 pigsty-pkg-v4.3.0.el10.aarch64.tgz
a3e752c8148122d1eaea74a6d8d8df0d pigsty-pkg-v4.3.0.el10.x86_64.tgz
cb2a9af36615513e66fd5ac3e9f4d797 pigsty-pkg-v4.3.0.el9.aarch64.tgz
e24641a879dec7a8eea74dab42f85920 pigsty-pkg-v4.3.0.el9.x86_64.tgz
6b675fd8d9e039193481f0838aa4b92c pigsty-pkg-v4.3.0.u22.aarch64.tgz
c0e344ccb9d190a619591e5d46116424 pigsty-pkg-v4.3.0.u22.x86_64.tgz
3e0ec9534cf595201ec79eb1fc6549d8 pigsty-pkg-v4.3.0.u24.aarch64.tgz
0a3d19513eca9615bdd66a4b2bf66f1d pigsty-pkg-v4.3.0.u24.x86_64.tgz
683a10ff8fd993358d6befa9f4e02913 pigsty-pkg-v4.3.0.u26.aarch64.tgz
fd1ea5cd5554bfe91fadd51ad80860e3 pigsty-pkg-v4.3.0.u26.x86_64.tgz"><pre>58a914fce7bc521b65e167f66e7961a3 pigsty-v4.3.0.tgz
9ce070efb0420057a83c632b2856d1b3 pigsty-pkg-v4.3.0.d12.aarch64.tgz
bf21c36d3aff94a1a6353130597ffa85 pigsty-pkg-v4.3.0.d12.x86_64.tgz
81b4790c4e5567cee9d1beadd06e48e6 pigsty-pkg-v4.3.0.d13.aarch64.tgz
06baab9341ab683eaeea2e066b28a0f4 pigsty-pkg-v4.3.0.d13.x86_64.tgz
fb4bf751df5e09f547c49b8ab7cac9a0 pigsty-pkg-v4.3.0.el10.aarch64.tgz
a3e752c8148122d1eaea74a6d8d8df0d pigsty-pkg-v4.3.0.el10.x86_64.tgz
cb2a9af36615513e66fd5ac3e9f4d797 pigsty-pkg-v4.3.0.el9.aarch64.tgz
e24641a879dec7a8eea74dab42f85920 pigsty-pkg-v4.3.0.el9.x86_64.tgz
6b675fd8d9e039193481f0838aa4b92c pigsty-pkg-v4.3.0.u22.aarch64.tgz
c0e344ccb9d190a619591e5d46116424 pigsty-pkg-v4.3.0.u22.x86_64.tgz
3e0ec9534cf595201ec79eb1fc6549d8 pigsty-pkg-v4.3.0.u24.aarch64.tgz
0a3d19513eca9615bdd66a4b2bf66f1d pigsty-pkg-v4.3.0.u24.x86_64.tgz
683a10ff8fd993358d6befa9f4e02913 pigsty-pkg-v4.3.0.u26.aarch64.tgz
fd1ea5cd5554bfe91fadd51ad80860e3 pigsty-pkg-v4.3.0.u26.x86_64.tgz</pre></div>
Vonng
tag:github.com,2008:Repository/268680961/v4.3.0-b1
2026-05-01T15:24:55Z
Pigsty v4.3.0 Beta1
No content.
Vonng
tag:github.com,2008:Repository/268680961/v4.2.2
2026-03-23T10:18:11Z
Pigsty v4.2.2
<p><strong>Highlights</strong></p>
<ul>
<li>Insforge 2.0.1 self-hosted template</li>
<li>Batch infra package updates, MinIO/MCLI updated to 20260321</li>
<li>New infra packages: tigerfs, pgstream, sql-studio, rainfog, crush</li>
<li>New PG tools: data recovery pdu, connection pooler pgdog</li>
<li>Update PG extensions: pg_search, pgsentinel, pg_track_optimizer, pgcollection, pg_ttl_index, pg_clickhouse</li>
<li>Update PG Kernel: ivorysql 5.1 -> 5.3</li>
</ul>
<p><strong>PostgreSQL Package Updates</strong></p>
<table>
<thead>
<tr>
<th align="left">Name</th>
<th align="left">Old Ver</th>
<th align="left">New Ver</th>
<th align="left">Note</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">pg_search</td>
<td align="left">0.21.12</td>
<td align="left">0.22.2</td>
<td align="left"></td>
</tr>
<tr>
<td align="left">pgsentinel</td>
<td align="left">1.4.0</td>
<td align="left">1.4.1</td>
<td align="left">rpm only</td>
</tr>
<tr>
<td align="left">pg_track_optimizer</td>
<td align="left">0.9.1</td>
<td align="left">0.9.2</td>
<td align="left"></td>
</tr>
<tr>
<td align="left">pgcollection</td>
<td align="left">1.0.0</td>
<td align="left">2.0.0</td>
<td align="left"></td>
</tr>
<tr>
<td align="left">pg_ttl_index</td>
<td align="left">2.0.0</td>
<td align="left">3.0.0</td>
<td align="left"></td>
</tr>
<tr>
<td align="left">pg_clickhouse</td>
<td align="left">0.1.4</td>
<td align="left">0.1.5</td>
<td align="left"></td>
</tr>
<tr>
<td align="left">pdu</td>
<td align="left"></td>
<td align="left">3.0.25.12</td>
<td align="left">new</td>
</tr>
<tr>
<td align="left">pgdog</td>
<td align="left"></td>
<td align="left">0.1.32</td>
<td align="left">new</td>
</tr>
</tbody>
</table>
<p><strong>Infrastructure Package Updates</strong></p>
<table>
<thead>
<tr>
<th align="left">Name</th>
<th align="left">Old Ver</th>
<th align="left">New Ver</th>
<th align="left">Note</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left"><code>grafana</code></td>
<td align="left">12.4.0</td>
<td align="left">12.4.1</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>pgbackrest_exporter</code></td>
<td align="left">0.22.0</td>
<td align="left">0.23.0</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>redis_exporter</code></td>
<td align="left">1.81.0</td>
<td align="left">1.82.0</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>victoria-logs</code></td>
<td align="left">1.47.0</td>
<td align="left">1.48.0</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>vlagent</code></td>
<td align="left">1.47.0</td>
<td align="left">1.48.0</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>vlogscli</code></td>
<td align="left">1.47.0</td>
<td align="left">1.48.0</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>victoria-traces</code></td>
<td align="left">0.7.1</td>
<td align="left">0.8.0</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>duckdb</code></td>
<td align="left">1.4.4</td>
<td align="left">1.5.0</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>pg_timetable</code></td>
<td align="left">6.2.0</td>
<td align="left">6.3.0</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>pgschema</code></td>
<td align="left">1.4.2</td>
<td align="left">1.7.4</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>pgstream</code></td>
<td align="left">-</td>
<td align="left">1.0.1</td>
<td align="left">new</td>
</tr>
<tr>
<td align="left"><code>tigerbeetle</code></td>
<td align="left">0.16.75</td>
<td align="left">0.16.77</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>grafana-victorialogs-ds</code></td>
<td align="left">0.26.2</td>
<td align="left">0.26.3</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>grafana-infinity-ds</code></td>
<td align="left">3.7.3</td>
<td align="left">3.7.4</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>caddy</code></td>
<td align="left">2.11.1</td>
<td align="left">2.11.2</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>npgsqlrest</code></td>
<td align="left">3.10.0</td>
<td align="left">3.11.1</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>postgrest</code></td>
<td align="left">14.5</td>
<td align="left">14.7</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>opencode</code></td>
<td align="left">1.2.17</td>
<td align="left">1.2.27</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>pev2</code></td>
<td align="left">1.20.2</td>
<td align="left">1.21.0</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>golang</code></td>
<td align="left">1.26.0</td>
<td align="left">1.26.1</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>vector</code></td>
<td align="left">0.53.0</td>
<td align="left">0.54.0</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>rclone</code></td>
<td align="left">1.73.1</td>
<td align="left">1.73.2</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>code-server</code></td>
<td align="left">4.109.5</td>
<td align="left">4.112.0</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>code</code></td>
<td align="left">1.109.4</td>
<td align="left">1.112.0</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>seaweedfs</code></td>
<td align="left">4.15</td>
<td align="left">4.17</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>uv</code></td>
<td align="left">0.10.8</td>
<td align="left">0.10.12</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>codex</code></td>
<td align="left">0.110.0</td>
<td align="left">0.116.0</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>v2ray</code></td>
<td align="left">5.44.1</td>
<td align="left">5.47.0</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>sabiql</code></td>
<td align="left">1.6.2</td>
<td align="left">1.8.2</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>sql-studio</code></td>
<td align="left">-</td>
<td align="left">0.1.51</td>
<td align="left">new</td>
</tr>
<tr>
<td align="left"><code>rainfrog</code></td>
<td align="left">-</td>
<td align="left">0.3.17</td>
<td align="left">new</td>
</tr>
<tr>
<td align="left"><code>agentsview</code></td>
<td align="left">0.10.0</td>
<td align="left">0.15.0</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>crush</code></td>
<td align="left">-</td>
<td align="left">0.51.2</td>
<td align="left">new</td>
</tr>
<tr>
<td align="left"><code>tigerfs</code></td>
<td align="left">-</td>
<td align="left">0.5.0</td>
<td align="left">new</td>
</tr>
<tr>
<td align="left"><code>victoria-metrics</code></td>
<td align="left">1.137.0</td>
<td align="left">1.138.0</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>victoria-metrics-cluster</code></td>
<td align="left">1.137.0</td>
<td align="left">1.138.0</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>vmutils</code></td>
<td align="left">1.137.0</td>
<td align="left">1.138.0</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>hugo</code></td>
<td align="left">0.157.0</td>
<td align="left">0.158.0</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>rustfs</code></td>
<td align="left">1.0.0-alpha.85</td>
<td align="left">1.0.0-alpha.89</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>mysqld_exporter</code></td>
<td align="left">0.18.0</td>
<td align="left">0.19.0</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>pg_exporter</code></td>
<td align="left">1.2.0</td>
<td align="left">1.2.1</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>pig</code></td>
<td align="left">1.3.1</td>
<td align="left">1.3.2</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>minio</code></td>
<td align="left">20260214</td>
<td align="left">20260321</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>mcli</code></td>
<td align="left">20260213</td>
<td align="left">20260321</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>claude</code></td>
<td align="left">2.1.68</td>
<td align="left">2.1.81</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>ivroysql</code></td>
<td align="left">5.1</td>
<td align="left">5.3</td>
<td align="left"></td>
</tr>
</tbody>
</table>
<p><strong>Checksums</strong></p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="0d9f907ff626203578c687d1418b38ba pigsty-pkg-v4.2.2.d12.aarch64.tgz
4129baf773c3005f4d697cf452f927a0 pigsty-pkg-v4.2.2.d12.x86_64.tgz
40d5a0d9c2a97615bf0421bae42458ae pigsty-pkg-v4.2.2.d13.aarch64.tgz
cf91113a2296ad11fff79802ac9b1483 pigsty-pkg-v4.2.2.d13.x86_64.tgz
dbccfeb3978ffb928bd0b501c3c0d42d pigsty-pkg-v4.2.2.el10.aarch64.tgz
8c848a4e3fa93c2455285fbcad5ddd78 pigsty-pkg-v4.2.2.el10.x86_64.tgz
7c15c9a36f7d2dd740019c20e8c75a4b pigsty-pkg-v4.2.2.el9.aarch64.tgz
7d6e9e529236a0db2382f42660790ed9 pigsty-pkg-v4.2.2.el9.x86_64.tgz
8f64bb14885ce330603172b186062671 pigsty-pkg-v4.2.2.u22.aarch64.tgz
16d4c36c9e1ff848848c34a257b1025c pigsty-pkg-v4.2.2.u22.x86_64.tgz
401230741af5b04f163ffc8e688315ab pigsty-pkg-v4.2.2.u24.aarch64.tgz
5312aa0841694fc560778b9377a32c89 pigsty-pkg-v4.2.2.u24.x86_64.tgz
cabeeb898b56b26c0855f33d5e60411a pigsty-v4.2.2.tgz"><pre>0d9f907ff626203578c687d1418b38ba pigsty-pkg-v4.2.2.d12.aarch64.tgz
4129baf773c3005f4d697cf452f927a0 pigsty-pkg-v4.2.2.d12.x86_64.tgz
40d5a0d9c2a97615bf0421bae42458ae pigsty-pkg-v4.2.2.d13.aarch64.tgz
cf91113a2296ad11fff79802ac9b1483 pigsty-pkg-v4.2.2.d13.x86_64.tgz
dbccfeb3978ffb928bd0b501c3c0d42d pigsty-pkg-v4.2.2.el10.aarch64.tgz
8c848a4e3fa93c2455285fbcad5ddd78 pigsty-pkg-v4.2.2.el10.x86_64.tgz
7c15c9a36f7d2dd740019c20e8c75a4b pigsty-pkg-v4.2.2.el9.aarch64.tgz
7d6e9e529236a0db2382f42660790ed9 pigsty-pkg-v4.2.2.el9.x86_64.tgz
8f64bb14885ce330603172b186062671 pigsty-pkg-v4.2.2.u22.aarch64.tgz
16d4c36c9e1ff848848c34a257b1025c pigsty-pkg-v4.2.2.u22.x86_64.tgz
401230741af5b04f163ffc8e688315ab pigsty-pkg-v4.2.2.u24.aarch64.tgz
5312aa0841694fc560778b9377a32c89 pigsty-pkg-v4.2.2.u24.x86_64.tgz
cabeeb898b56b26c0855f33d5e60411a pigsty-v4.2.2.tgz</pre></div>
Vonng
tag:github.com,2008:Repository/268680961/v4.2.1
2026-03-06T01:37:32Z
v4.2.1 PG 13 Obsolete
<p>A maintenance release that adds 3 new extensions.</p>
<p><strong>Major Changes</strong></p>
<ul>
<li><strong>New Extensions</strong>: <code>pg_eviltransform</code> is added to the GIS package group, <code>pg_pinyin</code> to the FTS group, and <code>pg_qos</code> to the admin group — all for PG 14–18.</li>
<li><strong>PG13 Removed</strong>: All <code>pgdg13</code>, <code>pgdg13-nonfree</code> repo entries and PG13 package aliases (<code>pg13-*</code>) are removed from every platform variant (EL7/8/9/10, Debian 12/13, Ubuntu 22/24, both x86_64 and aarch64).</li>
<li>Config templates (<code>fat.yml</code>, <code>pro.yml</code>, <code>dev.yml</code>, <code>el.yml</code>, <code>debian.yml</code>) no longer reference PG13 packages or repos. Extension version comments are updated to reflect PG 14–18 coverage only.</li>
<li><strong>Percona Repo</strong>: Origin URL updated from <code>ppg-18.1</code> to <code>ppg-18.3</code> to track the latest Percona PostgreSQL distribution.</li>
<li><strong>Nginx Repo</strong>: Module tag for the Nginx upstream APT repo corrected from <code>infra</code> to <code>nginx</code> on Debian/Ubuntu platforms.</li>
<li><strong>UV Venv Fix</strong>: <code>roles/node/tasks/pkg.yml</code> now checks for an existing virtualenv before running <code>uv venv</code>, preventing redundant re-creation and potential errors on re-provisioning.</li>
<li><strong>Docker Image</strong>: <code>less</code> is added to the Pigsty Docker image base packages.</li>
<li><strong>Demo Config</strong>: Default firewall rules in <code>el.yml</code> and <code>debian.yml</code> demo configs now include port <code>5432</code> for direct PostgreSQL access.</li>
</ul>
<p><strong>Compatibility Notes</strong></p>
<p>PostgreSQL 13 reached its <a href="https://www.postgresql.org/support/versioning/" rel="nofollow">end of life</a> on 2025-11-13.<br>
The PGDG YUM repository has archived and removed the <a href="https://yum.postgresql.org/news/pg13-end-of-life/" rel="nofollow">pg13</a> / <a href="https://yum.postgresql.org/news/pg12-end-of-life/" rel="nofollow">pg12</a> directories.<br>
If you install Pigsty on EL systems (even without using PG 13), repo access failures may cause installation or update errors.</p>
<p>You can either upgrade directly to Pigsty v4.2.1, or manually edit the <code>repo_upstream_default</code> variable in your corresponding OS file under <code>roles/node_id/vars/</code> and remove the pg13 repo line.</p>
<p>Additionally, EL8 remains in the Pigsty compatible OS list, but starting from this release, offline packages for EL8 will no longer be published.</p>
<p>No other breaking API or configuration changes in this release.</p>
<p><strong>7 commits</strong>, 84 files changed, +4,925 / -5,351 lines (<code>v4.2.0..v4.2.1</code>, 2026-03-04 ~ 2026-03-06)</p>
<p><strong>PostgreSQL Package Updates</strong></p>
<table>
<thead>
<tr>
<th align="left">Package</th>
<th align="left">Old Version</th>
<th align="left">New Version</th>
<th align="left">Notes</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">timescaledb</td>
<td align="left">2.25.1</td>
<td align="left">2.25.2</td>
<td align="left"></td>
</tr>
<tr>
<td align="left">vchord</td>
<td align="left">1.1.0</td>
<td align="left">1.1.1</td>
<td align="left">Added clang build dependency, bug fixes</td>
</tr>
<tr>
<td align="left">aggs_for_vecs</td>
<td align="left">1.4.0</td>
<td align="left">1.4.1</td>
<td align="left"></td>
</tr>
<tr>
<td align="left">pg_search</td>
<td align="left">0.21.9</td>
<td align="left">0.21.12</td>
<td align="left"></td>
</tr>
<tr>
<td align="left">pg_pinyin</td>
<td align="left">-</td>
<td align="left">0.0.2</td>
<td align="left">New extension</td>
</tr>
<tr>
<td align="left">pg_eviltransform</td>
<td align="left">-</td>
<td align="left">0.0.2</td>
<td align="left">New extension</td>
</tr>
<tr>
<td align="left">pg_qos</td>
<td align="left">-</td>
<td align="left">1.0.0</td>
<td align="left">New extension, QoS resource governance</td>
</tr>
</tbody>
</table>
<p><strong>Infrastructure Package Updates</strong></p>
<table>
<thead>
<tr>
<th align="left">Name</th>
<th align="left">Old Version</th>
<th align="left">New Version</th>
<th align="left">Notes</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left"><code>asciinema</code></td>
<td align="left">3.1.0</td>
<td align="left">3.2.0</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>grafana-infinity-ds</code></td>
<td align="left">3.7.2</td>
<td align="left">3.7.3</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>victoria-metrics</code></td>
<td align="left">1.136.0</td>
<td align="left">1.137.0</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>victoria-metrics-cluster</code></td>
<td align="left">1.136.0</td>
<td align="left">1.137.0</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>vmutils</code></td>
<td align="left">1.136.0</td>
<td align="left">1.137.0</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>hugo</code></td>
<td align="left">0.155.3</td>
<td align="left">0.157.0</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>opencode</code></td>
<td align="left">1.2.15</td>
<td align="left">1.2.17</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>rustfs</code></td>
<td align="left">1.0.0-alpha.83</td>
<td align="left">1.0.0-alpha.85</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>seaweedfs</code></td>
<td align="left">4.13</td>
<td align="left">4.15</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>tigerbeetle</code></td>
<td align="left">0.16.74</td>
<td align="left">0.16.75</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>uv</code></td>
<td align="left">0.10.4</td>
<td align="left">0.10.8</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>codex</code></td>
<td align="left">0.105.0</td>
<td align="left">0.110.0</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>claude</code></td>
<td align="left">2.1.59</td>
<td align="left">2.1.68</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>xray</code></td>
<td align="left">-</td>
<td align="left">26.2.6</td>
<td align="left">New</td>
</tr>
<tr>
<td align="left"><code>gost</code></td>
<td align="left">-</td>
<td align="left">2.12.0</td>
<td align="left">New</td>
</tr>
<tr>
<td align="left"><code>sabiql</code></td>
<td align="left">-</td>
<td align="left">1.6.2</td>
<td align="left">New</td>
</tr>
<tr>
<td align="left"><code>agentsview</code></td>
<td align="left">-</td>
<td align="left">0.10.0</td>
<td align="left">New</td>
</tr>
</tbody>
</table>
<p><strong>Checksums</strong></p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="262b7671424a38b208872582fe835ef8 pigsty-v4.2.1.tgz
62edcca1d1e572a247be018e1c26eda8 pigsty-pkg-v4.2.1.d12.aarch64.tgz
1d55367e2fd9106e6f18b7ee112be736 pigsty-pkg-v4.2.1.d12.x86_64.tgz
f122b1e5ba8a7ae8e3dc6e6dd53eba65 pigsty-pkg-v4.2.1.d13.aarch64.tgz
617a76bfc8df8766e78abf24339152eb pigsty-pkg-v4.2.1.d13.x86_64.tgz
908509b350403ad1a4a27a88795fee06 pigsty-pkg-v4.2.1.el10.aarch64.tgz
70cb4afd90ed7aea6ab43a264f8eb4a8 pigsty-pkg-v4.2.1.el10.x86_64.tgz
98fbd67334f5c674b12e6af81ef76923 pigsty-pkg-v4.2.1.el9.aarch64.tgz
687fa741ccd9dcf611a2aa964bcf1de8 pigsty-pkg-v4.2.1.el9.x86_64.tgz
a2a30f4b1146b3e79be91d5be57615b6 pigsty-pkg-v4.2.1.u22.aarch64.tgz
7a1f571bd8526106775c175ba728eee1 pigsty-pkg-v4.2.1.u22.x86_64.tgz
a5574071bac1955798265f71ad73c3d4 pigsty-pkg-v4.2.1.u24.aarch64.tgz
59a7632c650a3c034f1fe6cd589d7ab5 pigsty-pkg-v4.2.1.u24.x86_64.tgz"><pre>262b7671424a38b208872582fe835ef8 pigsty-v4.2.1.tgz
62edcca1d1e572a247be018e1c26eda8 pigsty-pkg-v4.2.1.d12.aarch64.tgz
1d55367e2fd9106e6f18b7ee112be736 pigsty-pkg-v4.2.1.d12.x86_64.tgz
f122b1e5ba8a7ae8e3dc6e6dd53eba65 pigsty-pkg-v4.2.1.d13.aarch64.tgz
617a76bfc8df8766e78abf24339152eb pigsty-pkg-v4.2.1.d13.x86_64.tgz
908509b350403ad1a4a27a88795fee06 pigsty-pkg-v4.2.1.el10.aarch64.tgz
70cb4afd90ed7aea6ab43a264f8eb4a8 pigsty-pkg-v4.2.1.el10.x86_64.tgz
98fbd67334f5c674b12e6af81ef76923 pigsty-pkg-v4.2.1.el9.aarch64.tgz
687fa741ccd9dcf611a2aa964bcf1de8 pigsty-pkg-v4.2.1.el9.x86_64.tgz
a2a30f4b1146b3e79be91d5be57615b6 pigsty-pkg-v4.2.1.u22.aarch64.tgz
7a1f571bd8526106775c175ba728eee1 pigsty-pkg-v4.2.1.u22.x86_64.tgz
a5574071bac1955798265f71ad73c3d4 pigsty-pkg-v4.2.1.u24.aarch64.tgz
59a7632c650a3c034f1fe6cd589d7ab5 pigsty-pkg-v4.2.1.u24.x86_64.tgz</pre></div>
<div class="markdown-alert markdown-alert-warning"><p class="markdown-alert-title"><svg data-component="Octicon" class="octicon octicon-alert mr-2" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></svg>Warning</p><p>PGDG 13/12 YUM REMOVE REMOVED SINCE MAR 2026!</p>
</div>
Vonng
tag:github.com,2008:Repository/268680961/v4.2.0
2026-02-28T06:36:58Z
v4.2.0 Kernel Update
<h2><strong>Highlights</strong></h2>
<ul>
<li>Aligned with PostgreSQL out-of-band minor updates: 18.3, 17.9, 16.13, 15.17, 14.22.</li>
<li>Total PostgreSQL extension coverage reaches 461 packages.</li>
<li>Kernel updates across Babelfish, AgensGraph, pgEdge, OriolePG, OpenHalo, and Cloudberry.</li>
<li>Babelfish template now uses a Pigsty-maintained PG17-compatible build, with no WiltonDB repo dependency.</li>
<li>Supabase images and self-hosted templates are refreshed to the latest stack, using Pigsty-maintained <a href="https://github.com/pgsty/minio">pgsty/minio</a>.</li>
</ul>
<h2><strong>Major Changes</strong></h2>
<ul>
<li><code>mssql</code> now defaults to Babelfish PG17 (<code>pg_version: 17</code>, <code>pg_packages: [babelfish, pgsql-common, sqlcmd]</code>) and no longer requires an extra <code>mssql</code> repo.</li>
<li>Kernel install paths are normalized in <code>pg_home_map</code>: <code>mssql -> /usr/babelfish-$v/</code>, <code>gpsql -> /usr/local/cloudberry</code>.</li>
<li><code>package_map</code> adds a dedicated <code>cloudberry</code> mapping and fixes <code>babelfish*</code> aliases to versioned RPM/DEB package names.</li>
<li>Redis data root default changes from <code>/data</code> to <code>/data/redis</code>; deployment blocks legacy defaults, while <code>redis_remove</code> keeps backward-compatible cleanup.</li>
<li><code>configure</code> now supports absolute <code>-o</code> output paths with auto-created parent directories, tri-state region detection (CN/global/offline fallback), and a fix for <code>behind_gfw()</code> hangs.</li>
<li>Debian/Ubuntu default repo URL mappings (<code>updates/backports/security</code>) and China mirror components are corrected to prevent bootstrap package failures.</li>
<li>Supabase stack is updated (including PostgREST <code>14.5</code> and Vector <code>0.53.0</code>) and now includes missing S3 protocol credential variables.</li>
<li>Rich/Sample templates explicitly define <code>dbuser_meta</code> defaults; <code>node.sh</code> systemd completion is simplified.</li>
<li><code>pgbackrest</code> stanza initialization now retries (2 attempts, 5-second interval) to reduce lock contention with <code>archive-push</code>.</li>
<li>Vibe template now ships <code>@anthropic-ai/claude-code</code>, <code>@openai/codex</code>, and <code>happy-coder</code>, and includes <code>age</code> in the default example.</li>
</ul>
<h2><strong>PG Software Updates</strong></h2>
<ul>
<li>PostgreSQL 18.3, 17.9, 16.13, 15.17, 14.22</li>
<li><a href="/pgsty/pigsty/blob/v4.2.0/docs/repo/pgsql/rpm/#2026-02-27">RPM Changelog 2026-02-27</a></li>
<li><a href="/pgsty/pigsty/blob/v4.2.0/docs/repo/pgsql/deb/#2026-02-27">DEB Changelog 2026-02-27</a></li>
<li>Core upgrades: <code>timescaledb 2.25.0 -> 2.25.1</code>, <code>citus 14.0.0-3 -> 14.0.0-4</code>, <code>pg_search -> 0.21.9</code></li>
<li>New/rebuilt: <code>pgedge 17.9</code>, <code>spock 5.0.5</code>, <code>lolor 1.2.2</code>, <code>snowflake 2.4</code>, <code>babelfish 5.5.0</code>, <code>cloudberry 2.0.0</code></li>
<li>Kernel-side updates: <code>oriolepg 17.11 -> 17.16</code>, <code>orioledb beta12 -> beta14</code>, <code>openhalo 14.10 -> 1.0(14.18)</code></li>
</ul>
<table>
<thead>
<tr>
<th align="left">Package</th>
<th align="left">Old Version</th>
<th align="left">New Version</th>
<th align="left">Notes</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left"><code>timescaledb</code></td>
<td align="left">2.25.0</td>
<td align="left">2.25.1</td>
<td align="left"></td>
</tr>
<tr>
<td align="left"><code>citus</code></td>
<td align="left">14.0.0-3</td>
<td align="left">14.0.0-4</td>
<td align="left">Rebuilt from the latest official release</td>
</tr>
<tr>
<td align="left"><code>age</code></td>
<td align="left">1.7.0</td>
<td align="left">1.7.0</td>
<td align="left">Added PG 17 support for version 1.7.0</td>
</tr>
<tr>
<td align="left"><code>pgmq</code></td>
<td align="left">1.10.0</td>
<td align="left">1.10.1</td>
<td align="left">Package currently unavailable</td>
</tr>
<tr>
<td align="left"><code>pg_search</code></td>
<td align="left">0.21.7 / 0.21.6</td>
<td align="left">0.21.9</td>
<td align="left">Previous RPM/DEB versions differ</td>
</tr>
<tr>
<td align="left"><code>oriolepg</code></td>
<td align="left">17.11</td>
<td align="left">17.16</td>
<td align="left">OriolePG kernel update</td>
</tr>
<tr>
<td align="left"><code>orioledb</code></td>
<td align="left">beta12</td>
<td align="left">beta14</td>
<td align="left">Matches OriolePG 17.16</td>
</tr>
<tr>
<td align="left"><code>openhalo</code></td>
<td align="left">14.10</td>
<td align="left">1.0</td>
<td align="left">Updated and renamed, based on 14.18</td>
</tr>
<tr>
<td align="left"><code>pgedge</code></td>
<td align="left">-</td>
<td align="left">17.9</td>
<td align="left">New multi-master edge-distributed kernel</td>
</tr>
<tr>
<td align="left"><code>spock</code></td>
<td align="left">-</td>
<td align="left">5.0.5</td>
<td align="left">New core pgEdge extension</td>
</tr>
<tr>
<td align="left"><code>lolor</code></td>
<td align="left">-</td>
<td align="left">1.2.2</td>
<td align="left">New core pgEdge extension</td>
</tr>
<tr>
<td align="left"><code>snowflake</code></td>
<td align="left">-</td>
<td align="left">2.4</td>
<td align="left">New core pgEdge extension</td>
</tr>
<tr>
<td align="left"><code>babelfishpg</code></td>
<td align="left">-</td>
<td align="left">5.5.0</td>
<td align="left">New BabelfishPG package group</td>
</tr>
<tr>
<td align="left"><code>babelfish</code></td>
<td align="left">-</td>
<td align="left">5.5.0</td>
<td align="left">New Babelfish compatibility package</td>
</tr>
<tr>
<td align="left"><code>antlr4-runtime413</code></td>
<td align="left">-</td>
<td align="left">4.13</td>
<td align="left">New runtime dependency for Babelfish</td>
</tr>
<tr>
<td align="left"><code>cloudberry</code></td>
<td align="left">-</td>
<td align="left">2.0.0</td>
<td align="left">RPM build only</td>
</tr>
<tr>
<td align="left"><code>pg_background</code></td>
<td align="left">-</td>
<td align="left">1.8</td>
<td align="left">DEB build only</td>
</tr>
</tbody>
</table>
<h2><strong>Infrastructure Software Updates</strong></h2>
<table>
<thead>
<tr>
<th align="left">Name</th>
<th align="left">Old Version</th>
<th align="left">New Version</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left"><code>grafana</code></td>
<td align="left">12.3.2</td>
<td align="left">12.4.0</td>
</tr>
<tr>
<td align="left"><code>prometheus</code></td>
<td align="left">3.9.1</td>
<td align="left">3.10.0</td>
</tr>
<tr>
<td align="left"><code>mongodb_exporter</code></td>
<td align="left">0.47.2</td>
<td align="left">0.49.0</td>
</tr>
<tr>
<td align="left"><code>victoria-metrics</code></td>
<td align="left">1.135.0</td>
<td align="left">1.136.0</td>
</tr>
<tr>
<td align="left"><code>victoria-metrics-cluster</code></td>
<td align="left">1.135.0</td>
<td align="left">1.136.0</td>
</tr>
<tr>
<td align="left"><code>vmutils</code></td>
<td align="left">1.135.0</td>
<td align="left">1.136.0</td>
</tr>
<tr>
<td align="left"><code>victoria-logs</code></td>
<td align="left">1.45.0</td>
<td align="left">1.47.0</td>
</tr>
<tr>
<td align="left"><code>vlagent</code></td>
<td align="left">1.45.0</td>
<td align="left">1.47.0</td>
</tr>
<tr>
<td align="left"><code>vlogscli</code></td>
<td align="left">1.45.0</td>
<td align="left">1.47.0</td>
</tr>
<tr>
<td align="left"><code>loki</code></td>
<td align="left">3.6.5</td>
<td align="left">3.6.7</td>
</tr>
<tr>
<td align="left"><code>promtail</code></td>
<td align="left">3.6.5</td>
<td align="left">3.6.7</td>
</tr>
<tr>
<td align="left"><code>logcli</code></td>
<td align="left">3.6.5</td>
<td align="left">3.6.7</td>
</tr>
<tr>
<td align="left"><code>grafana-victorialogs-ds</code></td>
<td align="left">0.24.1</td>
<td align="left">0.26.2</td>
</tr>
<tr>
<td align="left"><code>grafana-victoriametrics-ds</code></td>
<td align="left">0.21.0</td>
<td align="left">0.23.1</td>
</tr>
<tr>
<td align="left"><code>grafana-infinity-ds</code></td>
<td align="left">3.7.0</td>
<td align="left">3.7.2</td>
</tr>
<tr>
<td align="left"><code>redis_exporter</code></td>
<td align="left">1.80.2</td>
<td align="left">1.81.0</td>
</tr>
<tr>
<td align="left"><code>etcd</code></td>
<td align="left">3.6.7</td>
<td align="left">3.6.8</td>
</tr>
<tr>
<td align="left"><code>dblab</code></td>
<td align="left">0.34.2</td>
<td align="left">0.34.3</td>
</tr>
<tr>
<td align="left"><code>tigerbeetle</code></td>
<td align="left">0.16.72</td>
<td align="left">0.16.74</td>
</tr>
<tr>
<td align="left"><code>seaweedfs</code></td>
<td align="left">4.09</td>
<td align="left">4.13</td>
</tr>
<tr>
<td align="left"><code>rustfs</code></td>
<td align="left">1.0.0-alpha.82</td>
<td align="left">1.0.0-alpha.83</td>
</tr>
<tr>
<td align="left"><code>uv</code></td>
<td align="left">0.10.0</td>
<td align="left">0.10.4</td>
</tr>
<tr>
<td align="left"><code>kafka</code></td>
<td align="left">4.1.1</td>
<td align="left">4.2.0</td>
</tr>
<tr>
<td align="left"><code>npgsqlrest</code></td>
<td align="left">3.7.0</td>
<td align="left">3.10.0</td>
</tr>
<tr>
<td align="left"><code>postgrest</code></td>
<td align="left">14.4</td>
<td align="left">14.5</td>
</tr>
<tr>
<td align="left"><code>caddy</code></td>
<td align="left">2.10.2</td>
<td align="left">2.11.1</td>
</tr>
<tr>
<td align="left"><code>rclone</code></td>
<td align="left">1.73.0</td>
<td align="left">1.73.1</td>
</tr>
<tr>
<td align="left"><code>pev2</code></td>
<td align="left">1.20.1</td>
<td align="left">1.20.2</td>
</tr>
<tr>
<td align="left"><code>genai-toolbox</code></td>
<td align="left">0.25.0</td>
<td align="left">0.27.0</td>
</tr>
<tr>
<td align="left"><code>opencode</code></td>
<td align="left">1.1.59</td>
<td align="left">1.2.15</td>
</tr>
<tr>
<td align="left"><code>claude</code></td>
<td align="left">2.1.37</td>
<td align="left">2.1.59</td>
</tr>
<tr>
<td align="left"><code>codex</code></td>
<td align="left">0.104.0</td>
<td align="left">0.105.0</td>
</tr>
<tr>
<td align="left"><code>code</code></td>
<td align="left">1.109.2</td>
<td align="left">1.109.4</td>
</tr>
<tr>
<td align="left"><code>code-server</code></td>
<td align="left">4.108.2</td>
<td align="left">4.109.2</td>
</tr>
<tr>
<td align="left"><code>nodejs</code></td>
<td align="left">24.13.1</td>
<td align="left">24.14.0</td>
</tr>
<tr>
<td align="left"><code>pig</code></td>
<td align="left">1.1.2</td>
<td align="left">1.3.0</td>
</tr>
<tr>
<td align="left"><code>stalwart</code></td>
<td align="left">-</td>
<td align="left">0.15.5</td>
</tr>
<tr>
<td align="left"><code>maddy</code></td>
<td align="left">-</td>
<td align="left">0.8.2</td>
</tr>
</tbody>
</table>
<h2><strong>API Changes</strong></h2>
<ul>
<li><code>pg_mode</code> now includes <code>agens</code> and <code>pgedge</code>.</li>
<li><code>mssql</code> defaults are updated to <code>pg_version: 17</code> and <code>pg_packages: [babelfish, pgsql-common, sqlcmd]</code>.</li>
<li>Kernel/package alias mappings are updated in <code>pg_home_map</code> and <code>package_map</code> (Babelfish, OpenHalo, IvorySQL, Cloudberry, pgEdge family).</li>
<li><code>redis_fs_main</code> now defaults to <code>/data/redis</code>, with deployment guardrails and backward-compatible cleanup behavior.</li>
<li><code>configure</code> output path handling and region detection logic are updated, with offline fallback warnings and unified SSH probe timeouts.</li>
<li><code>grafana.ini.j2</code> is updated for Grafana 12.4 config changes and deprecations.</li>
</ul>
<h2><strong>Compatibility Notes</strong></h2>
<ul>
<li>If existing Redis configs still use <code>redis_fs_main: /data</code>, migrate to <code>/data/redis</code> before deployment.</li>
<li>Grafana 12.4 changes data link merge behavior. This release moves key links into field overrides; review custom dashboards accordingly.</li>
</ul>
<p><strong>26 commits</strong>, 122 files changed, +2,116 / -2,215 lines (<code>v4.1.0..v4.2.0</code>, 2026-02-15 ~ 2026-02-28)</p>
<h2><strong>Checksums</strong></h2>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="24a90427a7e7351ca1a43a7d53289970 pigsty-v4.2.0.tgz
d980edf5eeb0419d4f1aa7feb0100e14 pigsty-pkg-v4.2.0.d12.aarch64.tgz
24bc237d841457fbdcc899e1d0a3f87e pigsty-pkg-v4.2.0.d12.x86_64.tgz
e395b38685e2ecbe9c3a2850876d9b7b pigsty-pkg-v4.2.0.d13.aarch64.tgz
c5c8776f9bead9f29528b26058801f83 pigsty-pkg-v4.2.0.d13.x86_64.tgz
28ea40434bd06135fc8adc0df1c8407d pigsty-pkg-v4.2.0.el10.aarch64.tgz
58ad715ac20dc1717d1687daecfcf625 pigsty-pkg-v4.2.0.el10.x86_64.tgz
008f955439ea311581dd0ebcf5b8bd34 pigsty-pkg-v4.2.0.el8.aarch64.tgz
2acfd127a517b09f07540f808fe9547a pigsty-pkg-v4.2.0.el8.x86_64.tgz
58e62a92f35291a40e3f05839a1b6bc4 pigsty-pkg-v4.2.0.el9.aarch64.tgz
d311bfdf5d5f60df5fe6cb3d4ced4f9c pigsty-pkg-v4.2.0.el9.x86_64.tgz
c98972fe9226657ac1faa7b72a22498b pigsty-pkg-v4.2.0.u22.aarch64.tgz
44a174ee9ba030ac1ea386cf0b85f6e7 pigsty-pkg-v4.2.0.u22.x86_64.tgz
143e404f4681c7d0bbd78ef7982cd652 pigsty-pkg-v4.2.0.u24.aarch64.tgz
00dfa86f477f3adff984906211ab3190 pigsty-pkg-v4.2.0.u24.x86_64.tgz"><pre>24a90427a7e7351ca1a43a7d53289970 pigsty-v4.2.0.tgz
d980edf5eeb0419d4f1aa7feb0100e14 pigsty-pkg-v4.2.0.d12.aarch64.tgz
24bc237d841457fbdcc899e1d0a3f87e pigsty-pkg-v4.2.0.d12.x86_64.tgz
e395b38685e2ecbe9c3a2850876d9b7b pigsty-pkg-v4.2.0.d13.aarch64.tgz
c5c8776f9bead9f29528b26058801f83 pigsty-pkg-v4.2.0.d13.x86_64.tgz
28ea40434bd06135fc8adc0df1c8407d pigsty-pkg-v4.2.0.el10.aarch64.tgz
58ad715ac20dc1717d1687daecfcf625 pigsty-pkg-v4.2.0.el10.x86_64.tgz
008f955439ea311581dd0ebcf5b8bd34 pigsty-pkg-v4.2.0.el8.aarch64.tgz
2acfd127a517b09f07540f808fe9547a pigsty-pkg-v4.2.0.el8.x86_64.tgz
58e62a92f35291a40e3f05839a1b6bc4 pigsty-pkg-v4.2.0.el9.aarch64.tgz
d311bfdf5d5f60df5fe6cb3d4ced4f9c pigsty-pkg-v4.2.0.el9.x86_64.tgz
c98972fe9226657ac1faa7b72a22498b pigsty-pkg-v4.2.0.u22.aarch64.tgz
44a174ee9ba030ac1ea386cf0b85f6e7 pigsty-pkg-v4.2.0.u22.x86_64.tgz
143e404f4681c7d0bbd78ef7982cd652 pigsty-pkg-v4.2.0.u24.aarch64.tgz
00dfa86f477f3adff984906211ab3190 pigsty-pkg-v4.2.0.u24.x86_64.tgz</pre></div>
Vonng
tag:github.com,2008:Repository/268680961/v4.1.0
2026-02-23T07:02:12Z
v4.1.0 PG & Linux Minor Update
<div class="markdown-alert markdown-alert-caution"><p class="markdown-alert-title"><svg data-component="Octicon" class="octicon octicon-stop mr-2" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="M4.47.22A.749.749 0 0 1 5 0h6c.199 0 .389.079.53.22l4.25 4.25c.141.14.22.331.22.53v6a.749.749 0 0 1-.22.53l-4.25 4.25A.749.749 0 0 1 11 16H5a.749.749 0 0 1-.53-.22L.22 11.53A.749.749 0 0 1 0 11V5c0-.199.079-.389.22-.53Zm.84 1.28L1.5 5.31v5.38l3.81 3.81h5.38l3.81-3.81V5.31L10.69 1.5ZM8 4a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 8 4Zm0 8a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path></svg>Caution</p>
<h2>Do Not Deploy with v4.1.0 Packages Until PostgreSQL Patch Release</h2>
<p>The offline packages shipped with Pigsty v4.1.0 were built against PostgreSQL 18.2, 17.8, and corresponding minor versions. <a href="https://www.postgresql.org/about/news/out-of-cycle-release-scheduled-for-february-26-2026-3241/" rel="nofollow">Two bugs have since been identified in these releases, and the PostgreSQL Global Development Group will publish out-of-cycle minor releases (e.g. 18.3, 17.9, …) on 2026-02-26 to address them.</a><br>
We strongly recommend holding off on any new deployment until Pigsty v4.2.0 is available with the patched PostgreSQL packages. Specifically:</p>
<p>Do not perform online installations during this window — upstream repos will pull in the affected versions until the fix is published.<br>
Do not use the v4.1.0 offline packages — they contain the affected binaries.<br>
If you have an urgent deployment need, consider using the <a href="https://github.com/pgsty/pigsty/releases/tag/v4.0.0">v4.0.0 offline packages</a>, which ship with the PostgreSQL 18.1 series and are not affected. We will release Pigsty v4.2.0 shortly after the upstream patch lands. Stay tuned.</p>
</div>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="curl https://pigsty.io/get | bash -s v4.1.0"><pre>curl https://pigsty.io/get <span class="pl-k">|</span> bash -s v4.1.0</pre></div>
<p><strong>72 commits</strong>, 252 files changed, +5,744 / -5,015 lines (<code>v4.0.0..v4.1.0</code>, 2026-02-02 ~ 2026-02-13)</p>
<p><strong>Highlights</strong></p>
<ul>
<li>PostgreSQL minor update: 18.2, 17.8, 16.12, 15.16, 14.21.</li>
<li>Default EL minors updated to <code>9.7 / 10.1</code>, Debian minors updated to <code>12.13 / 13.3</code>.</li>
<li>Added 7 new extensions, bringing total support to <strong>451</strong> extensions.</li>
<li><code>pig</code> moved from a traditional script interface to an <strong>Agent-Native CLI</strong> (<code>1.0.0 -> 1.1.0</code>), with explicit context and JSON/YAML output.</li>
<li><code>pig</code> now provides unified <strong>major/minor upgrade</strong> workflows for PostgreSQL and OS lifecycle updates.</li>
<li><code>pg_exporter</code> upgraded to <strong>v1.2.0</strong> (<code>1.1.2 -> 1.2.0</code>), with PG17/18 metric pipeline and unit fixes.</li>
<li>Default firewall security policy updated: <code>node_firewall_mode</code> now defaults to <code>zone</code>, and <code>node_firewall_public_port</code> default changed from <code>[22,80,443,5432]</code> to <code>[22,80,443]</code>.</li>
<li>Focused PGSQL/PGCAT Grafana usability fixes: dynamic datasource <code>$dsn</code>, schema-level drilldown, age metrics, link mapping consistency.</li>
<li>Added one-click Mattermost application template, including database/storage/portal and optional PGFS/JuiceFS options.</li>
<li>Refactored <code>infra-rm</code> uninstall flow with segmented <code>deregister</code> cleanup for Victoria targets, Grafana datasources, and Vector logs.</li>
<li>Optimized default PostgreSQL autovacuum thresholds to reduce excessive vacuum/analyze on small tables.</li>
<li>Fixed FD limit chain: added <code>fs.nr_open=8M</code> and unified <code>LimitNOFILE=8M</code> to avoid startup failures from systemd/setrlimit.</li>
<li>Updated VIBE defaults: Jupyter disabled by default; Claude Code managed via npm package.</li>
</ul>
<p><strong>Version Updates</strong></p>
<ul>
<li>Pigsty version: <code>v4.0.0 -> v4.1.0</code></li>
<li><code>pig</code> CLI: <code>1.0.0 -> 1.1.0</code> (Agent-Native + major/minor upgrade support)</li>
<li><code>pg_exporter</code>: <code>1.1.2 -> 1.2.0</code></li>
<li>Default EL minors: <code>9.6/10.0 -> 9.7/10.1</code></li>
<li>Default Debian minors: <code>12.12/13.1 -> 12.13/13.3</code></li>
</ul>
<p><strong>Extension Updates</strong></p>
<ul>
<li><a href="/pgsty/pigsty/blob/v4.1.0/docs/repo/pgsql/rpm/#2026-02-12">RPM Changelog 2026-02-12</a></li>
<li><a href="/pgsty/pigsty/blob/v4.1.0/docs/repo/pgsql/deb/#2026-02-12">DEB Changelog 2026-02-12</a></li>
<li>timescaledb <code>2.24.0 -> 2.25.0</code></li>
<li>pg_search <code>0.21.4 -> 0.21.7</code></li>
<li>pgmq <code>1.9.0 -> 1.10.0</code></li>
<li>pg_textsearch <code>0.4.0 -> 0.5.0</code></li>
<li>pljs <code>1.0.4 -> 1.0.5</code></li>
<li>pg_track_optimizer <code>0.9.1</code> (new)</li>
<li>nominatim_fdw <code>1.1.0</code> (new)</li>
<li>pg_utl_smtp <code>1.0.0</code> (new)</li>
<li>pg_strict <code>1.0.2</code> (new)</li>
<li>pgmb <code>1.0.0</code> (new)</li>
<li>pg_pwhash (new support)</li>
<li>informix_fdw (new support)</li>
</ul>
<p><strong>INFRA Component Versions</strong></p>
<p><a href="/pgsty/pigsty/blob/v4.1.0/docs/repo/infra/log/#2026-02-12">Infra Changelog 2026-02-12</a></p>
<table>
<thead>
<tr>
<th>Package</th>
<th>Version</th>
<th>Package</th>
<th>Version</th>
</tr>
</thead>
<tbody>
<tr>
<td>victoria-metrics</td>
<td>1.135.0</td>
<td>victoria-logs</td>
<td>1.45.0</td>
</tr>
<tr>
<td>vector</td>
<td>0.53.0</td>
<td>grafana</td>
<td>12.3.2</td>
</tr>
<tr>
<td>alertmanager</td>
<td>0.31.1</td>
<td>etcd</td>
<td>3.6.7</td>
</tr>
<tr>
<td>duckdb</td>
<td>1.4.4</td>
<td>pg_exporter</td>
<td>1.2.0</td>
</tr>
<tr>
<td>pig</td>
<td>1.1.0</td>
<td>claude</td>
<td>2.1.37</td>
</tr>
<tr>
<td>opencode</td>
<td>1.1.59</td>
<td>uv</td>
<td>0.10.0</td>
</tr>
<tr>
<td>code-server</td>
<td>4.108.2</td>
<td>caddy</td>
<td>2.10.2</td>
</tr>
<tr>
<td>hugo</td>
<td>0.155.2</td>
<td>cloudflared</td>
<td>2026.2.0</td>
</tr>
<tr>
<td>headscale</td>
<td>0.28.0</td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
<p><strong>API Changes</strong></p>
<ul>
<li>Corrected template guard for <code>io_method</code> / <code>io_workers</code> from <code>pg_version >= 17</code> to <code>pg_version >= 18</code>.</li>
<li>Fixed PG18 guards for <code>idle_replication_slot_timeout</code> / <code>initdb --no-data-checksums</code>.</li>
<li>Broadened <code>maintenance_io_concurrency</code> effective range to <code>PG13+</code>.</li>
<li>Raised <code>autovacuum_vacuum_threshold</code>: <code>oltp/crit/tiny</code> from 50 to 500, <code>olap</code> to 1000.</li>
<li>Raised <code>autovacuum_analyze_threshold</code>: <code>oltp/crit/tiny</code> from 50 to 250, <code>olap</code> to 500.</li>
<li>Increased default <code>checkpoint_completion_target</code> from <code>0.90</code> to <code>0.95</code>.</li>
<li>Added <code>fs.nr_open=8388608</code> in node tuned templates and aligned <code>fs.file-max / fs.nr_open / LimitNOFILE</code>.</li>
<li>Changed postgres/patroni/minio systemd <code>LimitNOFILE</code> from <code>16777216</code> to <code>8388608</code>.</li>
<li>Added <code>fs.nr_open: 8388608</code> into default <code>node_sysctl_params</code>.</li>
<li>Changed <code>node_firewall_mode</code> default from <code>none</code> to <code>zone</code>: firewall enabled by default, intranet trusted, and only <code>node_firewall_public_port</code> exposed publicly; set <code>none</code> for fully self-managed firewall.</li>
<li>Changed <code>node_firewall_public_port</code> default from <code>[22,80,443,5432]</code> to <code>[22,80,443]</code>; add <code>5432</code> explicitly only when public DB access is required. Firewall rules are add-only, so existing nodes that already exposed <code>5432</code> must remove it manually. Single-node experience templates (such as <code>meta</code> / <code>vibe</code>) explicitly override and keep <code>5432</code> for remote usage.</li>
<li>Added <code>bin/validate</code> checks for <code>pg_databases[*].parameters</code> and <code>pg_hba_rules[*].order</code>; fixed HBA validation not returning failure properly.</li>
<li>Added segmented tags in <code>infra-rm.yml</code>: <code>deregister</code>, <code>config</code>, <code>env</code>, etc.</li>
<li>Updated VIBE defaults: <code>jupyter_enabled=false</code>, <code>npm_packages</code> include <code>@anthropic-ai/claude-code</code> and <code>happy-coder</code>, plus <code>CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1</code>.</li>
<li>PgBouncer alias cleanup: <code>pool_size_reserve -> pool_reserve</code>, <code>pool_max_db_conn -> pool_connlimit</code>.</li>
</ul>
<p><strong>Compatibility Fixes (Deduplicated)</strong></p>
<ul>
<li>Note: repeated regressions/re-fixes of the same issue are counted once and merged by problem domain below.</li>
<li>Fixed Redis <code>replicaof</code> empty-guard logic and systemd stop behavior.</li>
<li>Fixed schema/table/sequence qualification, identifier quoting, and logging format safety in <code>pg_migration</code>.</li>
<li>Fixed restart targets and variable usage in pgsql role handlers.</li>
<li>Fixed blackbox config filename cleanup item and pgAdmin pgpass file format.</li>
<li>Made <code>pg_exporter</code> startup non-blocking to avoid slowing main flow when exporter fails.</li>
<li>Simplified VIP CIDR parsing: default mask <code>24</code> when omitted.</li>
<li>Increased MinIO health-check retries from <code>3</code> to <code>5</code>.</li>
<li>Switched node hostname setup to Ansible hostname module instead of shell calls.</li>
<li>Fixed <code>.env</code> format for <code>app/electric</code> and <code>app/pg_exporter</code> to standard <code>KEY=VALUE</code>.</li>
<li>Fixed <code>pg_crontab</code> syntax error in <code>pigsty.yml</code>.</li>
<li>Updated ETCD docs to clarify default TLS vs optional mTLS semantics.</li>
<li>Fixed <code>repo-add</code> argument passing, Debian CN mirror component compatibility, and <code>bin/psql.py</code> Python 3 compatibility.</li>
<li>Hardened redis-exporter credential file permissions.</li>
<li><code>pgsql-user.yml</code> now masks credential logs (<code>no_log</code>) on sensitive steps.</li>
<li>Fixed gate conditions when <code>pg_monitor</code> registers Victoria targets.</li>
<li>Changed <code>pg_remove</code> backup cleanup to cluster-level directory to avoid deleting other cluster backups.</li>
</ul>
<p><strong>Commit List (<code>v4.0.0..v4.1.0</code>, 72 commits, 2026-02-02 ~ 2026-02-13)</strong></p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="7410de401 v4.1.0 release
fa31213ce conf(node): default firewall to zone with single-node 5432 override
bb8382c58 update default extension list to 451
770d01959 hide user credential in pgsql-user playbook
7219a896c pg_monitor: fix victoria registration gate conditions
084c98432 remove one cluster in backup dir during pg_remove
7005617f1 pgsql: drop legacy pgbouncer pool parameter aliases
f8165a886 docs(roles): fix typos and align juice role documentation
06a589218 chore(meta): normalize platform versions for current lint schema
e0a208248 fix(roles): harden redis exporter file permissions
fd0469881 terraform/vagrant: parameterize aliyun region/zone, fix vagrant scripts
74c59aabe grafana: fix dashboard links, descriptions, and overrides
443e58724 conf: clean legacy params and fix template references
536c4b39d adjust grafana dashboard dead links
f3b9866ce grafana(pgsql): fix panel typos and title consistency
bcb69be11 grafana(pgsql): fix drilldown links and variable mappings
1ce4374a1 grafana: fill pglog panel titles and normalize wording
2d127f9f4 grafana: fix minio traffic metrics and pigsty dashboard links
9d3ca0118 grafana: align victoria instance dashboards with query scope
55bc61622 grafana: fix infra dashboard copy, links, and table semantics
607b75535 grafana(node): fix panel drilldown links and clean dashboard metadata
1321de532 grafana(redis): fix dashboard links and blocked-clients panel semantics
91e0c8437 fix(grafana): correct Redis alert drill-down dashboard links
0fde78c02 fix(tooling): improve Python3 compatibility and enforce vagrant scale lower bound
fa3454a52 fix(bootstrap): use Debian-compatible components for CN apt mirror
36c95c749 fix(cli): restore repo-add execution and HBA validation failure propagation
797385929 add macbook local vagrant image override
f9c928e32 fix(grafana): restore reverted dashboard bugfixes
c11af8b6a Bump version to v4.1.0
307a236ba update extension list
f17024807 override el9/u24 vagrant box for convient testing
c2ada1283 terraform: bump Aliyun Debian images to 12.13/13.3
25bd8210f fix(node): add daemon_reload to systemd tasks for keepalived, chronyd, and cron
6f2576fd0 fix(node): set default fs.nr_open via node_sysctl_params
43a71245e add pg_bgwriter_buffers_backend for pg 17-
da832a47b fix(monitor): keep checkpointer metrics for checkpoint stats
90434ca8a fix(monitor): add pg_bgwriter fallback for checkpointer metrics
e2d75e787 fix(monitor): use pg_checkpointer metrics for checkpoint stats
a0b7474f8 fix grafana dashboard metrics and lengend
27ddacbc6 vagrant: refresh box selector and OS shortcuts
26e108788 fix(monitor): correct unit for time metrics scaled by pg_exporter
ee90044b5 fix(pgsql): correct min_parallel scan size params in oltp/crit templates
d439464b2 pgsql: fix pg_version guards for PG18-only settings
26320f120 docs: recommend RockyLinux 10.1
1e9b9f33a terraform: bump Aliyun Rocky images to 9.7/10.1
d6e9c7122 monitor: optimize table/index bloat estimators
42d45d32e fix(grafana): align panel semantics across node/infra/redis
3972d2c45 fix(grafana/pgsql): align dashboard semantics for query monitoring
cb52375ac bump checkpoint_completion_target from 0.90 to 0.95
13115a95d fix legend in pgsql-persist checkpoint panel
102cd2edb fix(pg_migration): make template logging format-safe
c402f0e6d fix: correct io_method/io_workers version guard from PG17 to PG18
3bf676546 vibe: disable jupyter by default and install claude-code via npm_packages
613c4efa9 fix: set fs.nr_open in tuned profiles and reduce LimitNOFILE to 8M
07e499d4d new app conf template matter most
4cc68ed61 Refine infra removal playbook
7cfb98f69 fix: app docker .env file format
9b36b1875 Fix config templates and validation
318d85e6e Simplify VIP parsing and make pg_exporter non-blocking
571cd9e70 Use hostname module for nodename
de98f073c Fix blackbox config filename and pgpass format
4bff01100 Fix redis replicaof guard and systemd stop
38445b68d minio: increase health check retries
c99854969 docs(etcd): clarify TLS vs mTLS
41229124a fix pgsql roles typo
e575d17c6 fix pg_migration scripts to use fully qualified identifiers
ec4207202 fix pgsql-schema broken links
a237e6c99 tune autovacuum threshold to reduce small table vacuum frequency
e80754760 fix pgcat-database links to pgcat-table https://github.com/pgsty/pigsty/issues/690
0060f5346 fix pgsql-database / pgsql-databases age metric fix https://github.com/pgsty/pigsty/issues/695
43cdf72bc fix pigsty.yml typo
0d9db7b08 fix: update datasource to $dsn - fix https://github.com/pgsty/pigsty/issues/692#issuecomment-3835461620"><pre class="notranslate"><code>7410de401 v4.1.0 release
fa31213ce conf(node): default firewall to zone with single-node 5432 override
bb8382c58 update default extension list to 451
770d01959 hide user credential in pgsql-user playbook
7219a896c pg_monitor: fix victoria registration gate conditions
084c98432 remove one cluster in backup dir during pg_remove
7005617f1 pgsql: drop legacy pgbouncer pool parameter aliases
f8165a886 docs(roles): fix typos and align juice role documentation
06a589218 chore(meta): normalize platform versions for current lint schema
e0a208248 fix(roles): harden redis exporter file permissions
fd0469881 terraform/vagrant: parameterize aliyun region/zone, fix vagrant scripts
74c59aabe grafana: fix dashboard links, descriptions, and overrides
443e58724 conf: clean legacy params and fix template references
536c4b39d adjust grafana dashboard dead links
f3b9866ce grafana(pgsql): fix panel typos and title consistency
bcb69be11 grafana(pgsql): fix drilldown links and variable mappings
1ce4374a1 grafana: fill pglog panel titles and normalize wording
2d127f9f4 grafana: fix minio traffic metrics and pigsty dashboard links
9d3ca0118 grafana: align victoria instance dashboards with query scope
55bc61622 grafana: fix infra dashboard copy, links, and table semantics
607b75535 grafana(node): fix panel drilldown links and clean dashboard metadata
1321de532 grafana(redis): fix dashboard links and blocked-clients panel semantics
91e0c8437 fix(grafana): correct Redis alert drill-down dashboard links
0fde78c02 fix(tooling): improve Python3 compatibility and enforce vagrant scale lower bound
fa3454a52 fix(bootstrap): use Debian-compatible components for CN apt mirror
36c95c749 fix(cli): restore repo-add execution and HBA validation failure propagation
797385929 add macbook local vagrant image override
f9c928e32 fix(grafana): restore reverted dashboard bugfixes
c11af8b6a Bump version to v4.1.0
307a236ba update extension list
f17024807 override el9/u24 vagrant box for convient testing
c2ada1283 terraform: bump Aliyun Debian images to 12.13/13.3
25bd8210f fix(node): add daemon_reload to systemd tasks for keepalived, chronyd, and cron
6f2576fd0 fix(node): set default fs.nr_open via node_sysctl_params
43a71245e add pg_bgwriter_buffers_backend for pg 17-
da832a47b fix(monitor): keep checkpointer metrics for checkpoint stats
90434ca8a fix(monitor): add pg_bgwriter fallback for checkpointer metrics
e2d75e787 fix(monitor): use pg_checkpointer metrics for checkpoint stats
a0b7474f8 fix grafana dashboard metrics and lengend
27ddacbc6 vagrant: refresh box selector and OS shortcuts
26e108788 fix(monitor): correct unit for time metrics scaled by pg_exporter
ee90044b5 fix(pgsql): correct min_parallel scan size params in oltp/crit templates
d439464b2 pgsql: fix pg_version guards for PG18-only settings
26320f120 docs: recommend RockyLinux 10.1
1e9b9f33a terraform: bump Aliyun Rocky images to 9.7/10.1
d6e9c7122 monitor: optimize table/index bloat estimators
42d45d32e fix(grafana): align panel semantics across node/infra/redis
3972d2c45 fix(grafana/pgsql): align dashboard semantics for query monitoring
cb52375ac bump checkpoint_completion_target from 0.90 to 0.95
13115a95d fix legend in pgsql-persist checkpoint panel
102cd2edb fix(pg_migration): make template logging format-safe
c402f0e6d fix: correct io_method/io_workers version guard from PG17 to PG18
3bf676546 vibe: disable jupyter by default and install claude-code via npm_packages
613c4efa9 fix: set fs.nr_open in tuned profiles and reduce LimitNOFILE to 8M
07e499d4d new app conf template matter most
4cc68ed61 Refine infra removal playbook
7cfb98f69 fix: app docker .env file format
9b36b1875 Fix config templates and validation
318d85e6e Simplify VIP parsing and make pg_exporter non-blocking
571cd9e70 Use hostname module for nodename
de98f073c Fix blackbox config filename and pgpass format
4bff01100 Fix redis replicaof guard and systemd stop
38445b68d minio: increase health check retries
c99854969 docs(etcd): clarify TLS vs mTLS
41229124a fix pgsql roles typo
e575d17c6 fix pg_migration scripts to use fully qualified identifiers
ec4207202 fix pgsql-schema broken links
a237e6c99 tune autovacuum threshold to reduce small table vacuum frequency
e80754760 fix pgcat-database links to pgcat-table https://github.com/pgsty/pigsty/issues/690
0060f5346 fix pgsql-database / pgsql-databases age metric fix https://github.com/pgsty/pigsty/issues/695
43cdf72bc fix pigsty.yml typo
0d9db7b08 fix: update datasource to $dsn - fix https://github.com/pgsty/pigsty/issues/692#issuecomment-3835461620
</code></pre></div>
<p><strong>Thanks</strong></p>
<ul>
<li>Thanks to <a href="https://github.com/l2dy">@l2dy</a> for many valuable suggestions and issues.</li>
</ul>
<p><strong>Checksums</strong></p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="8bc75e8df0e3830931f2ddab71b89630 pigsty-v4.1.0.tgz
da10de99d819421630f430d01bc9de62 pigsty-pkg-v4.1.0.d12.aarch64.tgz
e1f2ed2da0d6b8c360f9fa2faaa7e175 pigsty-pkg-v4.1.0.d12.x86_64.tgz
382bb38a81c138b1b3e7c194211c2138 pigsty-pkg-v4.1.0.d13.aarch64.tgz
13ceaa728901cc4202687f03d25f1479 pigsty-pkg-v4.1.0.d13.x86_64.tgz
92d061de4d495d05d42f91e4283e7502 pigsty-pkg-v4.1.0.el10.aarch64.tgz
be629ea91adf86bbd7e1c59b659d0069 pigsty-pkg-v4.1.0.el10.x86_64.tgz
c14be706119ba33dd06c71dda6c02298 pigsty-pkg-v4.1.0.el8.aarch64.tgz
0c8b6952ffc00e3b169896129ea39184 pigsty-pkg-v4.1.0.el8.x86_64.tgz
cfcc63b9ecc525165674f58f9365aa19 pigsty-pkg-v4.1.0.el9.aarch64.tgz
34f733080bfa9c8515d1573c35f3e870 pigsty-pkg-v4.1.0.el9.x86_64.tgz
ad52ce9bf25e4d834e55873b3f9ada51 pigsty-pkg-v4.1.0.u22.aarch64.tgz
300b2185c61a03ea7733248e526f3342 pigsty-pkg-v4.1.0.u22.x86_64.tgz
2e561e6ae9abb14796872059d2f694a8 pigsty-pkg-v4.1.0.u24.aarch64.tgz
c462bb4cb2359e771ffcad006888fbd4 pigsty-pkg-v4.1.0.u24.x86_64.tgz"><pre>8bc75e8df0e3830931f2ddab71b89630 pigsty-v4.1.0.tgz
da10de99d819421630f430d01bc9de62 pigsty-pkg-v4.1.0.d12.aarch64.tgz
e1f2ed2da0d6b8c360f9fa2faaa7e175 pigsty-pkg-v4.1.0.d12.x86_64.tgz
382bb38a81c138b1b3e7c194211c2138 pigsty-pkg-v4.1.0.d13.aarch64.tgz
13ceaa728901cc4202687f03d25f1479 pigsty-pkg-v4.1.0.d13.x86_64.tgz
92d061de4d495d05d42f91e4283e7502 pigsty-pkg-v4.1.0.el10.aarch64.tgz
be629ea91adf86bbd7e1c59b659d0069 pigsty-pkg-v4.1.0.el10.x86_64.tgz
c14be706119ba33dd06c71dda6c02298 pigsty-pkg-v4.1.0.el8.aarch64.tgz
0c8b6952ffc00e3b169896129ea39184 pigsty-pkg-v4.1.0.el8.x86_64.tgz
cfcc63b9ecc525165674f58f9365aa19 pigsty-pkg-v4.1.0.el9.aarch64.tgz
34f733080bfa9c8515d1573c35f3e870 pigsty-pkg-v4.1.0.el9.x86_64.tgz
ad52ce9bf25e4d834e55873b3f9ada51 pigsty-pkg-v4.1.0.u22.aarch64.tgz
300b2185c61a03ea7733248e526f3342 pigsty-pkg-v4.1.0.u22.x86_64.tgz
2e561e6ae9abb14796872059d2f694a8 pigsty-pkg-v4.1.0.u24.aarch64.tgz
c462bb4cb2359e771ffcad006888fbd4 pigsty-pkg-v4.1.0.u24.x86_64.tgz</pre></div>
Vonng
tag:github.com,2008:Repository/268680961/v4.0.0
2026-01-30T08:43:37Z
Pigsty v4.0: Into the AI Era
<h2>Quick Start</h2>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="curl https://pigsty.io/get | bash -s v4.0.0"><pre>curl https://pigsty.io/get <span class="pl-k">|</span> bash -s v4.0.0</pre></div>
<p><strong>318 commits</strong>, 604 files changed, +118,655 / -327,552 lines</p>
<p><strong>Release Date: 2026-01-28</strong> | <a href="https://github.com/pgsty/pigsty/releases/tag/v4.0.0">GitHub</a> | <a href="https://pigsty.io" rel="nofollow">Docs EN</a> | <a href="https://pigsty.cc" rel="nofollow">Docs CN</a></p>
<hr>
<h2>Highlights</h2>
<ul>
<li><strong>Observability Revolution</strong>: Prometheus → VictoriaMetrics (10x perf), Loki+Promtail → VictoriaLogs+Vector</li>
<li><strong>Security Hardening</strong>: Auto-generated passwords, etcd RBAC, firewall/SELinux modes, permission tightening, Nginx Basic Auth</li>
<li><strong>Docker Support</strong>: Run Pigsty in Docker containers with full systemd support (macOS & Linux)</li>
<li><strong>New Module</strong>: JUICE - Mount PostgreSQL as filesystem with PITR recovery capability</li>
<li><strong>New Module</strong>: VIBE - AI coding sandbox with Claude Code, JupyterLab, VS Code Server, Node.js</li>
<li><strong>Database Management</strong>: <code>pg_databases</code> state (create/absent/recreate), instant clone with <code>strategy</code></li>
<li><strong>PITR & Fork</strong>: <code>/pg/bin/pg-fork</code> for instant CoW cloning, enhanced <code>pg-pitr</code> with pre-backup</li>
<li><strong>HA Enhancement</strong>: <code>pg_rto_plan</code> with 4 RTO presets (fast/norm/safe/wide), <code>pg_crontab</code> scheduled tasks</li>
<li><strong>Multi-Cloud Terraform</strong>: AWS, Azure, GCP, Hetzner, DigitalOcean, Linode, Vultr, TencentCloud templates</li>
<li><strong>License Change</strong>: AGPL-3.0 → Apache-2.0</li>
</ul>
<p><a href="https://github.com/pgsty/pigsty/releases/tag/v4.0.0"><img src="/pgsty/pigsty/raw/v4.0.0/featured.jpg" alt="" style="max-width: 100%;"></a></p>
<hr>
<h2>Infrastructure Package Updates</h2>
<p>MinIO now uses <a href="https://github.com/pgsty/minio"><strong>pgsty/minio</strong></a> fork RPM/DEB.</p>
<table>
<thead>
<tr>
<th>Package</th>
<th>Version</th>
<th>Package</th>
<th>Version</th>
</tr>
</thead>
<tbody>
<tr>
<td>victoria-metrics</td>
<td>1.134.0</td>
<td>victoria-logs</td>
<td>1.43.1</td>
</tr>
<tr>
<td>vector</td>
<td>0.52.0</td>
<td>grafana</td>
<td>12.3.1</td>
</tr>
<tr>
<td>alertmanager</td>
<td>0.30.1</td>
<td>etcd</td>
<td>3.6.7</td>
</tr>
<tr>
<td>duckdb</td>
<td>1.4.4</td>
<td>pg_exporter</td>
<td>1.1.2</td>
</tr>
<tr>
<td>pgbackrest_exporter</td>
<td>0.22.0</td>
<td>blackbox_exporter</td>
<td>0.28.0</td>
</tr>
<tr>
<td>node_exporter</td>
<td>1.10.2</td>
<td>minio</td>
<td>20251203</td>
</tr>
<tr>
<td>pig</td>
<td>1.0.0</td>
<td>claude</td>
<td>2.1.19</td>
</tr>
<tr>
<td>opencode</td>
<td>1.1.34</td>
<td>uv</td>
<td>0.9.26</td>
</tr>
<tr>
<td>asciinema</td>
<td>3.1.0</td>
<td>prometheus</td>
<td>3.9.1</td>
</tr>
<tr>
<td>pushgateway</td>
<td>1.11.2</td>
<td>juicefs</td>
<td>1.4.0</td>
</tr>
<tr>
<td>code-server</td>
<td>4.100.2</td>
<td>caddy</td>
<td>2.10.2</td>
</tr>
<tr>
<td>hugo</td>
<td>0.154.5</td>
<td>cloudflared</td>
<td>2026.1.1</td>
</tr>
<tr>
<td>headscale</td>
<td>0.27.1</td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
<hr>
<h2>Docker Support</h2>
<p>Pigsty now supports running in <strong>Docker containers</strong> with full systemd support, working on both macOS (Docker Desktop) and Linux.</p>
<p><strong>Quick Start</strong>:</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="cd ~/pigsty/docker; make launch # = make up config deploy"><pre><span class="pl-c1">cd</span> <span class="pl-k">~</span>/pigsty/docker<span class="pl-k">;</span> make launch <span class="pl-c"><span class="pl-c">#</span> = make up config deploy</span></pre></div>
<hr>
<h2>New Modules</h2>
<p>v4.0.0 adds two <strong>optional modules</strong> that don't affect core Pigsty functionality:</p>
<p><strong>JUICE Module</strong>: JuiceFS Distributed Filesystem</p>
<ul>
<li>Uses PostgreSQL as metadata engine, supports PITR recovery for filesystem</li>
<li>Multiple storage backends: PostgreSQL large objects, MinIO, S3</li>
<li>Multi-instance deployment with Prometheus metrics per instance</li>
<li>New <code>node-juice</code> dashboard for JuiceFS monitoring</li>
<li>New <code>juice.yml</code> playbook for deployment</li>
<li>Parameters: <code>juice_cache</code>, <code>juice_instances</code></li>
</ul>
<p><strong>VIBE Module</strong>: AI Coding Sandbox (Code-Server + JupyterLab + Node.js + Claude Code)</p>
<ul>
<li>
<p><strong>Code-Server</strong>: VS Code in browser</p>
<ul>
<li>Deploy Code-Server with Nginx reverse proxy for HTTPS</li>
<li>Supports Open VSX and Microsoft extension galleries</li>
<li>Set <code>code_enabled: false</code> to disable</li>
<li>Parameters: <code>code_enabled</code>, <code>code_port</code>, <code>code_data</code>, <code>code_password</code>, <code>code_gallery</code></li>
</ul>
</li>
<li>
<p><strong>JupyterLab</strong>: Interactive computing environment</p>
<ul>
<li>Deploy JupyterLab with Nginx reverse proxy for HTTPS</li>
<li>Python venv configuration for data science libraries</li>
<li>Set <code>jupyter_enabled: false</code> to disable</li>
<li>Parameters: <code>jupyter_enabled</code>, <code>jupyter_port</code>, <code>jupyter_data</code>, <code>jupyter_password</code>, <code>jupyter_venv</code></li>
</ul>
</li>
<li>
<p><strong>Node.js</strong>: JavaScript runtime environment</p>
<ul>
<li>Install Node.js with npm package manager</li>
<li>Auto-configure China npm mirror when <code>region=china</code></li>
<li>Set <code>nodejs_enabled: false</code> to disable</li>
<li>Parameters: <code>nodejs_enabled</code>, <code>nodejs_registry</code></li>
</ul>
</li>
<li>
<p><strong>Claude Code</strong>: AI coding assistant CLI configuration</p>
<ul>
<li>Configure Claude Code CLI, skip onboarding</li>
<li>Built-in OpenTelemetry config sending metrics/logs to Victoria stack</li>
<li>New <code>claude-code</code> dashboard for usage monitoring</li>
<li>Set <code>claude_enabled: false</code> to disable</li>
<li>Parameters: <code>claude_enabled</code>, <code>claude_env</code></li>
</ul>
</li>
<li>
<p>New <code>vibe.yml</code> playbook for full VIBE deployment</p>
</li>
<li>
<p>Use <code>conf/vibe.yml</code> template for quick AI coding sandbox setup</p>
</li>
<li>
<p>Common parameter: <code>vibe_data</code> (default <code>/fs</code>) for workspace directory</p>
</li>
</ul>
<hr>
<h2>PostgreSQL Extension Updates</h2>
<p>Major extensions add PG 18 support: age, citus, documentdb, pg_search, timescaledb, pg_bulkload, rum, etc.</p>
<p><strong>New Extensions</strong>:</p>
<ul>
<li><a href="https://github.com/timescale/pg_textsearch">pg_textsearch</a> 0.4.0 - TimescaleDB full-text search</li>
<li><a href="https://github.com/clickhouse/pg_clickhouse/">pg_clickhouse</a> 0.1.3 - ClickHouse FDW</li>
<li><a href="https://github.com/benodiwal/pg_ai_query">pg_ai_query</a> 0.1.1 - AI query extension</li>
<li><a href="https://github.com/pgsty/etcd_fdw">etcd_fdw</a> 0.0.0 - etcd FDW</li>
<li><a href="https://github.com/pg-ttl-index">pg_ttl_index</a> 0.1.0 - TTL index</li>
<li><a href="https://github.com/plv8/pljs">pljs</a> 1.0.4 - JavaScript procedural language</li>
<li><a href="https://github.com/pg-retry/pg_retry">pg_retry</a> 1.0.0 - Retry extension</li>
<li><a href="https://github.com/pgsty/pg_weighted_statistics">pg_weighted_statistics</a> 1.0.0 - Weighted statistics</li>
<li><a href="https://github.com/pgsty/pg_enigma">pg_enigma</a> 0.5.0 - Encryption extension</li>
<li><a href="https://github.com/pgsty/pglinter">pglinter</a> 1.0.1 - SQL Linter</li>
<li><a href="https://github.com/microsoft/documentdb">documentdb_extended_rum</a> 0.109 - DocumentDB RUM</li>
<li><a href="https://github.com/MobilityDB">mobilitydb_datagen</a> 1.3.0 - MobilityDB data generator</li>
</ul>
<p><strong>Major Updates</strong>:</p>
<table>
<thead>
<tr>
<th>Extension</th>
<th>Old</th>
<th>New</th>
<th>Notes</th>
</tr>
</thead>
<tbody>
<tr>
<td>timescaledb</td>
<td>2.23.x</td>
<td>2.24.0</td>
<td>+PG18</td>
</tr>
<tr>
<td>pg_search</td>
<td>0.19.x</td>
<td>0.21.4</td>
<td>ParadeDB, +PG18</td>
</tr>
<tr>
<td>citus</td>
<td>13.2.0</td>
<td>14.0.0</td>
<td>Distributed PG, +PG18</td>
</tr>
<tr>
<td>documentdb</td>
<td>0.106</td>
<td>0.109</td>
<td>MongoDB compat, +PG18</td>
</tr>
<tr>
<td>age</td>
<td>1.5.0</td>
<td>1.7.0</td>
<td>Graph DB, +PG18</td>
</tr>
<tr>
<td>pg_duckdb</td>
<td>1.1.0</td>
<td>1.1.1</td>
<td>DuckDB integration</td>
</tr>
<tr>
<td>vchord</td>
<td>0.5.3</td>
<td>1.0.0</td>
<td>VectorChord</td>
</tr>
<tr>
<td>vchord_bm25</td>
<td>0.2.2</td>
<td>0.3.0</td>
<td>BM25 full-text search</td>
</tr>
<tr>
<td>pg_biscuit</td>
<td>1.0</td>
<td>2.2.2</td>
<td>Biscuit auth</td>
</tr>
<tr>
<td>pg_anon</td>
<td>2.4.1</td>
<td>2.5.1</td>
<td>Data anonymization</td>
</tr>
<tr>
<td>wrappers</td>
<td>0.5.6</td>
<td>0.5.7</td>
<td>Supabase FDW</td>
</tr>
<tr>
<td>pg_vectorize</td>
<td>0.25.0</td>
<td>0.26.0</td>
<td>Vectorization</td>
</tr>
<tr>
<td>pg_session_jwt</td>
<td>0.3.3</td>
<td>0.4.0</td>
<td>JWT session</td>
</tr>
<tr>
<td>pg_partman</td>
<td>5.3.x</td>
<td>5.4.0</td>
<td>Partition mgmt, PGDG</td>
</tr>
<tr>
<td>pgmq</td>
<td>1.8.0</td>
<td>1.9.0</td>
<td>Message queue</td>
</tr>
<tr>
<td>pg_bulkload</td>
<td>3.1.22</td>
<td>3.1.23</td>
<td>Bulk load, +PG18</td>
</tr>
<tr>
<td>pg_timeseries</td>
<td>0.1.7</td>
<td>0.2.0</td>
<td>Time series</td>
</tr>
<tr>
<td>pg_convert</td>
<td>0.0.4</td>
<td>0.1.0</td>
<td>Type conversion</td>
</tr>
<tr>
<td>pg_clickhouse</td>
<td>0.1.2</td>
<td>0.1.3</td>
<td>ClickHouse FDW</td>
</tr>
</tbody>
</table>
<p>pgBackRest updated to 2.58 with HTTP support.</p>
<hr>
<h2>Observability</h2>
<ul>
<li>VictoriaMetrics replaces Prometheus — achieving several times the performance with a fraction of the resources</li>
<li>VictoriaLogs + Vector replaces Promtail + Loki for log collection</li>
<li>Unified log format for all components, PG logs use UTC timestamp (log_timezone)</li>
<li>PostgreSQL log rotation changed to weekly truncated rotation mode</li>
<li>Recording temp file allocations over 1MB in PG logs, enabling PG 17/18 log parameters in specific templates</li>
<li>Added Vector parsing configs for Nginx/Syslog/PG CSV/Pgbackrest/Grafana/Redis/etcd/MinIO logs</li>
<li>Datasource registration now runs on all Infra nodes, Victoria datasources auto-registered in Grafana</li>
<li>New <code>grafana_pgurl</code> parameter for using PG as Grafana backend storage</li>
<li>New <code>grafana_view_password</code> parameter for Grafana Meta datasource password</li>
<li><code>pgbackrest_exporter</code> default cache interval reduced from 600s to 120s</li>
<li><code>grafana_clean</code> default changed from <code>true</code> to <code>false</code></li>
<li>New <code>pg_timeline</code> collector for real-time timeline metrics <code>pg_timeline_id</code></li>
<li>New <code>pg:ixact_ratio</code> metric for idle transaction ratio monitoring</li>
<li><code>pg_exporter</code> updated to 1.1.2 with <code>pg_timeline</code> collector and numerous fixes</li>
<li>Added slot name coalesce for <code>pg_recv</code> metrics collector</li>
<li>Blackbox ping monitoring support enabled</li>
<li>New <code>node-vector</code> dashboard for Vector monitoring</li>
<li>New <code>node-juice</code> dashboard for JuiceFS monitoring</li>
<li>New <code>claude-code</code> dashboard for Claude Code usage monitoring</li>
<li>PGSQL Cluster/Instance dashboards add version banner</li>
<li>All dashboards use compact JSON format, significantly reducing file size</li>
</ul>
<hr>
<h2>Interface Improvements</h2>
<p><strong>Playbook Rename</strong></p>
<ul>
<li><code>install.yml</code> renamed to <code>deploy.yml</code> for better semantics</li>
<li>New <code>vibe.yml</code> playbook for VIBE AI coding sandbox</li>
</ul>
<p><strong>pg_databases Improvements</strong></p>
<ul>
<li>Database removal: use <code>state</code> field (<code>create</code>, <code>absent</code>, <code>recreate</code>)</li>
<li>Database cloning: use <code>strategy</code> parameter for clone method</li>
<li>Support newer locale params: <code>locale_provider</code>, <code>icu_locale</code>, <code>icu_rules</code>, <code>builtin_locale</code></li>
<li>Support <code>is_template</code> to mark template databases</li>
<li>Added type checks to prevent character parameter injection</li>
<li>Allow <code>state: absent</code> in extension to remove extensions</li>
</ul>
<p><strong>pg_users Improvements</strong></p>
<ul>
<li>New <code>admin</code> parameter similar to <code>roles</code> but with <code>ADMIN OPTION</code> for re-granting</li>
<li>New <code>set</code> and <code>inherit</code> options for user role attributes</li>
</ul>
<p><strong>pg_hba Improvements</strong></p>
<ul>
<li>Support <code>order</code> field for HBA rule priority</li>
<li>Support IPv6 localhost access</li>
<li>Allow specifying trusted intranet via <code>node_firewall_intranet</code></li>
</ul>
<p><strong>Other Improvements</strong></p>
<ul>
<li>Default privileges for Supabase roles</li>
<li><code>node_crontab</code> auto-restores original crontab on <code>node-rm</code></li>
<li>New <code>infra_extra_services</code> for homepage service entries</li>
</ul>
<hr>
<h2>Parameter Optimization</h2>
<p><strong>I/O Parameters</strong></p>
<ul>
<li><code>pg_io_method</code>: auto, sync, worker, io_uring options, default worker</li>
<li><code>maintenance_io_concurrency</code> set to 100 for SSD</li>
<li><code>effective_io_concurrency</code> reduced from 1000 to 200</li>
<li><code>file_copy_method</code> set to <code>clone</code> for PG18 instant database cloning</li>
</ul>
<p><strong>Replication & Logging</strong></p>
<ul>
<li><code>idle_replication_slot_timeout</code>: default 7d, crit template 3d</li>
<li><code>log_lock_failures</code>: enabled for oltp, crit templates</li>
<li><code>track_cost_delay_timing</code>: enabled for olap, crit templates</li>
<li><code>log_connections</code>: auth logs for oltp/olap, full logs for crit</li>
</ul>
<p><strong>HA Parameters</strong></p>
<ul>
<li>New <code>pg_rto_plan</code> integrating Patroni & HAProxy RTO config
<ul>
<li><code>fast</code>: Fastest failover (~15s), for high availability requirements</li>
<li><code>norm</code>: Standard mode (~30s), balanced (default)</li>
<li><code>safe</code>: Safe mode (~60s), reduced false positives</li>
<li><code>wide</code>: Relaxed mode (~120s), for geo-distributed deployments</li>
</ul>
</li>
<li><code>pg_crontab</code>: scheduled tasks for postgres dbsu</li>
<li>For PG17+, explicitly disable checksums if <code>pg_checksums</code> is off</li>
<li>Crit template enables Patroni strict sync mode</li>
</ul>
<p><strong>Backup & Recovery</strong></p>
<ul>
<li>PITR default <code>archive_mode</code> changed to <code>preserve</code></li>
<li><code>pg-pitr</code> supports pre-recovery backup</li>
</ul>
<p><strong>Other</strong></p>
<ul>
<li>Fixed <code>duckdb.allow_community_extensions</code> always active issue</li>
<li>pg_hba and pgbouncer_hba now support IPv6 localhost</li>
</ul>
<hr>
<h2>Architecture Improvements</h2>
<p><strong>Directories & Portal</strong></p>
<ul>
<li>Fixed <code>/infra</code> symlink pointing to <code>/data/infra</code> on Infra nodes</li>
<li>Infra data defaults to <code>/data/infra</code> for container convenience</li>
<li>Local repo at <code>/data/nginx/pigsty</code>, <code>/www</code> symlinks to <code>/data/nginx</code></li>
<li>DNS records moved to <code>/infra/hosts</code>, solving Ansible SELinux race condition</li>
<li>Default homepage domain renamed from <code>h.pigsty</code> to <code>i.pigsty</code>, added Chinese homepage</li>
</ul>
<p><strong>Scripts</strong></p>
<ul>
<li>New <code>/pg/bin/pg-fork</code> for instant CoW replica creation</li>
<li>Enhanced <code>/pg/bin/pg-pitr</code> for instance-level PITR with pre-backup</li>
<li>New <code>/pg/bin/pg-drop-role</code> for safe user deletion</li>
<li>New <code>bin/pgsql-ext</code> for extension installation</li>
<li>Restored <code>pg-vacuum</code> and <code>pg-repack</code> scripts</li>
</ul>
<p><strong>New Playbooks</strong></p>
<ul>
<li><code>juice.yml</code>: Deploy JuiceFS instances</li>
<li><code>vibe.yml</code>: Deploy VIBE AI sandbox (Code-Server, JupyterLab, Node.js, Claude Code)</li>
</ul>
<p><strong>Module Improvements</strong></p>
<ul>
<li>Explicit cron/cronie package installation for minimal system compatibility</li>
<li>UV Python manager moved from <code>infra</code> to <code>node</code> module, new <code>node_uv_env</code> parameter</li>
<li><code>pg_remove</code>/<code>pg_pitr</code> etcd metadata removal now runs on etcd cluster</li>
<li>Simu template simplified from 36 to 20 nodes</li>
<li>Removed PGDG sysupdate repo and llvmjit packages on EL systems</li>
<li>Using full OS version (<code>major.minor</code>) for EPEL 10 / PGDG 9/10 repos</li>
<li>Allow <code>meta</code> parameter in repo definitions</li>
<li>Vagrant libvirt templates default to 128GB disk with xfs at <code>/data</code></li>
<li>Ensure pgbouncer doesn't modify <code>0.0.0.0</code> to <code>*</code></li>
<li>New 10-node and Citus Vagrant templates</li>
<li>Restored EL7 compatibility</li>
</ul>
<p><strong>System Tuning</strong></p>
<ul>
<li>Tuned systemd service NOFILE limits based on actual workload requirements</li>
<li>Fixed tuned profile activation by restarting tuned service after changes</li>
<li>Added runtime directory for PostgreSQL systemd service</li>
<li>Fixed <code>ip_local_port_range</code> start/end value parity alignment</li>
</ul>
<p><strong>Multi-Cloud</strong></p>
<ul>
<li>Terraform templates: AWS, Azure, GCP, Hetzner, DigitalOcean, Linode, Vultr, TencentCloud</li>
</ul>
<hr>
<h2>Security Improvements</h2>
<p><strong>Password Management</strong></p>
<ul>
<li><code>configure</code> supports <code>-g</code> flag for auto-generating strong random passwords</li>
<li>Changed MinIO default password to avoid well-known defaults</li>
</ul>
<p><strong>Firewall & SELinux</strong></p>
<ul>
<li>Replaced <code>node_disable_firewall</code> with <code>node_firewall_mode</code> (off/none/zone)</li>
<li>Replaced <code>node_disable_selinux</code> with <code>node_selinux_mode</code> (disabled/permissive/enforcing)</li>
<li>Configured correct SELinux contexts for HAProxy, Nginx, DNSMasq, Redis</li>
</ul>
<p><strong>Access Control</strong></p>
<ul>
<li>Enabled etcd RBAC, each cluster can only manage its own PG cluster</li>
<li>etcd root password stored in <code>/etc/etcd/etcd.pass</code>, admin-readable only</li>
<li>Added <code>admin_ip</code> to Patroni API whitelist</li>
<li>Always create admin system group, patronictl restricted to admin group</li>
<li>New <code>node_admin_sudo</code> parameter for admin sudo mode (all/nopass)</li>
<li>Revoked script ownership from non-root users</li>
</ul>
<p><strong>Certificates & Auth</strong></p>
<ul>
<li>Nginx Basic Auth support for optional HTTP authentication</li>
<li>Fixed ownca certificate validity for Chrome recognition</li>
<li>New <code>vip_auth_pass</code> parameter for VRRP authentication</li>
</ul>
<p><strong>Other</strong></p>
<ul>
<li>Fixed <code>ansible copy content</code> empty field errors</li>
<li>Fixed <code>pg_pitr</code> race conditions during Patroni cluster recovery</li>
<li>Protected <code>files/pki/ca</code> directory with mode 0700</li>
</ul>
<hr>
<h2>Bug Fixes</h2>
<table>
<thead>
<tr>
<th>Issue</th>
<th>Resolution</th>
</tr>
</thead>
<tbody>
<tr>
<td>ownca certificate Chrome compatibility</td>
<td>Set ownca_not_after correctly</td>
</tr>
<tr>
<td>Vector 0.52 syslog_raw parsing</td>
<td>Adapted to new Vector format</td>
</tr>
<tr>
<td>pg_pitr multi-replica clonefrom timing</td>
<td>Fixed Patroni recovery race condition</td>
</tr>
<tr>
<td>Ansible SELinux dnsmasq race condition</td>
<td>Moved DNS records to /infra/hosts</td>
</tr>
<tr>
<td>EL9 aarch64 patroni & llvmjit</td>
<td>Hotfix for ARM64 compatibility</td>
</tr>
<tr>
<td>Debian groupadd path</td>
<td>Fixed user group add path</td>
</tr>
<tr>
<td>Empty sudoers file generation</td>
<td>Prevented empty sudoers config</td>
</tr>
<tr>
<td>pgbouncer pid path</td>
<td>Use <code>/run/postgresql</code></td>
</tr>
<tr>
<td>duckdb.allow_community_extensions active</td>
<td>Fixed DuckDB extension config</td>
</tr>
<tr>
<td>pg_partman EL8 upstream break</td>
<td>Hidden pg_partman on EL8</td>
</tr>
<tr>
<td>HAProxy service template variable path</td>
<td>Fixed variable reference</td>
</tr>
<tr>
<td>Redis remove task variable name</td>
<td>Fixed redis_seq to redis_node</td>
</tr>
<tr>
<td>MinIO reload handler ineffective</td>
<td>Removed ineffective handler</td>
</tr>
<tr>
<td>vmetrics_port default value</td>
<td>Corrected to 8428</td>
</tr>
<tr>
<td>pg-failover-callback script</td>
<td>Handle all Patroni callback events</td>
</tr>
<tr>
<td>pg-vacuum transaction block</td>
<td>Fixed transaction handling</td>
</tr>
<tr>
<td>pg_sub_16 parallel logical worker</td>
<td>Added PG16+ parallel replication</td>
</tr>
<tr>
<td>FerretDB cert SAN and restart policy</td>
<td>Fixed cert config and restart</td>
</tr>
<tr>
<td>Polar Exporter metric types</td>
<td>Corrected metric type definitions</td>
</tr>
<tr>
<td>proxy_env package install missing</td>
<td>Fixed proxy env propagation</td>
</tr>
<tr>
<td>patroni_method=remove service issue</td>
<td>Fixed postgres service in remove mode</td>
</tr>
<tr>
<td>Docker default data directory</td>
<td>Updated to correct path</td>
</tr>
<tr>
<td>EL10 cache compatibility</td>
<td>Fixed EL10 cache issues</td>
</tr>
<tr>
<td>etcd/MinIO removal cleanup incomplete</td>
<td>Fixed systemd service and DNS cleanup</td>
</tr>
<tr>
<td>IvorySql 18 file_copy_method</td>
<td>Fixed incompatibility with clone method</td>
</tr>
<tr>
<td>tuned profile activation</td>
<td>Fixed by restarting tuned service</td>
</tr>
</tbody>
</table>
<hr>
<h2>Parameter Changes</h2>
<p><strong>New Parameters</strong></p>
<table>
<thead>
<tr>
<th>Parameter</th>
<th>Type</th>
<th>Default</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>node_firewall_mode</code></td>
<td>enum</td>
<td>none</td>
<td>Firewall mode: off/none/zone</td>
</tr>
<tr>
<td><code>node_selinux_mode</code></td>
<td>enum</td>
<td>permissive</td>
<td>SELinux mode</td>
</tr>
<tr>
<td><code>node_firewall_intranet</code></td>
<td>string</td>
<td>-</td>
<td>HBA trusted intranet</td>
</tr>
<tr>
<td><code>node_admin_sudo</code></td>
<td>enum</td>
<td>nopass</td>
<td>Admin sudo privilege level</td>
</tr>
<tr>
<td><code>pg_io_method</code></td>
<td>enum</td>
<td>worker</td>
<td>I/O method: auto/sync/worker/io_uring</td>
</tr>
<tr>
<td><code>pg_rto_plan</code></td>
<td>dict</td>
<td>-</td>
<td>RTO presets: fast/norm/safe/wide</td>
</tr>
<tr>
<td><code>pg_crontab</code></td>
<td>list</td>
<td>[]</td>
<td>postgres dbsu scheduled tasks</td>
</tr>
<tr>
<td><code>vip_auth_pass</code></td>
<td>string</td>
<td>-</td>
<td>VRRP auth password</td>
</tr>
<tr>
<td><code>grafana_pgurl</code></td>
<td>string</td>
<td>-</td>
<td>Grafana PG backend URL</td>
</tr>
<tr>
<td><code>grafana_view_password</code></td>
<td>string</td>
<td>DBUser.Viewer</td>
<td>Grafana Meta datasource password</td>
</tr>
<tr>
<td><code>infra_extra_services</code></td>
<td>list</td>
<td>[]</td>
<td>Homepage extra service entries</td>
</tr>
<tr>
<td><code>juice_cache</code></td>
<td>path</td>
<td>/data/juice</td>
<td>JuiceFS cache directory</td>
</tr>
<tr>
<td><code>juice_instances</code></td>
<td>dict</td>
<td>{}</td>
<td>JuiceFS instance definitions</td>
</tr>
<tr>
<td><code>vibe_data</code></td>
<td>path</td>
<td>/fs</td>
<td>VIBE workspace directory</td>
</tr>
<tr>
<td><code>code_enabled</code></td>
<td>bool</td>
<td>true</td>
<td>Enable Code-Server</td>
</tr>
<tr>
<td><code>code_port</code></td>
<td>port</td>
<td>8443</td>
<td>Code-Server listen port</td>
</tr>
<tr>
<td><code>code_data</code></td>
<td>path</td>
<td>/data/code</td>
<td>Code-Server data directory</td>
</tr>
<tr>
<td><code>code_password</code></td>
<td>string</td>
<td>Vibe.Coding</td>
<td>Code-Server password</td>
</tr>
<tr>
<td><code>code_gallery</code></td>
<td>enum</td>
<td>openvsx</td>
<td>Extension gallery: openvsx/microsoft</td>
</tr>
<tr>
<td><code>jupyter_enabled</code></td>
<td>bool</td>
<td>true</td>
<td>Enable JupyterLab</td>
</tr>
<tr>
<td><code>jupyter_port</code></td>
<td>port</td>
<td>8888</td>
<td>JupyterLab listen port</td>
</tr>
<tr>
<td><code>jupyter_data</code></td>
<td>path</td>
<td>/data/jupyter</td>
<td>JupyterLab data directory</td>
</tr>
<tr>
<td><code>jupyter_password</code></td>
<td>string</td>
<td>Vibe.Coding</td>
<td>JupyterLab access token</td>
</tr>
<tr>
<td><code>jupyter_venv</code></td>
<td>path</td>
<td>/data/venv</td>
<td>Python venv path</td>
</tr>
<tr>
<td><code>claude_enabled</code></td>
<td>bool</td>
<td>true</td>
<td>Enable Claude Code configuration</td>
</tr>
<tr>
<td><code>claude_env</code></td>
<td>dict</td>
<td>{}</td>
<td>Claude Code extra env vars</td>
</tr>
<tr>
<td><code>nodejs_enabled</code></td>
<td>bool</td>
<td>true</td>
<td>Enable Node.js installation</td>
</tr>
<tr>
<td><code>nodejs_registry</code></td>
<td>string</td>
<td>''</td>
<td>npm registry, auto china mirror</td>
</tr>
<tr>
<td><code>node_uv_env</code></td>
<td>path</td>
<td>/data/venv</td>
<td>Node UV venv path, empty to skip</td>
</tr>
<tr>
<td><code>node_pip_packages</code></td>
<td>string</td>
<td>''</td>
<td>pip packages for UV venv</td>
</tr>
</tbody>
</table>
<p><strong>Removed Parameters</strong></p>
<table>
<thead>
<tr>
<th>Parameter</th>
<th>Replacement</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>node_disable_firewall</code></td>
<td><code>node_firewall_mode</code></td>
</tr>
<tr>
<td><code>node_disable_selinux</code></td>
<td><code>node_selinux_mode</code></td>
</tr>
<tr>
<td><code>infra_pip_packages</code></td>
<td><code>node_pip_packages</code></td>
</tr>
<tr>
<td><code>pgbackrest_clean</code></td>
<td>Unused, removed</td>
</tr>
<tr>
<td><code>pg_pwd_enc</code></td>
<td>Removed, always scram-sha-256</td>
</tr>
<tr>
<td><code>code_home</code></td>
<td><code>vibe_data</code></td>
</tr>
<tr>
<td><code>jupyter_home</code></td>
<td><code>vibe_data</code></td>
</tr>
</tbody>
</table>
<p><strong>Default Value Changes</strong></p>
<table>
<thead>
<tr>
<th>Parameter</th>
<th>Change</th>
<th>Notes</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>grafana_clean</code></td>
<td>true → false</td>
<td>Don't clean by default</td>
</tr>
<tr>
<td><code>effective_io_concurrency</code></td>
<td>1000 → 200</td>
<td>More reasonable default</td>
</tr>
<tr>
<td><code>node_firewall_mode</code></td>
<td>zone → none</td>
<td>Disable firewall rules</td>
</tr>
<tr>
<td><code>install.yml</code></td>
<td>Renamed to <code>deploy.yml</code></td>
<td>Better semantics</td>
</tr>
</tbody>
</table>
<hr>
<h2>Compatibility</h2>
<table>
<thead>
<tr>
<th>OS</th>
<th align="center">x86_64</th>
<th align="center">aarch64</th>
</tr>
</thead>
<tbody>
<tr>
<td>EL 8/9/10</td>
<td align="center">✅</td>
<td align="center">✅</td>
</tr>
<tr>
<td>Debian 11/12/13</td>
<td align="center">✅</td>
<td align="center">✅</td>
</tr>
<tr>
<td>Ubuntu 22.04/24.04</td>
<td align="center">✅</td>
<td align="center">✅</td>
</tr>
</tbody>
</table>
<p><strong>PostgreSQL</strong>: 13, 14, 15, 16, 17, 18</p>
<hr>
<h2>Checksums</h2>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="9f42b8c64180491b59bd03016c26e8ca pigsty-v4.0.0.tgz
db9797c3c8ae21320b76a442c1135c7b pigsty-pkg-v4.0.0.d12.aarch64.tgz
1eed26eee42066ca71b9aecbf2ca1237 pigsty-pkg-v4.0.0.d12.x86_64.tgz
03540e41f575d6c3a7c63d1d30276d49 pigsty-pkg-v4.0.0.d13.aarch64.tgz
36a6ee284c0dd6d9f7d823c44280b88f pigsty-pkg-v4.0.0.d13.x86_64.tgz
f2b6ec49d02916944b74014505d05258 pigsty-pkg-v4.0.0.el10.aarch64.tgz
73f64c349366fe23c022f81fe305d6da pigsty-pkg-v4.0.0.el10.x86_64.tgz
287f767fbb66a9aaca9f0f22e4f20491 pigsty-pkg-v4.0.0.el8.aarch64.tgz
c0886aab454bd86245f3869ef2ab4451 pigsty-pkg-v4.0.0.el8.x86_64.tgz
094ab31bcf4a3cedbd8091bc0f3ba44c pigsty-pkg-v4.0.0.el9.aarch64.tgz
235ccba44891b6474a76a81750712544 pigsty-pkg-v4.0.0.el9.x86_64.tgz
f2791c96db4cc17a8a4008fc8d9ad310 pigsty-pkg-v4.0.0.u22.aarch64.tgz
3099c4453eef03b766d68e04b8d5e483 pigsty-pkg-v4.0.0.u22.x86_64.tgz
49a93c2158434f1adf0d9f5bcbbb1ca5 pigsty-pkg-v4.0.0.u24.aarch64.tgz
4acaa5aeb39c6e4e23d781d37318d49b pigsty-pkg-v4.0.0.u24.x86_64.tgz"><pre>9f42b8c64180491b59bd03016c26e8ca pigsty-v4.0.0.tgz
db9797c3c8ae21320b76a442c1135c7b pigsty-pkg-v4.0.0.d12.aarch64.tgz
1eed26eee42066ca71b9aecbf2ca1237 pigsty-pkg-v4.0.0.d12.x86_64.tgz
03540e41f575d6c3a7c63d1d30276d49 pigsty-pkg-v4.0.0.d13.aarch64.tgz
36a6ee284c0dd6d9f7d823c44280b88f pigsty-pkg-v4.0.0.d13.x86_64.tgz
f2b6ec49d02916944b74014505d05258 pigsty-pkg-v4.0.0.el10.aarch64.tgz
73f64c349366fe23c022f81fe305d6da pigsty-pkg-v4.0.0.el10.x86_64.tgz
287f767fbb66a9aaca9f0f22e4f20491 pigsty-pkg-v4.0.0.el8.aarch64.tgz
c0886aab454bd86245f3869ef2ab4451 pigsty-pkg-v4.0.0.el8.x86_64.tgz
094ab31bcf4a3cedbd8091bc0f3ba44c pigsty-pkg-v4.0.0.el9.aarch64.tgz
235ccba44891b6474a76a81750712544 pigsty-pkg-v4.0.0.el9.x86_64.tgz
f2791c96db4cc17a8a4008fc8d9ad310 pigsty-pkg-v4.0.0.u22.aarch64.tgz
3099c4453eef03b766d68e04b8d5e483 pigsty-pkg-v4.0.0.u22.x86_64.tgz
49a93c2158434f1adf0d9f5bcbbb1ca5 pigsty-pkg-v4.0.0.u24.aarch64.tgz
4acaa5aeb39c6e4e23d781d37318d49b pigsty-pkg-v4.0.0.u24.x86_64.tgz</pre></div>
Vonng
tag:github.com,2008:Repository/268680961/v4.0.0-rc2
2026-01-19T01:10:08Z
v4.0.0-rc2
<p>add default privileges for supabase roles</p>
Vonng
tag:github.com,2008:Repository/268680961/v3.7.0
2025-12-06T06:19:55Z
Pigsty v3.7.0
<h2><strong>Highlights</strong></h2>
<ul>
<li><strong>PostgreSQL 18 Deep Support:</strong> Now the default major PG version, with full extension readiness!</li>
<li><strong>Expanded OS Support:</strong> Added EL10 and Debian 13, bringing the total supported operating systems to 14.</li>
<li><strong>Extension Growth:</strong> The PostgreSQL extension library now includes 437 entries.</li>
<li><strong>Ansible 2.19 Compatibility:</strong> Full support for Ansible 2.19 following its breaking changes.</li>
<li><strong>Kernel Updates:</strong> Latest versions for Supabase, PolarDB, IvorySQL, and Percona kernels.</li>
<li><strong>Optimized Tuning:</strong> Refined logic for default PG parameters to maximize resource utilization.</li>
<li><a href="https://pgext.cloud" rel="nofollow"><strong>PGEXT.CLOUD</strong></a>: Dedicate extension website open-sourced under apache-2.0 license</li>
</ul>
<h2><strong>Version Updates</strong></h2>
<ul>
<li>PostgreSQL 18.1, 17.7, 16.11, 15.15, 14.20, 13.23</li>
<li>Patroni 4.1.0</li>
<li>Pgbouncer 1.25.0</li>
<li>pg_exporter 1.0.3</li>
<li>pgbackrest 2.57.0</li>
<li>Supabase 2025-11</li>
<li>PolarDB 15.15.5.0</li>
<li>FerretDB 2.7.0</li>
<li>DuckDB 1.4.2</li>
<li>Etcd 3.6.6</li>
<li>pig 0.7.4</li>
</ul>
<p>For detailed version changes, please refer to:</p>
<ul>
<li><a href="https://pgext.cloud/release/infra/" rel="nofollow">INFRA Changelog</a></li>
<li><a href="https://pgext.cloud/release/rpm/" rel="nofollow">RPM Changelog</a></li>
<li><a href="https://pgext.cloud/release/deb/" rel="nofollow">DEB Changelog</a></li>
</ul>
<h2><strong>API Changes</strong></h2>
<ul>
<li>Implemented a refined optimization strategy for parallel execution parameters. See <strong><a href="https://doc.pgsty.com/pgsql/admin/tune" rel="nofollow">Tuning Guide</a></strong>.</li>
<li>The <code>citus</code> extension is no longer installed by default in <code>rich</code> and <code>full</code> templates (PG 18 support pending).</li>
<li>Added <code>duckdb</code> extension stubs to PostgreSQL parameter templates.</li>
<li>Capped <code>min_wal_size</code>, <code>max_wal_size</code>, and <code>max_slot_wal_keep_size</code> at 200 GB, 2000 GB, and 3000 GB, respectively.</li>
<li>Capped <code>temp_file_limit</code> at 200 GB (2 TB for OLAP workloads).</li>
<li>Increased the default connection count for the connection pool.</li>
<li>Added <code>prometheus_port</code> (default: <code>9058</code>) to avoid conflicts with the EL10 RHEL Web Console port.</li>
<li>Changed <code>alertmanager_port</code> default to <code>9059</code> to avoid potential conflicts with Kafka SSL ports.</li>
<li>Added a <code>pg_pre</code> subtask to <code>pg_pkg</code>: removes conflicting LLVM packages (<code>bpftool</code>, <code>python3-perf</code>) on EL9+ prior to PG installation.</li>
<li>Added the <code>llvm</code> module to the default repository definition for Debian/Ubuntu.</li>
<li>Fixed package removal logic in <code>infra-rm.yml</code>.</li>
</ul>
<h2><strong>Compatibility Fixes</strong></h2>
<ul>
<li><strong>Ubuntu/Debian CA Trust:</strong> Fixed incorrect warning return codes when trusting Certificate Authorities.</li>
<li><strong>Ansible 2.19 Support:</strong> Resolved numerous compatibility issues introduced by Ansible 2.19 to ensure stability across versions:
<ul>
<li>Added explicit <code>int</code> type casting for sequence variables.</li>
<li>Migrated <code>with_items</code> syntax to <code>loop</code>.</li>
<li>Nested key exchange variables in lists to prevent character iteration on strings in newer versions.</li>
<li>Explicitly cast <code>range</code> usage to <code>list</code>.</li>
<li>Renamed reserved variables such as <code>name</code> and <code>port</code>.</li>
<li>Replaced <code>play_hosts</code> with <code>ansible_play_hosts</code>.</li>
</ul>
</li>
<li>Added string casting for specific variables to prevent runtime errors.</li>
<li><strong>EL10 Adaptation:</strong>
<ul>
<li>Fixed missing <code>ansible-collection-community-crypto</code> preventing key generation.</li>
<li>Fixed missing <code>ansible</code> logic packages.</li>
<li>Removed <code>modulemd_tools</code>, <code>flamegraph</code>, and <code>timescaledb-tool</code>.</li>
<li>Replaced <code>java-17-openjdk</code> with <code>java-21-openjdk</code>.</li>
<li>Resolved aarch64 YUM repository naming issues.</li>
</ul>
</li>
<li><strong>Debian 13 Adaptation:</strong>
<ul>
<li>Replaced <code>dnsutils</code> with <code>bind9-dnsutils</code>.</li>
</ul>
</li>
<li><strong>Ubuntu 24 Fixes:</strong>
<ul>
<li>Temporarily removed <code>tcpdump</code> due to upstream dependency crashes.</li>
</ul>
</li>
</ul>
<h2><strong>Checksums</strong></h2>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="e00d0c2ac45e9eff1cc77927f9cd09df pigsty-v3.7.0.tgz
987529769d85a3a01776caefefa93ecb pigsty-pkg-v3.7.0.d12.aarch64.tgz
2d8272493784ae35abeac84568950623 pigsty-pkg-v3.7.0.d12.x86_64.tgz
090cc2531dcc25db3302f35cb3076dfa pigsty-pkg-v3.7.0.d13.x86_64.tgz
ddc54a9c4a585da323c60736b8560f55 pigsty-pkg-v3.7.0.el10.aarch64.tgz
d376e75c490e8f326ea0f0fbb4a8fd9b pigsty-pkg-v3.7.0.el10.x86_64.tgz
8c2deeba1e1d09ef3d46d77a99494e71 pigsty-pkg-v3.7.0.el8.aarch64.tgz
9795e059bd884b9d1b2208011abe43cd pigsty-pkg-v3.7.0.el8.x86_64.tgz
08b860155d6764ae817ed25f2fcf9e5b pigsty-pkg-v3.7.0.el9.aarch64.tgz
1ac430768e488a449d350ce245975baa pigsty-pkg-v3.7.0.el9.x86_64.tgz
e033aaf23690755848db255904ab3bcd pigsty-pkg-v3.7.0.u22.aarch64.tgz
cc022ea89181d89d271a9aaabca04165 pigsty-pkg-v3.7.0.u22.x86_64.tgz
0e978598796db3ce96caebd76c76e960 pigsty-pkg-v3.7.0.u24.aarch64.tgz
48223898ace8812cc4ea79cf3178476a pigsty-pkg-v3.7.0.u24.x86_64.tgz"><pre>e00d0c2ac45e9eff1cc77927f9cd09df pigsty-v3.7.0.tgz
987529769d85a3a01776caefefa93ecb pigsty-pkg-v3.7.0.d12.aarch64.tgz
2d8272493784ae35abeac84568950623 pigsty-pkg-v3.7.0.d12.x86_64.tgz
090cc2531dcc25db3302f35cb3076dfa pigsty-pkg-v3.7.0.d13.x86_64.tgz
ddc54a9c4a585da323c60736b8560f55 pigsty-pkg-v3.7.0.el10.aarch64.tgz
d376e75c490e8f326ea0f0fbb4a8fd9b pigsty-pkg-v3.7.0.el10.x86_64.tgz
8c2deeba1e1d09ef3d46d77a99494e71 pigsty-pkg-v3.7.0.el8.aarch64.tgz
9795e059bd884b9d1b2208011abe43cd pigsty-pkg-v3.7.0.el8.x86_64.tgz
08b860155d6764ae817ed25f2fcf9e5b pigsty-pkg-v3.7.0.el9.aarch64.tgz
1ac430768e488a449d350ce245975baa pigsty-pkg-v3.7.0.el9.x86_64.tgz
e033aaf23690755848db255904ab3bcd pigsty-pkg-v3.7.0.u22.aarch64.tgz
cc022ea89181d89d271a9aaabca04165 pigsty-pkg-v3.7.0.u22.x86_64.tgz
0e978598796db3ce96caebd76c76e960 pigsty-pkg-v3.7.0.u24.aarch64.tgz
48223898ace8812cc4ea79cf3178476a pigsty-pkg-v3.7.0.u24.x86_64.tgz</pre></div>
Vonng
tag:github.com,2008:Repository/268680961/v3.6.1
2025-08-15T13:35:16Z
v3.6.1 Minor Release
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="curl https://repo.pigsty.cc/get | bash -s v3.6.1"><pre>curl https://repo.pigsty.cc/get <span class="pl-k">|</span> bash -s v3.6.1</pre></div>
<p><strong>Highlights</strong></p>
<ul>
<li>PostgreSQL 17.6, 16.10, 15.14, 14.19, 13.22, and 18 Beta 3 Released!</li>
<li>PGDG APT/YUM mirror for Mainland China Users</li>
<li>New home website <a href="https://pgsty.com" rel="nofollow">https://pgsty.com</a></li>
<li>Add el10, debian 13 stub, add el10 terraform images</li>
</ul>
<p><strong>Infra Package Updates</strong></p>
<ul>
<li>Grafana 12.1.0</li>
<li>pg_exporter 1.0.2</li>
<li>pig 0.6.1</li>
<li>vector 0.49.0</li>
<li>redis_exporter 1.75.0</li>
<li>mongo_exporter 0.47.0</li>
<li>victoriametrics 1.123.0</li>
<li>victorialogs: 1.28.0</li>
<li>grafana-victoriametrics-ds 0.18.3</li>
<li>grafana-victorialogs-ds 0.19.3</li>
<li>grafana-infinity-ds 3.4.1</li>
<li>etcd 3.6.4</li>
<li>ferretdb 2.5.0</li>
<li>tigerbeetle 0.16.54</li>
<li>genai-toolbox 0.12.0</li>
</ul>
<p><strong>Extension Package Updates</strong></p>
<ul>
<li>pg_search 0.17.3</li>
</ul>
<p><strong>API Changes</strong></p>
<ul>
<li>remove <code>br_filter</code> from default <code>node_kernel_modules</code></li>
<li>do not use OS minor version dir for pgdg yum repos</li>
</ul>
<p><strong>Checksums</strong></p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="045977aff647acbfa77f0df32d863739 pigsty-pkg-v3.6.1.d12.aarch64.tgz
636b15c2d87830f2353680732e1af9d2 pigsty-pkg-v3.6.1.d12.x86_64.tgz
700a9f6d0db9c686d371bf1c05b54221 pigsty-pkg-v3.6.1.el8.aarch64.tgz
2aff03f911dd7be363ba38a392b71a16 pigsty-pkg-v3.6.1.el8.x86_64.tgz
ce07261b02b02b36a307dab83e460437 pigsty-pkg-v3.6.1.el9.aarch64.tgz
d598d62a47bbba2e811059a53fe3b2b5 pigsty-pkg-v3.6.1.el9.x86_64.tgz
13fd68752e59f5fd2a9217e5bcad0acd pigsty-pkg-v3.6.1.u22.aarch64.tgz
c25ccfb98840c01eb7a6e18803de55bb pigsty-pkg-v3.6.1.u22.x86_64.tgz
0d71e58feebe5299df75610607bf428c pigsty-pkg-v3.6.1.u24.aarch64.tgz
4fbbab1f8465166f494110c5ec448937 pigsty-pkg-v3.6.1.u24.x86_64.tgz
083d8680fa48e9fec3c3fcf481d25d2f pigsty-v3.6.1.tgz"><pre>045977aff647acbfa77f0df32d863739 pigsty-pkg-v3.6.1.d12.aarch64.tgz
636b15c2d87830f2353680732e1af9d2 pigsty-pkg-v3.6.1.d12.x86_64.tgz
700a9f6d0db9c686d371bf1c05b54221 pigsty-pkg-v3.6.1.el8.aarch64.tgz
2aff03f911dd7be363ba38a392b71a16 pigsty-pkg-v3.6.1.el8.x86_64.tgz
ce07261b02b02b36a307dab83e460437 pigsty-pkg-v3.6.1.el9.aarch64.tgz
d598d62a47bbba2e811059a53fe3b2b5 pigsty-pkg-v3.6.1.el9.x86_64.tgz
13fd68752e59f5fd2a9217e5bcad0acd pigsty-pkg-v3.6.1.u22.aarch64.tgz
c25ccfb98840c01eb7a6e18803de55bb pigsty-pkg-v3.6.1.u22.x86_64.tgz
0d71e58feebe5299df75610607bf428c pigsty-pkg-v3.6.1.u24.aarch64.tgz
4fbbab1f8465166f494110c5ec448937 pigsty-pkg-v3.6.1.u24.x86_64.tgz
083d8680fa48e9fec3c3fcf481d25d2f pigsty-v3.6.1.tgz</pre></div>
Vonng