--- - name: timescale_db_el | Manage the installation on EL based distributions tags: [postgresql, timescale, timescaledb] block: - name: timescale_db_el | Install the repository configuration on EL ansible.builtin.template: src: timescale_timescaledb.repo.j2 dest: /etc/yum.repos.d/timescale_timescaledb.repo owner: root group: root mode: "0644" - name: timescale_db_el | Install the timescale DB package on EL ansible.builtin.yum: pkg: '{{ timescale_db_el_pkgs }}' state: present - name: timescale_db_el | Manage the timescale + postgresql settings on EL based distributions tags: ['postgresql', 'postgres', 'pg_conf', 'timescale', 'timescaledb', 'timescale_conf'] block: - name: timescale_db_el | Load the timescaleDB shared library become: true become_user: postgres ansible.builtin.lineinfile: path: "{{ psql_el_conf_dir }}/postgresql.conf" regexp: "^#shared_preload_libraries\ =" line: "shared_preload_libraries = 'timescaledb'" create: false state: present notify: Restart postgresql - name: timescale_db_el | TimeScaleDB configuration flush handlers ansible.builtin.meta: flush_handlers - name: timescale_db_el | TimeScaleDB setting for postgresql on EL become: true become_user: postgres community.postgresql.postgresql_set: name: '{{ item.name }}' value: "{% if item.set %}{{ item.value }}{% else %}default{% endif %}" loop: '{{ timescaledb_configuration_settings }}' notify: Reload postgresql - name: timescale_db_el | Ensure that the conf.d directory exists ansible.builtin.file: dest: "{{ psql_el_conf_dir }}/conf.d" state: directory owner: postgres group: postgres mode: "0750" - name: timescale_db_el | Some settings must be written into a config file become: true become_user: postgres ansible.builtin.template: src: timescaledb.conf.j2 dest: "{{ psql_el_conf_dir }}/conf.d/timescaledb.conf" mode: "0644" notify: Restart postgresql - name: timescale_db_el | TimeScaleDB configuration flush handlers again after the final configuration ansible.builtin.meta: flush_handlers