# Pigsty v3.4.0

> Backup improvements, auto certs, AGE, IvorySQL all platforms

---

LLMS index: [llms.txt](/llms.txt)

---

**v3\.4\.0 · 2025-03-30**
- [View release](https://github.com/pgsty/pigsty/releases/tag/v3.4.0)
- [Source · tar\.gz](https://github.com/pgsty/pigsty/archive/refs/tags/v3.4.0.tar.gz)
- [Source · zip](https://github.com/pgsty/pigsty/archive/refs/tags/v3.4.0.zip)
- [pgsty\/pigsty](https://github.com/pgsty/pigsty)

GitHub Release Page: [v3.4.0](https://github.com/pgsty/pigsty/releases/tag/v3.4.0)

Introduction Blog: [**Pigsty v3.4 MySQL Compatibility and Overall Enhancements**](https://pigsty.io/blog/pigsty/v3.4)

## New Features

- Added new pgBackRest backup monitoring metrics and dashboards
- Enhanced Nginx server configuration options, with support for automated Certbot issuance
- Now prioritizing PostgreSQL's built-in `C`/`C.UTF-8` locale settings
- IvorySQL 4.4 is now fully supported across all platforms (RPM/DEB on x86/ARM)
- Added new software packages: Juicefs, Restic, TimescaleDB EventStreamer
- The Apache AGE graph database extension now fully supports PostgreSQL 13–17 on EL
- Improved the `app.yml` playbook: launch standard Docker app without extra config
- Bump Supabase, Dify, and Odoo app templates, bump to their latest versions
- Add electric app template, local-first PostgreSQL Sync Engine

## Infra Packages

- **+restic** 0.17.3
- **+juicefs** 1.2.3
- **+timescaledb-event-streamer** 0.12.0
- **Prometheus** 3.2.1
- **AlertManager** 0.28.1
- **blackbox_exporter** 0.26.0
- **node_exporter** 1.9.0
- **mysqld_exporter** 0.17.2
- **kafka_exporter** 1.9.0
- **redis_exporter** 1.69.0
- **pgbackrest_exporter** 0.19.0-2
- **DuckDB** 1.2.1
- **etcd** 3.5.20
- **FerretDB** 2.0.0
- **tigerbeetle** 0.16.31
- **vector** 0.45.0
- **VictoriaMetrics** 1.113.0
- **VictoriaLogs** 1.17.0
- **rclone** 1.69.1
- **pev2** 1.14.0
- **grafana-victorialogs-ds** 0.16.0
- **grafana-victoriametrics-ds** 0.14.0
- **grafana-infinity-ds** 3.0.0

## PostgreSQL Related

- **Patroni** 4.0.5
- **PolarDB** 15.12.3.0-e1e6d85b
- **IvorySQL** 4.4
- **pgbackrest** 2.54.2
- **pev2** 1.14
- **Babelfish** 13.17

## PostgreSQL Extensions

- **pgspider_ext** 1.3.0 (new extension)
- **apache age** 13–17 el rpm (1.5.0)
- **timescaledb** 2.18.2 → 2.19.0
- **citus** 13.0.1 → 13.0.2
- **documentdb** 1.101-0 → 1.102-0
- **pg_analytics** 0.3.4 → 0.3.7
- **pg_search** 0.15.2 → 0.15.8
- **pg_ivm** 1.9 → 1.10
- **emaj** 4.4.0 → 4.6.0
- **pgsql_tweaks** 0.10.0 → 0.11.0
- **pgvectorscale** 0.4.0 → 0.6.0 (pgrx 0.12.5)
- **pg_session_jwt** 0.1.2 → 0.2.0 (pgrx 0.12.6)
- **wrappers** 0.4.4 → 0.4.5 (pgrx 0.12.9)
- **pg_parquet** 0.2.0 → 0.3.1 (pgrx 0.13.1)
- **vchord** 0.2.1 → 0.2.2 (pgrx 0.13.1)
- **pg_tle** 1.2.0 → 1.5.0
- **supautils** 2.5.0 → 2.6.0
- **sslutils** 1.3 → 1.4
- **pg_profile** 4.7 → 4.8
- **pg_snakeoil** 1.3 → 1.4
- **pg_jsonschema** 0.3.2 → 0.3.3
- **pg_incremental** 1.1.1 → 1.2.0
- **pg_stat_monitor** 2.1.0 → 2.1.1
- **ddl_historization** 0.7 → 0.0.7 (bug fix)
- **pg_sqlog** 3.1.7 → 1.6 (bug fix)
- **pg_random** removed development suffix (bug fix)
- **asn1oid** 1.5 → 1.6
- **table_log** 0.6.1 → 0.6.4

## Interface Changes

- Added new Docker parameters: `docker_data` and `docker_storage_driver` ([#521](https://github.com/pgsty/pigsty/pull/521) by [@waitingsong](https://github.com/waitingsong))
- Added new Infra parameter: `alertmanager_port`, which lets you specify the AlertManager port
- Added new Infra parameter: `certbot_sign`, apply for cert during nginx init? (false by default)
- Added new Infra parameter: `certbot_email`, specifying the email used when requesting certificates via Certbot
- Added new Infra parameter: `certbot_options`, specifying additional parameters for Certbot
- Updated IvorySQL to place its default binary under `/usr/ivory-4` starting in IvorySQL 4.4
- Changed the default for `pg_lc_ctype` and other locale-related parameters from `en_US.UTF-8` to `C`
- For PostgreSQL 17, if using `UTF8` encoding with `C` or `C.UTF-8` locales, PostgreSQL's built-in localization rules now take priority
- `configure` automatically detects whether `C.utf8` is supported by both the PG version and the environment, and adjusts locale-related options accordingly
- Set the default IvorySQL binary path to `/usr/ivory-4`
- Updated the default value of `pg_packages` to `pgsql-main patroni pgbouncer pgbackrest pg_exporter pgbadger vip-manager`
- Updated the default value of `repo_packages` to `[node-bootstrap, infra-package, infra-addons, node-package1, node-package2, pgsql-utility, extra-modules]`
- Removed `LANG` and `LC_ALL` environment variable settings from `/etc/profile.d/node.sh`
- Now using `bento/rockylinux-8` and `bento/rockylinux-9` as the Vagrant box images for EL
- Added a new alias, `extra_modules`, which includes additional optional modules
- Updated PostgreSQL aliases: `postgresql`, `pgsql-main`, `pgsql-core`, `pgsql-full`
- GitLab repositories are now included among available modules
- The Docker module has been merged into the Infra module
- The `node.yml` playbook now includes a `node_pip` task to configure a pip mirror on each node
- The `pgsql.yml` playbook now includes a `pgbackrest_exporter` task for collecting backup metrics
- The `Makefile` now allows the use of `META`/`PKG` environment variables
- Added `/pg/spool` directory as temporary storage for pgBackRest
- Disabled pgBackRest's `link-all` option by default
- Enabled block-level incremental backups for MinIO repositories by default

## Bug Fixes

- Fixed the exit status code in `pg-backup` ([#532](https://github.com/pgsty/pigsty/pull/532) by [@waitingsong](https://github.com/waitingsong))
- In `pg-tune-hugepage`, restricted PostgreSQL to use only large pages ([#527](https://github.com/pgsty/pigsty/pull/527) by [@waitingsong](https://github.com/waitingsong))
- Fixed logic errors in the `pg-role` task
- Corrected type conversion for hugepage configuration parameters
- Fixed default value issues for `node_repo_modules` in the `slim` template

## Checksums

```bash
768bea3bfc5d492f4c033cb019a81d3a  pigsty-v3.4.0.tgz
7c3d47ef488a9c7961ca6579dc9543d6  pigsty-pkg-v3.4.0.d12.aarch64.tgz
b5d76aefb1e1caa7890b3a37f6a14ea5  pigsty-pkg-v3.4.0.d12.x86_64.tgz
42dacf2f544ca9a02148aeea91f3153a  pigsty-pkg-v3.4.0.el8.aarch64.tgz
d0a694f6cd6a7f2111b0971a60c49ad0  pigsty-pkg-v3.4.0.el8.x86_64.tgz
7caa82254c1b0750e89f78a54bf065f8  pigsty-pkg-v3.4.0.el9.aarch64.tgz
8f817e5fad708b20ee217eb2e12b99cb  pigsty-pkg-v3.4.0.el9.x86_64.tgz
8b2fcaa6ef6fd8d2726f6eafbb488aaf  pigsty-pkg-v3.4.0.u22.aarch64.tgz
83291db7871557566ab6524beb792636  pigsty-pkg-v3.4.0.u22.x86_64.tgz
c927238f0343cde82a4a9ab230ecd2ac  pigsty-pkg-v3.4.0.u24.aarch64.tgz
14cbcb90693ed5de8116648a1f2c3e34  pigsty-pkg-v3.4.0.u24.x86_64.tgz
```

## Sources

- [GitHub release](https://github.com/pgsty/pigsty/releases/tag/v3.4.0)
- [Pigsty v3.4 release article](https://pigsty.io/blog/pigsty/v3.4/)
- [Historical About / Release Note](https://pigsty.io/docs/about/release/#v340)
- [Source comparison: `v3.3.0...v3.4.0`](https://github.com/pgsty/pigsty/compare/v3.3.0...v3.4.0)
