README.md
PostgreSQL Production Setup via Ansible
Kompletne wdrożenie PostgreSQL 16 z repliką, backupami, PITR i bazą MailArchiver.
Struktura repo
ansible/
├── inventory.ini
├── site.yml
├── group_vars/all/secrets.yml
└── roles/
├── common/
│ └── tasks/main.yml
├── postgres/
│ ├── tasks/main.yml
│ └── templates/
│ ├── postgresql.conf.j2
│ └── pg_hba.conf.j2
├── replication/
│ └── tasks/main.yml
├── pgbackrest/
│ ├── tasks/main.yml
│ └── templates/pgbackrest.conf.j2
└── mailarchiver_db/
└── tasks/main.yml
Instalacja i konfiguracja
Backup
- Full backup: niedziela 2:00
- Incremental backup: codziennie 2:00
- WAL archiving dla PITR
Failover ręczny
Na pg2:
sudo -u postgres pg_ctl promote
Następnie zmień aplikację, aby łączyła się z nowym primary.
Uwagi produkcyjne
- Aplikacja musi łączyć się tylko z primary
- Repozytorium backupu na pg2
- Monitoruj
/pgbackresti WAL - Wersja z Ansible Vault chroni hasła
- Test restore co tydzień zalecany
Description
Languages
Jinja
100%