INSIGHT-MVP/repos/INSIGHT-Infra/ansible/roles/pgbouncer/templates/pgbouncer.ini.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

33 lines
934 B
Django/Jinja

# pgbouncer.ini — Managed by Ansible (INSIGHT-Infra)
[databases]
{% for db in postgresql_databases | default([]) %}
{{ db }} = host=127.0.0.1 port=5432 dbname={{ db }}
{% endfor %}
[pgbouncer]
listen_addr = 127.0.0.1
listen_port = {{ pgbouncer_port | default(5433) }}
auth_type = md5
auth_file = /etc/pgbouncer/userlist.txt
pool_mode = {{ pgbouncer_pool_mode | default('transaction') }}
max_client_conn = {{ pgbouncer_max_client_conn | default(200) }}
default_pool_size = {{ pgbouncer_default_pool_size | default(20) }}
min_pool_size = {{ pgbouncer_min_pool_size | default(5) }}
reserve_pool_size = {{ pgbouncer_reserve_pool_size | default(5) }}
reserve_pool_timeout = 5
# Logging
log_connections = 0
log_disconnections = 0
log_pooler_errors = 1
stats_period = 60
# Admin
admin_users = pgbouncer_admin
stats_users = pgbouncer_stats
# PID
pidfile = /var/run/postgresql/pgbouncer.pid
logfile = /var/log/postgresql/pgbouncer.log