From a44b604f6bf7b44a5cdf3dba319e76f146811808 Mon Sep 17 00:00:00 2001 From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com> Date: Thu, 14 Feb 2019 18:59:00 +0100 Subject: [PATCH] postgres: Integrate soyuz' config and clean up syntax --- playbooks/apollo.yml | 8 ++++++-- playbooks/nymeria.yml | 6 ++++-- playbooks/soyuz.yml | 7 ++++++- roles/postgres/defaults/main.yml | 3 +++ roles/postgres/templates/postgresql.conf.j2 | 6 +++--- 5 files changed, 22 insertions(+), 8 deletions(-) diff --git a/playbooks/apollo.yml b/playbooks/apollo.yml index 5fb18a3bc..6eb9fd0f2 100644 --- a/playbooks/apollo.yml +++ b/playbooks/apollo.yml @@ -30,8 +30,12 @@ - { role: postfix, postfix_server: false, postfix_smtpd_public: true, postfix_patchwork_enabled: true, tags: ["mail", "postfix"] } - { role: opendkim, dkim_selector: apollo, tags: ['mail', "opendkim"] } - { role: postfwd, tags: ['mail', "postfwd"] } - - { role: postgres, postgres_listen_addresses: "*", postgres_max_connections: 1000, postgres_ssl: 'on', postgres_shared_buffers: 4096MB, - tags: ['postgres'] } + - role: postgres + postgres_listen_addresses: "*" + postgres_max_connections: 1000 + postgres_ssl: 'on' + postgres_shared_buffers: 4096MB + tags: ['postgres'] - { role: mariadb, mariadb_innodb_buffer_pool_size: '64M', mariadb_table_open_cache: '256', mariadb_query_cache_type: '0', mariadb_innodb_file_per_table: True, tags: ["mariadb"] } - { role: sudo, tags: ['sudo'] } diff --git a/playbooks/nymeria.yml b/playbooks/nymeria.yml index ae2b127d7..3db6ccb94 100644 --- a/playbooks/nymeria.yml +++ b/playbooks/nymeria.yml @@ -10,8 +10,10 @@ - { role: unbound } - { role: root_ssh, tags: ['root_ssh'] } - { role: nginx, tags: ["nginx"] } - - { role: postgres, postgres_max_connections: 1000, postgres_shared_buffers: 4096MB, - tags: ['postgres'] } + - role: postgres + postgres_max_connections: 1000 + postgres_shared_buffers: 4096MB + tags: ['postgres'] - { role: uwsgi, tags: ['uwsgi'] } - { role: opendkim, dkim_selector: nymeria, tags: ['mail'] } - { role: postfix, postfix_server: false, postfix_smtpd_public: false, tags: ['mail'] } diff --git a/playbooks/soyuz.yml b/playbooks/soyuz.yml index 857096431..6a845d265 100644 --- a/playbooks/soyuz.yml +++ b/playbooks/soyuz.yml @@ -16,7 +16,12 @@ - { role: nginx, tags: ["nginx"] } - { role: sudo, tags: ['sudo', 'archusers'] } - { role: phrik, tags: ['phrik'] } - - { role: postgres, tags: ['postgres'] } + - role: postgres + postgres_shared_buffers: 2GB + postgres_work_mem: 32MB + postgres_maintenance_work_mem: 1GB + postgres_effective_cache_size: 32GB + tags: ['postgres'] - { role: oidentd, tags: ['oidentd'] } - { role: quassel, quassel_domain: "quassel.archlinux.org", tags: ['quassel'] } - { role: matrix, tags: ['matrix'] } diff --git a/roles/postgres/defaults/main.yml b/roles/postgres/defaults/main.yml index d3a0060fa..e377c5418 100644 --- a/roles/postgres/defaults/main.yml +++ b/roles/postgres/defaults/main.yml @@ -9,6 +9,9 @@ postgres_ssl_key_file: '/var/lib/postgres/data/privkey.pem' postgres_ssl_ca_file: '/var/lib/postgres/data/chain.pem' postgres_shared_buffers: '128MB' +postgres_work_mem: '4MB' +postgres_maintenance_work_mem: '64MB' +postgres_effective_cache_size: '4GB' postgres_ssl_hosts4: [] postgres_ssl_hosts6: [] diff --git a/roles/postgres/templates/postgresql.conf.j2 b/roles/postgres/templates/postgresql.conf.j2 index 79b1da590..a71558c0e 100644 --- a/roles/postgres/templates/postgresql.conf.j2 +++ b/roles/postgres/templates/postgresql.conf.j2 @@ -123,8 +123,8 @@ shared_buffers = {{ postgres_shared_buffers }} # min 128kB # (change requires restart) # Caution: it is not advisable to set max_prepared_transactions nonzero unless # you actively intend to use prepared transactions. -#work_mem = 4MB # min 64kB -#maintenance_work_mem = 64MB # min 1MB +work_mem = {{ postgres_work_mem }} # min 64kB +maintenance_work_mem = {{ postgres_maintenance_work_mem }} # min 1MB #autovacuum_work_mem = -1 # min 1MB, or -1 to use maintenance_work_mem #max_stack_depth = 2MB # min 100kB dynamic_shared_memory_type = posix # the default is the first option @@ -331,7 +331,7 @@ min_wal_size = 80MB #min_parallel_table_scan_size = 8MB #min_parallel_index_scan_size = 512kB -#effective_cache_size = 4GB +effective_cache_size = {{ postgres_effective_cache_size }} # - Genetic Query Optimizer - -- GitLab