pgbouncer
Ansible Роль: PgBouncer
Эта роль устанавливает и настраивает PgBouncer — пул соединений для PostgreSQL.
Она была разработана только для Ubuntu 16.04, но и другие дистрибутивы Debian также должны работать.
Требования
Отсутствуют.
Переменные Роли
Массив pgbouncer_databases
позволяет создать очень динамичную настройку баз данных. Любое свойство, разрешенное в строке подключения, может быть определено в этом массиве и автоматически добавлено в определение псевдонима. Пример ниже настраивает псевдоним базы данных dev
, который объединяет соединения с базой данных postgres
на postgres:5432
, подключаясь как foo:md5asdofiasodfa09f9832f
. Вы можете определить больше баз данных аналогичным образом.
pgbouncer_databases:
- dev:
host: postgres # или фактический IP-адрес
port: 5432
dbname: postgres
user: foo
password: md5asdofiasodfa09f9832f
Эта роль также может опционально установить пакет postgresql-client
для доступа к PostgreSQL или PgBouncer через командную строку. Чтобы установить этот пакет, задайте pgbouncer_install_psql: true
.
Шаблон конфигурации позволяет переопределять некоторые значения. Для этого создайте переменную с именем, соответствующим свойству конфигурации, которое вы хотите изменить, и добавьте к нему префикс pgbouncer_
. Например, чтобы переопределить порт по умолчанию listen_port
, передайте переменную с именем pgbouncer_listen_port
. Смотрите файл шаблона для других настроек, которые можно переопределить таким образом. Обратите внимание, что не все параметры доступны, только некоторые общие, которые я использую.
Примечание: Некоторые переменные ожидают массив - это должно быть очевидно.
Посмотрите defaults/main.yml
для более подробного описания других переменных. Также стоит проверить
templates/pgbouncer.ini.j2
на предмет дополнительных переменных, которые можно установить.
pgbouncer_install_state
: Это полезно для обновления PgBouncer до новых версий после его установки. Используйте latest
, чтобы реализовать эту функциональность.
Ресурсы
Документацию по PgBouncer можно найти по следующим ссылкам:
Зависимости
Отсутствуют.
Пример Плейбука
- hosts: servers
become: yes
roles:
- role: jradtilbrook.pgbouncer
pgbouncer_databases:
- testing:
host: postgres
port: 5432
dbname: postgres
Лицензия
MIT
ansible-galaxy install jradtilbrook/ansible-role-pgbouncer