48 lines
1.8 KiB
YAML
48 lines
1.8 KiB
YAML
---
|
|
- name: Install postgres repo
|
|
ansible.builtin.dnf:
|
|
name: https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
|
|
state: present
|
|
|
|
- name: Ensure PostgreSQL packages are installed.
|
|
ansible.builtin.dnf:
|
|
name: "{{ postgresql_packages }}"
|
|
state: present
|
|
enablerepo: "{{ postgresql_enablerepo | default(omit, true) }}"
|
|
# Don't let postgresql-contrib cause the /usr/bin/python symlink
|
|
# to be installed, which breaks later Ansible runs on Fedora 30,
|
|
# and affects system behavior in multiple ways.
|
|
exclude: python-unversioned-command
|
|
|
|
- name: Ensure PostgreSQL Python libraries are installed.
|
|
ansible.builtin.dnf:
|
|
name: "{{ postgresql_python_library }}"
|
|
state: present
|
|
enablerepo: "{{ postgresql_enablerepo | default(omit, true) }}"
|
|
|
|
- name: Add TimescaleDB repository
|
|
ansible.builtin.yum_repository:
|
|
name: timescale_timescaledb
|
|
description: TimescaleDB Repository
|
|
baseurl: https://packagecloud.io/timescale/timescaledb/el/{{ ansible_distribution_major_version }}/$basearch
|
|
gpgcheck: true
|
|
gpgkey: https://packagecloud.io/timescale/timescaledb/gpgkey
|
|
enabled: true
|
|
|
|
- name: Install TimescaleDB
|
|
ansible.builtin.dnf:
|
|
name: timescaledb-2-postgresql-{{ postgresql_version }}
|
|
state: present
|
|
enablerepo: timescale_timescaledb
|
|
disable_gpg_check: true
|
|
when: timescaledb_enabled is true
|
|
|
|
- name: Add kernel parameter to sysctl.d
|
|
ansible.posix.sysctl:
|
|
name: kernel.io_uring_disabled # The parameter name
|
|
value: "0" # The desired value (use strings)
|
|
sysctl_file: /etc/sysctl.d/postgres.conf # Custom drop-in path
|
|
state: present # Ensure it is in the file
|
|
reload: true # Apply to running kernel now
|
|
sysctl_set: true # Verify value with 'sysctl -w'
|