- include_vars: '{{ item }}' with_first_found: - files: - '{{ ansible_distribution }}-{{ ansible_distribution_major_version }}.yml' - '{{ ansible_distribution }}-{{ ansible_distribution_version }}.yml' - '{{ ansible_os_family }}.yml' - 'default.yml' paths: '../vars' # Make sure we start fresh - name: remove rpm dependencies for postgresql test package: name={{ postgresql_package_item }} state=absent with_items: "{{postgresql_packages}}" loop_control: loop_var: postgresql_package_item when: ansible_os_family == "RedHat" - name: remove dpkg dependencies for postgresql test apt: name={{ postgresql_package_item }} state=absent with_items: "{{postgresql_packages}}" loop_control: loop_var: postgresql_package_item when: ansible_pkg_mgr == 'apt' - name: remove old db (red hat) command: rm -rf "{{ pg_dir }}" ignore_errors: True when: ansible_os_family == "RedHat" # Theoretically, pg_dropcluster should work but it doesn't so rm files - name: remove old db config (debian) command: rm -rf /etc/postgresql ignore_errors: True when: ansible_os_family == "Debian" - name: remove old db files (debian) command: rm -rf /var/lib/postgresql ignore_errors: True when: ansible_os_family == "Debian" - name: install rpm dependencies for postgresql test package: name={{ postgresql_package_item }} state=latest with_items: "{{postgresql_packages}}" loop_control: loop_var: postgresql_package_item when: ansible_os_family == "RedHat" - name: install dpkg dependencies for postgresql test apt: name={{ postgresql_package_item }} state=latest with_items: "{{postgresql_packages}}" loop_control: loop_var: postgresql_package_item when: ansible_pkg_mgr == 'apt' - name: Initialize postgres (RedHat systemd) command: postgresql-setup initdb when: ansible_distribution == "Fedora" or (ansible_os_family == "RedHat" and ansible_distribution_major_version|int >= 7) - name: Initialize postgres (RedHat sysv) command: /sbin/service postgresql initdb when: ansible_os_family == "RedHat" and ansible_distribution_major_version|int <= 6 - name: Iniitalize postgres (Debian) command: /usr/bin/pg_createcluster {{ pg_ver }} main # Sometimes package install creates the db cluster, sometimes this step is needed ignore_errors: True when: ansible_os_family == 'Debian' - name: Copy pg_hba into place copy: src=pg_hba.conf dest="{{ pg_hba_location }}" owner="postgres" group="root" mode="0644" - name: Generate pt_BR locale (Debian) command: locale-gen pt_BR when: ansible_os_family == 'Debian' - name: Generate es_MX locale (Debian) command: locale-gen es_MX when: ansible_os_family == 'Debian' - name: Generate pt_BR locale (Red Hat) command: localedef -f ISO-8859-1 -i pt_BR pt_BR when: ansible_os_family == 'RedHat' - name: Generate es_MX locale (Red Hat) command: localedef -f ISO-8859-1 -i es_MX es_MX when: ansible_os_family == 'RedHat' - name: restart postgresql service service: name={{ postgresql_service }} state=restarted