diff --git a/roles/common/tasks/postgres_cron.yml b/roles/common/tasks/postgres_cron.yml index 2e89ac2..7a4a0bd 100644 --- a/roles/common/tasks/postgres_cron.yml +++ b/roles/common/tasks/postgres_cron.yml @@ -1,12 +1,58 @@ -- name: "Create pg_cron extension {{ timescaledb_database_name }}" +- name: "Install postgresql-{{ postgresql_version }}-cron" tags: - install - timescaledb_install - - postgres_extension - postgresql_ext: - name: pg_cron - db: "{{ timescaledb_database_name }}" - state: present + apt: + pkg: + - "postgresql-{{ postgresql_version }}-cron" + state: latest + update_cache: yes + +- name: "Add pg_cron to shared_preload_libraries" + tags: + - install + - timescaledb_install + lineinfile: + path: /etc/postgresql/{{ postgresql_version }}/main/postgresql.conf + regexp: "^shared_preload_libraries = 'timescaledb'" + line: "shared_preload_libraries = 'timescaledb,pg_cron'" + +- name: "Define cron database name" + tags: + - install + - timescaledb_install + lineinfile: + dest: /etc/postgresql/{{ postgresql_version }}/main/postgresql.conf + line: "cron.database_name = '{{ timescaledb_database_name }}'" + +- name: "Define cron database name" + tags: + - install + - timescaledb_install + lineinfile: + dest: /etc/postgresql/{{ postgresql_version }}/main/postgresql.conf + line: "cron.timezone = 'Europe/Berlin'" + +- name: "Restart postgresql service" + tags: + - install + - timescaledb_install + systemd: + name: postgresql + state: restarted + +- postgresql_query: + db: {{ timescaledb_database_name }} login_user: postgres - login_password: "{{ postgresql_admin_password }}" - login_host: "{{ lxc_ip }}" \ No newline at end of file + login_password: {{ postgresql_admin_password }} + query: + - CREATE EXTENSION pg_cron; + - GRANT USAGE ON SCHEMA cron TO {{ timescaledb_database_user }}; + +- name: "Restart postgresql service" + tags: + - install + - timescaledb_install + systemd: + name: postgresql + state: restarted \ No newline at end of file