jradtilbrook.pgbouncer
Ansible Rolle: PgBouncer 
Diese Rolle installiert und konfiguriert den PgBouncer Connection Pooler für PostgreSQL.
Sie wurde nur für Ubuntu 16.04 entwickelt, sollte aber auch mit anderen Debian-Versionen funktionieren.
Anforderungen
Keine.
Rollenvariablen
Das Array pgbouncer_databases
ermöglicht eine sehr dynamische Datenbankkonfiguration. Jede Eigenschaft, die im Verbindungsstring erlaubt ist, kann in diesem Array definiert werden und wird automatisch zur Alias-Definition hinzugefügt. Das folgende Beispiel konfiguriert einen dev
-Datenbankalias, der Verbindungen zur postgres
-Datenbank auf postgres:5432
herstellt mit dem Benutzer foo:md5asdofiasodfa09f9832f
. Du kannst weitere Datenbanken auf die gleiche Weise definieren.
pgbouncer_databases:
- dev:
host: postgres # oder die tatsächliche IP-Adresse
port: 5432
dbname: postgres
user: foo
password: md5asdofiasodfa09f9832f
Diese Rolle kann auch optional das Paket postgresql-client
für den Zugriff auf PostgreSQL oder PgBouncer über die Kommandozeile installieren. Um dieses Paket zu installieren, setze pgbouncer_install_psql: true
.
Die Konfiguration Vorlage erlaubt es, einige Werte zu überschreiben. Um dies zu erreichen, erstelle eine Variable mit dem Namen der Konfigurationseigenschaft, die du ändern möchtest, und füge pgbouncer_
als Präfix hinzu. Zum Beispiel, um den Standardwert listen_port
von 6432 zu überschreiben, verwende eine Variable mit dem Namen pgbouncer_listen_port
. Siehe die Vorlagendatei für andere Konfigurationen, die auf diese Weise überschrieben werden können. Beachte, dass nicht alle Einstellungen verfügbar sind, nur einige gängige, die ich benutze.
Hinweis: Einige Variablen erwarten ein Array - es sollte offensichtlich sein, welche.
Sieh dir die defaults/main.yml
für weitere Beschreibungen anderer Variablen an. Du solltest auch in templates/pgbouncer.ini.j2
nach zusätzlichen Variablen suchen, die du setzen kannst.
pgbouncer_install_state
: Das ist nützlich, um PgBouncer auf neuere Versionen zu aktualisieren, nachdem es bereits installiert wurde. Verwende latest
, um diese Funktionalität zu erreichen.
Ressourcen
Dokumentation zu PgBouncer findest du unter den folgenden Links:
Abhängigkeiten
Keine.
Beispiel-Playbook
- hosts: servers
become: yes
roles:
- role: jradtilbrook.pgbouncer
pgbouncer_databases:
- testing:
host: postgres
port: 5432
dbname: postgres
Lizenz
MIT
PgBouncer connection pooler for Ubuntu
ansible-galaxy install jradtilbrook.pgbouncer