# 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 [INSTALL.md](INSTALL.md) ## Backup - Full backup: niedziela 2:00 - Incremental backup: codziennie 2:00 - WAL archiving dla PITR ## Failover ręczny Na pg2: ```bash 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 `/pgbackrest` i WAL - Wersja z Ansible Vault chroni hasła - Test restore co tydzień zalecany