diff --git a/group_vars/all/17_resource.yml b/group_vars/all/17_resource.yml index f8a5c48d11..281b5eff75 100644 --- a/group_vars/all/17_resource.yml +++ b/group_vars/all/17_resource.yml @@ -53,6 +53,7 @@ POSTGRES_WORK_MEM_MB: "{{ [ ( (POSTGRES_TOTAL_RAM_MB | int) // ( [ (POSTGRES_MAX POSTGRES_WORK_MEM: "{{ POSTGRES_WORK_MEM_MB ~ 'MB' }}" POSTGRES_MAINTENANCE_WORK_MEM_MB: "{{ [ (((POSTGRES_TOTAL_RAM_MB | int) * 5) // 100), 64 ] | max }}" POSTGRES_MAINTENANCE_WORK_MEM: "{{ POSTGRES_MAINTENANCE_WORK_MEM_MB ~ 'MB' }}" +POSTGRES_MAX_LOCKS_PER_TRANSACTION: 256 POSTGRES_DELAY: 2 TIMEOUT_FACTOR: 1 diff --git a/roles/svc-db-postgres/templates/compose.yml.j2 b/roles/svc-db-postgres/templates/compose.yml.j2 index 5b0170dfda..3136594e5a 100644 --- a/roles/svc-db-postgres/templates/compose.yml.j2 +++ b/roles/svc-db-postgres/templates/compose.yml.j2 @@ -16,6 +16,8 @@ - "work_mem={{ POSTGRES_WORK_MEM }}" - "-c" - "maintenance_work_mem={{ POSTGRES_MAINTENANCE_WORK_MEM }}" + - "-c" + - "max_locks_per_transaction={{ POSTGRES_MAX_LOCKS_PER_TRANSACTION }}" {% include 'roles/sys-svc-container/templates/base.yml.j2' %} {{ lookup('container_healthcheck', service_name) | indent(4) }} diff --git a/roles/sys-svc-rdbms/templates/services/postgres.yml.j2 b/roles/sys-svc-rdbms/templates/services/postgres.yml.j2 index 8336da1ace..41d69882a2 100644 --- a/roles/sys-svc-rdbms/templates/services/postgres.yml.j2 +++ b/roles/sys-svc-rdbms/templates/services/postgres.yml.j2 @@ -15,6 +15,10 @@ {% else %} {{ lookup('container_image', 'svc-db-postgres', 'postgres', image=lookup('database', application_id, 'image'), version=lookup('database', application_id, 'version')) }} {% endif %} + command: + - "postgres" + - "-c" + - "max_locks_per_transaction={{ POSTGRES_MAX_LOCKS_PER_TRANSACTION }}" env_file: - {{ lookup('database', application_id, 'env') }} {{ lookup('compose_restart') }}