--- - name: Create the postgresql data directory if it is not in the default place file: dest={{ psql_data_dir }} owner=postgres group=postgres mode=700 recurse=yes state=directory when: psql_use_alternate_data_dir tags: [ 'postgresql', 'postgres', 'pg_conf' ] - name: Set the postgresql data dir if it is different from the default become: True become_user: postgres action: configfile path={{ psql_conf_dir }}/postgresql.conf key=data_directory value="'{{ psql_data_dir }}'" notify: Restart postgresql when: psql_use_alternate_data_dir tags: [ 'postgresql', 'postgres', 'pg_conf' ] - name: Set some postgresql configuration parameters that require a db restart become: True become_user: postgres action: configfile path={{ psql_conf_dir }}/postgresql.conf key={{ item.name }} value="{{ item.value }}" with_items: '{{ psql_conf_parameters }}' when: item.set == 'True' notify: Restart postgresql tags: [ 'postgresql', 'postgres', 'pg_conf' ] - name: Set the postgresql logging configuration parameters become: True become_user: postgres action: configfile path={{ psql_conf_dir }}/postgresql.conf key={{ item.name }} value="{{ item.value }}" with_items: '{{ psql_log_configuration }}' when: item.set == 'True' notify: Reload postgresql tags: [ 'postgresql', 'postgres', 'pg_conf', 'pg_conf_log' ] - name: Set the postgresql autovacuum configuration parameters become: True become_user: postgres action: configfile path={{ psql_conf_dir }}/postgresql.conf key={{ item.name }} value="{{ item.value }}" with_items: '{{ psql_autovacuum_configuration }}' when: item.set == 'True' notify: Reload postgresql tags: [ 'postgresql', 'postgres', 'pg_conf', 'pg_conf_autovacuum' ]