61 lines
1.3 KiB
YAML
61 lines
1.3 KiB
YAML
- name: Install timescaledb
|
|
dnf:
|
|
name:
|
|
- timescaledb
|
|
state: present
|
|
tags:
|
|
- datanommer
|
|
- postgresql
|
|
- timescaledb
|
|
|
|
- name: Add timescaledb to postgresql config
|
|
lineinfile:
|
|
path: /var/lib/pgsql/data/postgresql.conf
|
|
regexp: ^shared_preload_libraries =
|
|
line: "shared_preload_libraries = 'timescaledb'"
|
|
notify:
|
|
- restart postgresql
|
|
tags:
|
|
- datanommer
|
|
- postgresql
|
|
- timescaledb
|
|
|
|
|
|
- block:
|
|
|
|
# Users
|
|
- name: create the main DB user
|
|
postgresql_user:
|
|
name: "{{ datanommerDBUser }}"
|
|
password: "{{ (env == 'production')|ternary(datanommerDBPassword, datanommer_stg_db_password) }}"
|
|
|
|
- name: create the RO DB user
|
|
postgresql_user:
|
|
name: datanommer_ro
|
|
password: "{{ datanommer_ro_password }}"
|
|
|
|
# Databases
|
|
- name: create the datanommer database
|
|
postgresql_db:
|
|
name: datanommer2
|
|
owner: "{{ datanommerDBUser }}"
|
|
encoding: UTF-8
|
|
|
|
- name: grant datanommer_ro read only access to datanommer2
|
|
postgresql_privs:
|
|
database: datanommer2
|
|
privs: SELECT
|
|
objs: ALL_IN_SCHEMA
|
|
roles: datanommer_ro
|
|
|
|
# Enable timescaledb
|
|
- name: enable timescaledb
|
|
postgresql_ext:
|
|
name: timescaledb
|
|
db: datanommer2
|
|
|
|
become: true
|
|
become_user: postgres
|
|
tags:
|
|
- datanommer
|
|
- postgresql
|