New features
- Support for multiple PgBouncer processes using
so_reuseport
by @vitabaks in #487- PgBouncer is single-threaded and uses one CPU core per instance, this option is a way to get PgBouncer to use multiple CPU cores. Variable:
pgbouncer_processes
(default: 1)
- PgBouncer is single-threaded and uses one CPU core per instance, this option is a way to get PgBouncer to use multiple CPU cores. Variable:
- Add
patroni_maximum_lag_on_replica
variable by @vitabaks in #569 #570- The implementation involves appending an optional
?lag=<max-lag>
parameter to the health check forreplica
andasync
endpoints. By doing so, it enables excluding those replicas from load balancing whose lag exceeds the specified maximum, as determined by thepatroni_maximum_lag_on_replica
setting (default: "100MB").
- The implementation involves appending an optional
Enhancements
- etcd: Add the Auto Compaction option for maintenance etcd by @SDV109 in #562
- PgBouncer: Add
max_prepared_statements
option by @vitabaks in #497 - PgBouncer: Connect via Unix socket instead of TCP/IP to improve performance by @vitabaks in #498
- PgBouncer: Сreate the '
user_search
' function in pgbouncer_auth_dbname only by @SDV109 in #568 - PgBackRest: Enable asynchronous WAL archiving by @vitabaks in #515
- PgBackRest: automate backup-standby setup by @vitabaks in #538
- pg_upgrade.yml: Add
pgbackrest_stanza_upgrade
variable by @vitabaks in #541 - pg_upgrade.yml: Provide support for upgrading to PostgreSQL 16 by @vitabaks in #472
- update_pgcluster.yml: Reboot node if it's required, e.g. kernel or security updates by @chuegel in #510
Fixes
- WAL-G: fix command for task "Check the latest available Go version" and install make package by @vitabaks in #446
- Fix: Compatibility with custom patroni_superuser_username by @vitabaks in #462
- Fix: Do not use a proxy when accessing the Patroni API by @vitabaks in #465
- Change to avoid the error "AnsibleUndefinedVariable: 'ansible_hostname'" by @TommasoDb in #483
- Fix patroni.yml: Remove extra '+' from 'endfor' in etcd3.hosts by @vitabaks in #490
- PgBouncer: drop
-q
option from call by @jimnydev in #491 - PgBouncer: Fix "local" pg_hba rule by @vitabaks in #508
- Fix: perform tasks of the "copy" role with root privilege by @vitabaks in #525
- Fix add_pgnode.yml: Clear the data directory for the new node for bootstrapping by @vitabaks in #527
- Fix: Set the dependency versions for the "yedit" module. by @vitabaks in #529
- Fix: Skip creating DB users and functions in Standby Cluster leader by @vitabaks in #533
- upgrade: Fix PgBouncer socket dir permissions on RHEL by @vitabaks in #534
- upgrade: Ensure correct permissions for PgBouncer unix socket directory by @vitabaks in #544
- Import AlmaLinux repository GPG key by @vitabaks in #557 #566
- Disable 'pgdg' repo during system packages installation (RHEL) by @vitabaks in #561
- add-repository: Do not delete the 'epel-release' package if it is installed (RHEL) by @vitabaks in #567
- Consul: Add a nameserver entry poining to localhost for dnsmasq by @vitabaks in #571
Other
- HAProxy: enable direct connections apart from pgbouncer ones (#548) by @jimnydev in #549
- issues 449,448 remove_cluster.yml improvements by @rrrru in #450
- PgBouncer: Ensure pgbouncer service is enabled by @vitabaks in #454
- PgBouncer: Install the latest version of the pgbouncer package by @vitabaks in #461
- PgBouncer: Use the RuntimeDirectory option in the systemd unit file. by @vitabaks in #506
- config_pgcluster.yml: Add compatibility with check mode by @vitabaks in #459
- PgBackRest: do not perform the role of ssh_keys in check mode by @vitabaks in #466
- PgBackRest: Create a unique cron file name by @vitabaks in #468
- vip-manager: do not install in check mode by @vitabaks in #467
- etcd: compatibility with check mode by @vitabaks in #470
- etcd: Parameters for patroni etcd username, password and namespace by @lavr in #473
- confd: requires an additional 'basic_auth' flag for etcd authorization by @lavr in #475
- pgpass: do not output the contents to the log by @vitabaks in #469
- Add PIP_BREAK_SYSTEM_PACKAGES to the pip module by @vitabaks in #486
- Add "keepalived_virtual_router_id" variable by @vitabaks in #513
- Do not use a proxy when accessing the Patroni API by @vitabaks in #521
- add_pgnode.yml: Fix the list of hosts to configure pgbackrest by @vitabaks in #517
- pg_upgrade: Use 50% CPU cores for vacuumdb (analyze) by @vitabaks in #523
- Optimize PostgreSQL parameters for SSD storage by @vitabaks in #536
- Describe "Changing PostgreSQL configuration parameters" by @vitabaks in #556
- Specify Patroni version (don't use 'latest' by default) by @vitabaks in #474
- PostgreSQL 16 (by default) by @vitabaks in #526
- Update Patroni to v3.2.0 by @vitabaks in #492
- Update ETCD to v3.5.11 by @vitabaks in #545
- Update Consul to v1.15.8 by @vitabaks in #546
- Update Patroni to v3.2.2 by @vitabaks in #554
- Update vip-manager to v2.3.0 by @vitabaks in #565
- Remove compatibility with Ubuntu 18.04 by @vitabaks in #495
Tests
- Molecule: Add config_pgcluster.yml and update_pgcluster.yml playbooks to tests by @vitabaks in #478
- Molecule: exclude ubuntu 18.04 from pg_upgrade tests by @vitabaks in #479
- Add the Molecule tests for the Type C schema (Consul) by @vitabaks in #511
New Contributors
- @rrrru made their first contribution in #450
- @lavr made their first contribution in #473
- @ScarletBlizzard made their first contribution in #480
- @TommasoDb made their first contribution in #483
- @SDV109 made their first contribution in #562
Full Changelog: 1.8.0...1.9.0