--- - name: Set postgresql installation directory set_fact: psql_dir: '/etc/postgresql/{{ psql.version }}/main/' - name: Install postgresql apt: update_cache: true name: postgresql state: present register: apt_result retries: 3 until: apt_result is succeeded - name: Ensure main postgresql directory exists file: path: '{{ psql_dir }}' state: directory owner: postgres group: postgres mode: 0755 - name: Ensure configuration directory exists file: path: '{{ psql_dir }}/conf.d' state: directory owner: postgres group: postgres mode: 0755 - name: Configuration of postgresql {{ psql.version }} template: src: postgresql/postgresql.conf.j2 dest: '{{ psql_dir }}/postgresql.conf' mode: 0640 owner: postgres group: postgres notify: - reload postgresql - name: Master of configuration of postgresql {{ psql.version }} template: src: 'postgresql/{{ item }}.j2' dest: '{{ psql_dir }}/{{ item }}' mode: 0640 owner: postgres group: postgres loop: - pg_hba.conf - pg_ident.conf notify: - reload postgresql when: 'not(psql.replica | default(False))'