Role that installs Pgpool-II on top of PostgreSQL
Go to file
Tommaso Piccioli 4dbdbb66a7 Update 'tasks/postgres_pgpool.yml' 2021-09-17 18:37:33 +02:00
defaults Fixes #21358. Failover with half votes. 2021-05-07 11:37:19 +02:00
files First commit. 2021-04-02 18:10:49 +02:00
handlers First commit. 2021-04-02 18:10:49 +02:00
library First commit. 2021-04-02 18:10:49 +02:00
meta First commit. 2021-04-02 18:10:49 +02:00
tasks Update 'tasks/postgres_pgpool.yml' 2021-09-17 18:37:33 +02:00
templates Always reload the service. 2021-07-05 11:43:18 +02:00
tests Initial commit 2021-04-02 16:58:24 +02:00
vars First commit. 2021-04-02 18:10:49 +02:00
.gitignore Initial commit 2021-04-02 16:58:24 +02:00
LICENSE Initial commit 2021-04-02 16:58:24 +02:00
README.md First commit. 2021-04-02 18:10:49 +02:00

README.md

Role Name

A role that installs pgPoolII

Role Variables

The most important variables are listed below:

psql_pgpool_install: True
psql_pgpool_service_install: True
psql_pgpool_pkg_state: present
#
# Pgpool-II
#
# Those need to be installed on the postgresql server.
#
pgpool_version: '4.1.4'
pgpool_fixed_version: '={{ pgpool_version }}-2.pgdg18.04+1'
postgresql_pgpool_pkgs:
  - 'postgresql-{{ psql_version }}-pgpool2{{ pgpool_fixed_version }}'

# pgpool-II
pgpool_pkgs:
  - 'pgpool2{{ pgpool_fixed_version }}'
  - iputils-arping

pgpool_el_pkgs:
  - 'pgpool-II-{{ psql_version }}'
  - 'pgpool-II-{{ psql_version }}-extensions'

pgpool_enabled: True
pgpool_listen_addresses: 'localhost'
pgpool_port: 5433
pgpool_listen_backlog_multiplier: 2
pgpool_pcp_user: admin
# Define pcp_pwd in a vault file
pgpool_pcp_listen_addresses: '*'
pgpool_pcp_port: 9898
#pgpool_backends:
#  - { id: 0, hostname: 'backend0', backend_port: '{{ psql_db_port }}', backend_weight: 1, backend_data_directory: '{{ psql_data_dir }}', backend_flag: 'ALLOW_TO_FAILOVER' }
pgpool_enable_pool_hba: 'on'
pgpool_pool_passwd: 'pool_passwd'
pgpool_num_init_children: 32
pgpool_max_pool: 4
pgpool_child_life_time: 300
pgpool_child_max_connections: 0
pgpool_connection_life_time: 0
pgpool_client_idle_limit: 0
pgpool_log_destination: syslog
pgpool_log_connections: 'on'
pgpool_log_hostname: 'on'
pgpool_log_statement: 'off'
pgpool_log_per_node_statement: 'off'
pgpool_debug_level: 0
pgpool_replication_mode: 'on'
pgpool_replicate_select: 'off'
pgpool_insert_lock: 'on'
pgpool_lobj_lock_table: ''
pgpool_replication_stop_on_mismatch: 'on'
pgpool_failover_if_affected_tuples_mismatch: 'off'
pgpool_recovery_timeout: 30
pgpool_client_idle_limit_in_recovery: -1
pgpool_load_balance_mode: 'on'
pgpool_ignore_leading_white_space: 'on'
pgpool_recovery_user: postgres
# pgpool_recovery_user_pwd: use a vault file for this one
pgpool_recovery_stage1_script: pgpool_recovery_stage_1
pgpool_recovery_stage2_script: pgpool_recovery_stage_2
pgpool_remote_start_script: pgpool_remote_start
pgpool_white_function_list: ''
pgpool_black_function_list: 'nextval,setval'
pgpool_allow_sql_comments: 'on'
pgpool_fail_over_on_backend_error: 'on'
pgpool_relcache_expire: 3600
#
pgpool_memory_cache_enabled: False
# memcached, shmem
pgpool_memqcache_method: shmem
pgpool_memqcache_memcached_host: localhost
pgpool_memqcache_memcached_port: 11211
pgpool_memqcache_expire: 0
pgpool_memqcache_auto_cache_invalidation: 'on'
pgpool_serialize_accept: 'off'
# HA and watchdog
pgpool_use_watchdog: 'off'
pgpool_wd_trusted_servers: 'localhost,localhost'
pgpool_wd_port: 9000
pgpool_wd_priority: 1
# Warning: setting pgpool_wd_heartbeat_mode to False enables
# the 'query mode' that is untested and not working without manual intervention
pgpool_wd_heartbeat_mode: True
pgpool_wd_heartbeat_port: 9694
pgpool_wd_heartbeat_keepalive_int: 3
pgpool_wd_heartbeat_deadtime: 30
pgpool_wd_heartbeat_dest0: 'localhost'
pgpool_wd_heartbeat_dest0_port: '{{ pgpool_wd_heartbeat_port }}'
#pgpool_wd_authkey: 'set it inside a vault file'

# SSL as a special case
pgpool_enable_ssl: False
pgpool_letsencrypt_managed: True
pgpool_ssl_key: /etc/pki/pgpool2/pgpool2.key
pgpool_ssl_cert: '/var/lib/acme/live/{{ ansible_fqdn }}/cert'
pgpool_ssl_ca: '/var/lib/acme/live/{{ ansible_fqdn }}/fullchain'
pgpool_ssl_ca_dir: /etc/ssl/certs
pgpool_virtual_ip: 127.0.0.1
pgpool_virtual_netmask: 24

Dependencies

None

License

EUPL-1.2

Author Information

Andrea DellAmico, andrea.dellamico@isti.cnr.it