ansible-role-timescale-db/tasks/timescale_db_deb.yml

69 lines
2.6 KiB
YAML
Raw Normal View History

2021-03-23 15:35:03 +01:00
---
- name: timescale_db_deb | Manage the installation on deb based distributions
tags: [postgresql, timescale, timescaledb]
2021-03-23 15:35:03 +01:00
block:
- name: timescale_db_deb | Repo key
ansible.builtin.get_url:
url: "{{ timescale_db_repo_key_url }}"
dest: "{{ timescale_db_repo_key }}"
owner: root
group: root
mode: "0644"
force: true
- name: timescale_db_deb | Install the repository for Ubuntu
ansible.builtin.deb822_repository:
name: timescaledb
types: [deb]
uris: "{{ timescale_db_ubuntu_repo_url }}"
components:
2023-11-21 14:47:38 +01:00
- main
suites: ["{{ ansible_distribution_release | lower }}"]
signed_by: "{{ timescale_db_repo_key }}"
2021-03-23 15:35:03 +01:00
state: present
enabled: true
register: timescaledb_repo
2021-03-23 15:35:03 +01:00
when: ansible_distribution == "Ubuntu"
- name: timescale_db_deb | Update the apt cache
ansible.builtin.apt:
update_cache: yes
when: timescaledb_repo is changed
- name: timescale_db_deb | Install the timescale DB package on deb
ansible.builtin.apt:
2021-03-23 15:35:03 +01:00
pkg: '{{ timescale_db_deb_pkgs }}'
state: present
cache_valid_time: 1800
- name: timescale_db_deb | Manage the timescale + postgresql settings
tags: ['postgresql', 'postgres', 'pg_conf', 'timescale', 'timescaledb', 'timescale_conf']
2021-03-23 15:35:03 +01:00
block:
2023-11-21 15:39:59 +01:00
- name: timescale_db_deb | Load the timescaleDB shared library
become: true
become_user: postgres
ansible.builtin.lineinfile:
path: "{{ psql_conf_dir }}/postgresql.conf"
regexp: "^#shared_preload_libraries\ ="
line: "shared_preload_libraries = 'timescaledb'"
create: false
state: present
notify: Restart postgresql
- name: timescale_db_deb | TimeScaleDB configuration flush handlers
ansible.builtin.meta: flush_handlers
- name: timescale_db_deb | PostgreSQL settings for TimeScaleDB
become: true
2021-03-23 15:35:03 +01:00
become_user: postgres
community.postgresql.postgresql_set:
name: '{{ item.name }}'
value: "{% if item.set %}{{ item.value }}{% else %}default{% endif %}"
loop: '{{ timescaledb_configuration_settings }}'
2021-03-23 15:35:03 +01:00
notify: Reload postgresql
- name: timescale_db_deb | Some settings must be written into a config file
become: true
become_user: postgres
ansible.builtin.template:
src: timescaledb.conf.j2
dest: "{{ psql_conf_dir }}/conf.d/timescaledb.conf"
mode: "0644"
notify: Restart postgresql
2023-11-21 16:59:41 +01:00
- name: timescale_db_deb | TimeScaleDB configuration flush handlers again after the final configuration
ansible.builtin.meta: flush_handlers