- name: Install deps packages apt: name: "{{ postgresql_deps_packages }}" state: present update_cache: yes - name: Add gpg keys for PostgreSQL repo ansible.builtin.apt_key: url: "{{ item.url }}" keyring: "{{ item.keyring }}" loop: "{{ postgresql_apt_key }}" - name: Add PostgreSQL repository ansible.builtin.apt_repository: repo: "{{ item.repo }}" state: present filename: "{{ item.filename }}" update_cache: yes loop: "{{ postgresql_apt_repository }}" - name: Gather packages package_facts: manager: auto - name: Set fact about PostgreSQL package set_fact: postgresql_installed_package: "{{ ansible_facts.packages[postgresql_package_name][0]['name'] }}" when: postgresql_package_name in ansible_facts.packages - debug: msg: "{{ ansible_facts.packages[postgresql_package_name][0]['version'] }}" when: postgresql_installed_package is defined - name: Mask PostgreSQL before install ansible.builtin.systemd: name: "{{ postgresql_unit_name }}" masked: yes when: postgresql_package_name not in ansible_facts.packages or ansible_facts.packages[postgresql_package_name][0]['version'] != (postgresql_version + "-" + postgresql_version_build) - name: "Install {{ postgresql_package_name }}-{{ postgresql_version }}-{{ postgresql_version_build }}" apt: name: "{{ postgresql_package }}" update_cache: yes register: postgresql_setup when: postgresql_package_name not in ansible_facts.packages - name: "Update {{ postgresql_package_name }}-{{ postgresql_version }}-{{ postgresql_version_build }}" apt: name: "{{ postgresql_package }}" update_cache: yes register: postgresql_update notify: Restart PostgreSQL when: - postgresql_package_name in ansible_facts.packages - ansible_facts.packages[postgresql_package_name][0]['version'] != (postgresql_version + "-" + postgresql_version_build)