127 lines
3.5 KiB
Markdown
127 lines
3.5 KiB
Markdown
Role Name
|
|
=========
|
|
|
|
A role that installs pgPoolII
|
|
|
|
Role Variables
|
|
--------------
|
|
|
|
The most important variables are listed below:
|
|
|
|
``` yaml
|
|
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 Dell'Amico, <andrea.dellamico@isti.cnr.it>
|