libre_ops.wal2json
wal2json Provisioning Role
==========================
This is an Ansible role used to set up Wal2json, which is a PostgreSQL plugin for capturing changes in the database and converting them into JSON format.
Defaults
You can find all the default settings here.
The default PostgreSQL settings are designed for Debian/Ubuntu and PostgreSQL version 10, but you can change them as needed:
postgresql_version: "10"
postgresql_bin_path: "/usr/lib/postgresql/{{ postgresql_version }}/bin"
postgresql_config_path: "/etc/postgresql/{{ postgresql_version }}/main"
Building from Source
To download and build wal2json from the GitHub repository, set wal2json_build_from_source: true
.
Caution with shared_preload_libraries
By default, this role will add certain configuration settings to a PostgreSQL conf.d
file, including shared_preload_libraries = 'wal2json'
.
If you are using other PostgreSQL libraries in your application, set wal2json_set_preload_libraries: false
and manually add 'wal2json' to your postgresql.conf file. For example:
shared_preload_libraries = 'some_other_library,wal2json'
.
Avoid setting the same value multiple times in your configuration, as it can cause PostgreSQL to stop working.
Example Playbook
- name: Provision wal2json
hosts: webservers
roles:
- role: libre_ops.wal2json
vars:
postgresql_version: 11
wal2json provisioning role
ansible-galaxy install libre_ops.wal2json