1.8.0
版本发布时间: 2023-08-20 06:18:34
vitabaks/postgresql_cluster最新发布版本:2.0.0(2024-08-19 02:48:10)
New features
- Automate updates for PostgreSQL HA Cluster (https://github.com/vitabaks/postgresql_cluster/pull/281)
-
update_pgcluster.yml
playbook is designed to update the PostgreSQL HA Cluster to a new minor version (postgresql, patroni, or the system) - More details can be found here
-
- Automate in place major upgrades for PostgreSQL (https://github.com/vitabaks/postgresql_cluster/pull/301)
-
pg_upgrade.yml
playbook is designed for in-place major upgrades of PostgreSQL (e.g., from 14 to 15, etc) - Upgrade Plan and more details can be found here
-
- Simple cluster deployment with timescaledb (https://github.com/vitabaks/postgresql_cluster/pull/335)
- to deploy a PostgreSQL HA Cluster with the TimescaleDB extension, you just need to specify only one variable
enable_timescale=true
- to deploy a PostgreSQL HA Cluster with the TimescaleDB extension, you just need to specify only one variable
- Added restart option in config_pgcluster.yml (by @artemsafiyulin in https://github.com/vitabaks/postgresql_cluster/pull/354)
- Added pgbouncer authentication via
auth_user
andauth_query
(by @chuegel in https://github.com/vitabaks/postgresql_cluster/pull/401, https://github.com/vitabaks/postgresql_cluster/pull/409, https://github.com/vitabaks/postgresql_cluster/pull/433) - Added the functionality of assigning roles to users (by @sgremyachikh in https://github.com/vitabaks/postgresql_cluster/pull/439)
- New roles
- "cron" (by @mrsrvman in https://github.com/vitabaks/postgresql_cluster/pull/275)
- "pgpass" (https://github.com/vitabaks/postgresql_cluster/pull/273)
- "pre-cheks"(https://github.com/vitabaks/postgresql_cluster/pull/369, https://github.com/vitabaks/postgresql_cluster/pull/436, 480dbcc)
Enhancements
- Automate the tuning of
shared_buffers
andeffective_cache_size
(b6be91f) - Added watchdog support by @tanganellilore in https://github.com/vitabaks/postgresql_cluster/pull/250
- Added callbacks by @artemsafiyulin in https://github.com/vitabaks/postgresql_cluster/pull/248
- Add PowerTools repository to install dependencies (a98ca02)
- Enable CodeReady Linux Builder (crb) repository (for RHEL 9) (0bea22f)
- Enable CodeReady Builder repository for Oracle Linux (7531a94)
- PITR: password reset for PostgreSQL users (b64d8b0)
- pgbackrest: stanza-create (392dc34, eb35ebc)
- pgbackrest: Add the ability to configure a dedicated pgBackRest server (https://github.com/vitabaks/postgresql_cluster/pull/379)
- pgbackrest: Ensure 'repo1-host' and 'repo1-host-user' are set correctly (https://github.com/vitabaks/postgresql_cluster/pull/399)
- Automate 'archive_command' configuration for pgBackRest and WAL-G (https://github.com/vitabaks/postgresql_cluster/pull/394)
- Automate cron jobs configuration for WAL-G and minor fixes (https://github.com/vitabaks/postgresql_cluster/pull/395)
- Update the etcd and vip-manager version (use API v3) (https://github.com/vitabaks/postgresql_cluster/pull/274)
- Ability to configure connection limits by @mrsrvman in https://github.com/vitabaks/postgresql_cluster/pull/280
- Several attempts to install apt and package by @FactorT in https://github.com/vitabaks/postgresql_cluster/pull/285
- Improvements and simplification of the cluster scaling process (https://github.com/vitabaks/postgresql_cluster/pull/290)
- pgbouncer: Add the pgbouncer_listen_addr variable (55b0e984166e1b7feb121acab0e9aadfde588b12)
- pgbouncer: Update pool size calculation algorithm (https://github.com/vitabaks/postgresql_cluster/pull/362)
- custom_wal_dir: Refactoring custom WAL directory setup (https://github.com/vitabaks/postgresql_cluster/pull/425)
- Refactor config_pgcluster.yml, add the leader identification and backup settings (https://github.com/vitabaks/postgresql_cluster/pull/444)
Fixes
- PITR: clear data directory for replicas before restoring if patroni_create_replica_method does not contain pgbackrest (9313991)
- PITR: don't try to stop Postgres if "pg_ctl status" returned 4 (6a9934c)
- PITR: Remove patroni.dynamic.json file before start PostgreSQL for Recovery (476df01601be2647b97f8cea9c97d9aeda7296d3)
- pgbackrest: fix condition for task ssh_keys (48a7ecc)
- etcd: exclude performance tuning (nice/ionice) for containers (cc2bd54b52a146d678cca76bcb1f2d1ab62c007b, 2483a71)
- exclude "Disable Transparent Huge Pages" for containers (775c80c1c376f2df238df592ebce431ab5f964eb)
- exclude role swap for containers (a6dd4df047608fc646dd5ea157313675e80ee361)
- Set permissions for the etcd directory by @mrsrvman in https://github.com/vitabaks/postgresql_cluster/pull/268
- repaired pgbackrest (fix typo) by @wolacinio in https://github.com/vitabaks/postgresql_cluster/pull/282
- vip-manager: fix task "Wait for the cluster ip address (VIP) is running" (e4a7524)
- fix: define all groups in the firewall_additional_rules_for variable (59b6100281b3e5ebd674ad2427a02716cd1494bb)
- firewall: prevent errors when there are host groups undefined in firewall_allowed_tcp_ports_for and firewall_additional_rules_for variables (db81ac649316ab3adba1ee6f44b92f873506bb4f)
- sysctl: avoid errors when there are host groups undefined in sysctl_conf variable (0d9287fbc72f1718c222bbd67275a7d7530b0b47)
- Fix the condition for the "Create Dnsmasq configuration" task loop (0449e67bf1580b3324a04304b8f9770d1543d6e1)
- Fix: Disable privilege escalation for temp file deletion tasks (https://github.com/vitabaks/postgresql_cluster/pull/421)
- Make sure that the cron package is installed (https://github.com/vitabaks/postgresql_cluster/pull/426)
- Consul: Fix '_consul_lan_servers' variable to resolve 'hostvars[' ']' not defined' (https://github.com/vitabaks/postgresql_cluster/pull/440)
Other
- config_pgcluster: add role "copy" (4895da2)
- consul: Make sure the python3-pip package are present on controlling host (12812fb)
- consul: Make sure the unzip package are present on the control host (f94da57351aaa8d21f7a5cb9cc009ab9a3efdf84)
- consul: Install netaddr dependency on the control host (https://github.com/vitabaks/postgresql_cluster/pull/442)
- Describe the requirements for standby cluster (ca77724)
- Do not install pip using get-pip.py (581cf53)
- pg_probackup: Add repo for Centos and Oracle Linux (https://github.com/vitabaks/postgresql_cluster/pull/263)
- remove_cluster: Delete PgBackRest cron by @mrsrvman in https://github.com/vitabaks/postgresql_cluster/pull/264
- Deleting local files after copying from the master by @mrsrvman in https://github.com/vitabaks/postgresql_cluster/pull/267
- Ability to install packages for patroni as a list by @mrsrvman in https://github.com/vitabaks/postgresql_cluster/pull/269
- Added information about the system in ansible log (b0c7616)
- rename "etcd_ver" variable to "etcd_version" (afe2de9)
- remove_cluster: ignore the error if the patroni service is unavailable (7924d46)
- Add patroni_restapi_port variable (https://github.com/vitabaks/postgresql_cluster/pull/279)
- pgbouncer: add query_wait_timeout parameter on pgbouncer.ini.j2 by @mbobrovskyi in https://github.com/vitabaks/postgresql_cluster/pull/296
- remove_cluster: stop consul service if remove_consul is true by @bazzzsh in https://github.com/vitabaks/postgresql_cluster/pull/300
- timezone: Make sure that the tzdata package is installed (64915954bce691632675a87a817f8d98476f85ad)
- replace the "UTC" timezone with "Etc/UTC" (58cd4848875be78a6800ffd2fd31d41b3e19adbc)
- Increase track_activity_query_size to 4096 (3111db66cb6db9da9bd8fdbae98ab40acffcaf3a)
- Configure tcp_keepalives settings for PostgreSQL (53edccdc5d55e0ab99b10da02bab0aabc9548192)
- Make inventory group 'balancers' optional in Ansible tasks (16c63c5fda68edf40c158b88d89b6ad0f5c712ee)
- Patroni: Replace md5 with postgresql_password_encryption_algorithm in pg_hba.conf section (https://github.com/vitabaks/postgresql_cluster/pull/398)
- Patroni: switch to Patroni REST API endpoint '/primary' (https://github.com/vitabaks/postgresql_cluster/pull/400)
- Remove compatibility with Ansible versions older than 2.11.0 (https://github.com/vitabaks/postgresql_cluster/pull/403)
- WAL-G: Perform weekly full backup and retain 4 full backups (cf84295d43340428023ec5f9f22887158e4812c0)
- Do not install PowerTools repository and postgresql devel package by default (RedHat) (https://github.com/vitabaks/postgresql_cluster/pull/443)
- Improving the codebase of roles and playbooks:
- Integrate code improvements and add linters by @ThomasSanson in https://github.com/vitabaks/postgresql_cluster/pull/307 https://github.com/vitabaks/postgresql_cluster/pull/315 https://github.com/vitabaks/postgresql_cluster/pull/368 https://github.com/vitabaks/postgresql_cluster/pull/370 https://github.com/vitabaks/postgresql_cluster/pull/373 https://github.com/vitabaks/postgresql_cluster/pull/371 https://github.com/vitabaks/postgresql_cluster/pull/377 https://github.com/vitabaks/postgresql_cluster/pull/417
- Add the Fully Qualified Collection Name (FQCN) to each Ansible task by @pa-decarvalho in https://github.com/vitabaks/postgresql_cluster/pull/412
- Improve jinja spacing by @pa-decarvalho in https://github.com/vitabaks/postgresql_cluster/pull/413
- Update etcd to version 3.5.9 (2d96cf6d28264ca20edc0545a5afa746fcb0e96e)
- Update Consul to version 1.14.7 (ca5a5fe6fbeb4fe36296b72eed96fe47dcfa7819)
- Debian 12 (Bookworm) support (https://github.com/vitabaks/postgresql_cluster/pull/382)
Dev and Tests
- Add a CONTRIBUTING.md file and Makefile to guide new contributors by @ThomasSanson in https://github.com/vitabaks/postgresql_cluster/pull/305 https://github.com/vitabaks/postgresql_cluster/pull/378
- molecule: set ubuntu2204 by default (9e34a3e)
- Add .gitpod.yml and gitpod Dockerfile (https://github.com/vitabaks/postgresql_cluster/pull/256, f7b10df)
- Fixing MTU issues in Docker (925ba79)
- molecule: return the value "swap_file_create: false" (4f1bbc8b43c23a3ac87ba76e89ce8951cd3784f7)
- molecule: reduce the number of docker containers to save resources during tests (cb9eec8)
- Use makefile for molecule tests in CI/CD (https://github.com/vitabaks/postgresql_cluster/pull/309)
- Freeze Python Dependencies Versions for Better Stability and Reproducibility by @ThomasSanson in https://github.com/vitabaks/postgresql_cluster/pull/344
- Fix tput: No value for $TERM and no -T specified error in GitHub Actions pipeline by @ThomasSanson in https://github.com/vitabaks/postgresql_cluster/pull/345
- Implement DRY principle with a shared config.yml file for Molecule scenarios by @ThomasSanson in https://github.com/vitabaks/postgresql_cluster/pull/348
- Add shell flags to the Makefile for better error handling and safer scripting by @ThomasSanson in https://github.com/vitabaks/postgresql_cluster/pull/349
- Implement DRY principle for Python version management in the project by @ThomasSanson in https://github.com/vitabaks/postgresql_cluster/pull/350
- Add .venv/ to .dockerignore for Docker build efficiency by @ThomasSanson in https://github.com/vitabaks/postgresql_cluster/pull/351
- Refactor Makefile to include all makefiles in subdirectories by @ThomasSanson in https://github.com/vitabaks/postgresql_cluster/pull/355
- Resolves Multiple Issues and Enhances Docker Setup by @ThomasSanson in https://github.com/vitabaks/postgresql_cluster/pull/352
- Refactor Project Structure and Makefile Targets by @ThomasSanson in https://github.com/vitabaks/postgresql_cluster/pull/357
- Add a GitHub Action for Docker (make docker-build) by @ThomasSanson in https://github.com/vitabaks/postgresql_cluster/pull/365
- Add tests for Ansible Verifier by @ThomasSanson in https://github.com/vitabaks/postgresql_cluster/pull/367
- Cleanup of ansible-lint.yml file by @ThomasSanson in https://github.com/vitabaks/postgresql_cluster/pull/376
- Molecule: Add role "timezone" to tests (f7db5dc1b239935542ed40e89ad78942f75570d5)
- Remove Molecule tests for CentOS 8 (EOL) (https://github.com/vitabaks/postgresql_cluster/pull/404)
- Dockerfile Optimization with Multi-Stage Builds by @AurelienToitot in https://github.com/vitabaks/postgresql_cluster/pull/387
New Contributors
- @tanganellilore made their first contribution in https://github.com/vitabaks/postgresql_cluster/pull/250
- @mrsrvman made their first contribution in https://github.com/vitabaks/postgresql_cluster/pull/264
- @wolacinio made their first contribution in https://github.com/vitabaks/postgresql_cluster/pull/282
- @FactorT made their first contribution in https://github.com/vitabaks/postgresql_cluster/pull/285
- @mbobrovskyi made their first contribution in https://github.com/vitabaks/postgresql_cluster/pull/296
- @bazzzsh made their first contribution in https://github.com/vitabaks/postgresql_cluster/pull/300
- @ThomasSanson made their first contribution in https://github.com/vitabaks/postgresql_cluster/pull/305
- @chuegel made their first contribution in https://github.com/vitabaks/postgresql_cluster/pull/401
- @AurelienToitot made their first contribution in https://github.com/vitabaks/postgresql_cluster/pull/387
- @pa-decarvalho made their first contribution in https://github.com/vitabaks/postgresql_cluster/pull/412
- @sgremyachikh made their first contribution in https://github.com/vitabaks/postgresql_cluster/pull/439
Full Changelog: https://github.com/vitabaks/postgresql_cluster/compare/1.7.0...1.8.0