- name: python 2 set_fact: python_suffix: "" when: ansible_python_version | version_compare('3', '<') - name: python 3 set_fact: python_suffix: "-py3" when: ansible_python_version | version_compare('3', '>=') - include_vars: '{{ item }}' with_first_found: - files: - '{{ ansible_distribution }}-{{ ansible_distribution_major_version }}{{ python_suffix }}.yml' - '{{ ansible_distribution }}-{{ ansible_distribution_version }}{{ python_suffix }}.yml' - '{{ ansible_os_family }}{{ python_suffix }}.yml' - 'default{{ python_suffix }}.yml' paths: '../vars' # Make sure we start fresh - name: remove old db (RedHat or Suse) command: rm -rf "{{ pg_dir }}" ignore_errors: True when: ansible_os_family == "RedHat" or ansible_os_family == "Suse" # 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" or ansible_os_family == "Suse" - 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: Initialize postgres (Suse) service: name=postgresql state=restarted when: ansible_os_family == 'Suse' - 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: install i18ndata zypper: name=glibc-i18ndata state=present when: ansible_os_family == 'Suse' - name: Generate pt_BR locale (Red Hat) command: localedef -f ISO-8859-1 -i pt_BR pt_BR when: ansible_os_family == "RedHat" or ansible_os_family == "Suse" - name: Generate es_MX locale (Red Hat) command: localedef -f ISO-8859-1 -i es_MX es_MX when: ansible_os_family == "RedHat" or ansible_os_family == "Suse" - name: restart postgresql service service: name={{ postgresql_service }} state=restarted