diff --git a/deploy/ansible/roles/postgresql/tasks/main.yml b/deploy/ansible/roles/postgresql/tasks/main.yml index 1c9bb220..2c1ac625 100644 --- a/deploy/ansible/roles/postgresql/tasks/main.yml +++ b/deploy/ansible/roles/postgresql/tasks/main.yml @@ -25,6 +25,12 @@ dest: /etc/pgpool-II/pgpool.conf become: true +- name: Create oiddir for pgpool + file: + path: "{{ memqcache_oiddir }}" + state: directory + become: true + - name: Start postgresql, pgpool and enable at boot systemd: enabled: yes diff --git a/deploy/ansible/roles/postgresql/templates/pgpool.conf.j2 b/deploy/ansible/roles/postgresql/templates/pgpool.conf.j2 index fd7225ab..881166a7 100644 --- a/deploy/ansible/roles/postgresql/templates/pgpool.conf.j2 +++ b/deploy/ansible/roles/postgresql/templates/pgpool.conf.j2 @@ -583,10 +583,8 @@ memory_cache_enabled = on memqcache_method = 'shmem' memqcache_memcached_host = 'localhost' memqcache_memcached_port = 11211 -memqcache_total_size = 67108864 -# Mandatory if memqcache_method = 'shmem'. -# Defaults to 64MB. -# (change requires restart) +# In bytes +memqcache_total_size = {{ memqcache_total_size_byte }} memqcache_max_num_cache = 1000000 # Total number of cache entries. Mandatory # if memqcache_method = 'shmem'. @@ -597,9 +595,10 @@ memqcache_max_num_cache = 1000000 memqcache_expire = 0 memqcache_auto_cache_invalidation = on # Max size of each query -memqcache_maxcache = 409600 -memqcache_cache_block_size = 1048576 -memqcache_oiddir = '/var/log/pgpool/oiddir' +memqcache_maxcache = {{ memqcache_maxcache_byte }} +# TODO Assert cache_block_size > maxcache +memqcache_cache_block_size = {{ memqcache_cache_block_size_byte }} +memqcache_oiddir = '{{ memqcache_oiddir }}' white_memqcache_table_list = '' black_memqcache_table_list = '' # vim: ft=cfg diff --git a/deploy/ansible/roles/postgresql/vars/main.yml b/deploy/ansible/roles/postgresql/vars/main.yml new file mode 100644 index 00000000..d35fcfc7 --- /dev/null +++ b/deploy/ansible/roles/postgresql/vars/main.yml @@ -0,0 +1,8 @@ +memqcache_oiddir: '/var/log/pgpool/oiddir' +# TODO Check the machine has enough RAM +# 10 GB +memqcache_total_size_byte: 1073741824 +# 100 mb +memqcache_maxcache_byte: 13107200 +# Has to be bigger or equal to maxcache_byte +memqcache_cache_block_size_byte: 13107200