libre_ops.wal2json
wal2json Bereitstellungsrolle
Dies ist eine Ansible-Rolle zur Bereitstellung von Wal2json, einem Postgresql-Plugin für Change Data Capture, das Datenbankänderungen in JSON-Differenzen umwandelt.
Voreinstellungen
Alle Standardwerte findest du hier.
Die Standardvariablen für Postgresql
sind auf Debian/Ubuntu und Postgres 10 ausgelegt, können jedoch nach Bedarf überschrieben werden:
postgresql_version: "10"
postgresql_bin_path: "/usr/lib/postgresql/{{ postgresql_version }}/bin"
postgresql_config_path: "/etc/postgresql/{{ postgresql_version }}/main"
Aus dem Quellcode bauen
Um wal2json aus dem GitHub-Repo abzurufen und aus dem Quellcode zu bauen, verwende: wal2json_build_from_source: true
.
Vorsicht bei shared_preload_libraries
Standardmäßig schreibt diese Rolle einige Konfigurationseinstellungen in eine Postgres conf.d
-Datei, einschließlich der Einstellung shared_preload_libraries = 'wal2json'
.
Wenn du andere Postgres-Bibliotheken in deiner Anwendung verwendest, solltest du wal2json_set_preload_libraries: false
verwenden und 'wal2json' separat in deiner postgresql.conf-Datei einfügen, z.B.: shared_preload_libraries = 'some_other_library,wal2json'
.
Wenn du denselben Wert zweimal in deinen Konfigurationen einstellst, kann es dazu führen, dass Postgres nicht mehr funktioniert, also sei vorsichtig, um Duplikate zu vermeiden.
Beispiel-Playbook
- name: Wal2json bereitstellen
hosts: webservers
roles:
- role: libre_ops.wal2json
vars:
postgresql_version: 11
ansible-galaxy install libre_ops.wal2json