- name: Install postgresql package package: name: postgresql state: present #tags: download - name: Install postgresql-client (debuntu) package: name: postgresql-client state: present when: is_debuntu | bool #tags: download - name: Install postgresql-server (OS's other than debuntu) package: name: postgresql-server state: present when: not is_debuntu #tags: download - name: Install /etc/systemd/system/postgresql-iiab.service from template template: src: postgresql-iiab.service dest: /etc/systemd/system/postgresql-iiab.service owner: root group: root mode: '0644' - name: Create PostgreSQL data dir /library/pgsql-iiab, owned by postgres:postgres file: path: /library/pgsql-iiab owner: postgres group: postgres mode: '0700' state: directory - name: Make sure locale {{ postgresql_locale }} is enabled (debuntu) # en_US.UTF-8 lineinfile: dest: /etc/locale.gen line: "{{ postgresql_locale }} UTF-8" when: is_debuntu | bool - name: Generate locales (debuntu) command: /usr/sbin/locale-gen when: is_debuntu | bool - name: Initialize the PostgreSQL db, creating /library/pgsql-iiab/pg_hba.conf (debuntu) #command: su - postgres -c "/usr/lib/postgresql/{{ postgresql_version }}/bin/initdb -E 'UTF-8' --locale={{ postgresql_locale }} -D /library/pgsql-iiab" command: /usr/lib/postgresql/{{ postgresql_version }}/bin/initdb -E 'UTF-8' --locale={{ postgresql_locale }} -D /library/pgsql-iiab args: creates: /library/pgsql-iiab/pg_hba.conf become: yes become_user: postgres when: is_debuntu | bool - name: Initialize the PostgreSQL db, creating /library/pgsql-iiab/pg_hba.conf (OS's other than debuntu) #command: su - postgres -c "/usr/bin/initdb -E 'UTF-8' --lc-collate={{ postgresql_locale }} --lc-ctype={{ postgresql_locale }} -D /library/pgsql-iiab" command: /usr/bin/initdb -E 'UTF-8' --lc-collate={{ postgresql_locale }} --lc-ctype={{ postgresql_locale }} -D /library/pgsql-iiab args: creates: /library/pgsql-iiab/pg_hba.conf become: yes become_user: postgres when: not is_debuntu - name: Install /library/pgsql-iiab/postgresql.conf owned by postgres:postgres, from template template: backup: yes src: postgresql.conf.j2 dest: /library/pgsql-iiab/postgresql.conf owner: postgres group: postgres mode: '0640' # Probably Not Nec! Given stanza below does the same. - name: 'Stop postgresql service: /etc/init.d/postgresql stop (debuntu)' command: "/etc/init.d/postgresql stop" ignore_errors: True when: postgresql_install and is_debuntu - name: Disable stock postgresql service systemd: name: postgresql state: stopped enabled: no - name: Enable & Start postgresql-iiab systemd service, if postgresql_enabled systemd: name: postgresql-iiab state: started enabled: yes when: postgresql_enabled | bool - name: Disable postgresql-iiab service, if not postgresql_enabled systemd: name: postgresql-iiab state: stopped enabled: no when: not postgresql_enabled - name: Add 'postgresql' variable values to {{ iiab_ini_file }} ini_file: path: "{{ iiab_ini_file }}" section: postgresql option: "{{ item.option }}" value: "{{ item.value | string }}" with_items: - option: name value: PostgreSQL - option: description value: '"PostgreSQL is a powerful, open source object-relational database system."' - option: installed value: "{{ postgresql_install }}" - option: enabled value: "{{ postgresql_enabled }}"