INSIGHT-MVP/repos/INSIGHT-Infra/ansible/roles/postgresql/templates/postgresql.conf.j2
Thomas Reitz 36196457ea feat(infra): vollständige Ansible-Struktur Phase 1
- Alle Ansible-Rollen erstellt: common, disk_setup, docker, postgresql,
  pgbouncer, redis, nginx, zabbix_agent
- ansible.cfg mit Pipeline-Optimierung
- hosts.yml mit echten IPs (DBS01=.20, APS01=.21, WEB01=.22)
- group_vars für alle Server (dbs, aps, web)
- Zabbix-Server auf sentinel.xinion.de gesetzt
- vault.yml.example als Vorlage für Secrets
- site.yml nutzt import_playbook (DBS01→APS01→WEB01)
- BRIEFING.md für alle 4 Repos angelegt (Platform, Apps, Infra, Shared)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-15 15:23:29 +01:00

42 lines
1.2 KiB
Django/Jinja

# postgresql.conf — Managed by Ansible (INSIGHT-Infra)
# Für {{ inventory_hostname }}
# Connection
listen_addresses = 'localhost'
port = 5432
max_connections = {{ postgresql_max_connections | default(100) }}
# Data Directory
data_directory = '{{ postgresql_data_dir }}'
# Memory (anpassen je nach RAM — Standard: 25% shared_buffers)
shared_buffers = {{ postgresql_shared_buffers | default('256MB') }}
effective_cache_size = {{ postgresql_effective_cache_size | default('1GB') }}
work_mem = {{ postgresql_work_mem | default('4MB') }}
maintenance_work_mem = {{ postgresql_maintenance_work_mem | default('64MB') }}
# WAL
wal_level = replica
max_wal_size = {{ postgresql_max_wal_size | default('1GB') }}
min_wal_size = {{ postgresql_min_wal_size | default('80MB') }}
# Logging
log_destination = 'stderr'
logging_collector = on
log_directory = 'log'
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
log_rotation_age = 1d
log_rotation_size = 100MB
log_min_duration_statement = 1000
log_connections = on
log_disconnections = on
log_line_prefix = '%m [%p] %q%u@%d '
# Locale
lc_messages = 'de_DE.UTF-8'
lc_monetary = 'de_DE.UTF-8'
lc_numeric = 'de_DE.UTF-8'
lc_time = 'de_DE.UTF-8'
# Timezone
timezone = '{{ timezone | default("Europe/Berlin") }}'