wal2json
Роль для провизии wal2json
Это роль Ansible для провизии Wal2json, плагина postgresql для захвата изменений в данных, который преобразует изменения базы данных в json-отличия.
Настройки по умолчанию
Ознакомьтесь со всеми настройками по умолчанию здесь.
Переменные Postgresql
по умолчанию нацелены на Debian/Ubuntu и Postgres 10, но могут быть переопределены по мере необходимости:
postgresql_version: "10"
postgresql_bin_path: "/usr/lib/postgresql/{{ postgresql_version }}/bin"
postgresql_config_path: "/etc/postgresql/{{ postgresql_version }}/main"
Сборка из исходников
Чтобы загрузить wal2json из репозитория GitHub и собрать его из исходников, используйте: wal2json_build_from_source: true
.
Осторожно с shared_preload_libraries
По умолчанию эта роль будет записывать некоторые настройки конфигурации в файл conf.d
Postgres, включая установку shared_preload_libraries = 'wal2json'
.
Если вы используете другие библиотеки postgres в вашем приложении, вам следует установить: wal2json_set_preload_libraries: false
и отдельно включить 'wal2json' в ваш файл postgresql.conf, например: shared_preload_libraries = 'some_other_library,wal2json'
.
Установка одинакового значения дважды в ваших конфигурациях может привести к сбою работы postgres, поэтому будьте осторожны, чтобы избежать дубликатов.
Пример плейбука
- name: Провизия wal2json
hosts: webservers
roles:
- role: libre_ops.wal2json
vars:
postgresql_version: 11
ansible-galaxy install libre-ops/wal2json