Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
# file: postgresql/tasks/install_yum.yml

# The standard ca-certs are needed because  without them yum will fail to
# validate www.postgresql.org (or probably any other source).

  - block:
      - name: PostgreSQL | Install all the required dependencies | yum
        yum:
          name: ["ca-certificates","python-psycopg2", "python-pycurl", "glibc-common","epel-release","libselinux-python"]
          state: present

      - name: PostgreSQL | Add PostgreSQL repository | yum
        yum_repository:
           name: postgresql
           description: postgresql yum repo
           baseurl: "{{ postgresql_yum_repository_baseurl }}"
           gpgkey: "{{ postgresql_yum_repository_gpgkey }}"
        when: postgresql_install_repository
        
      - name: PostgreSQL | Make sure the dependencies are installed | yum
        yum:
         name: ["python-psycopg2", "python-pycurl", "glibc-common","libselinux-python"]
         state: present
         update_cache: yes

      - name: PostgreSQL | Install PostgreSQL | yum
        yum:
          name:
            - "postgresql{{ postgresql_version_terse }}-server"
            - "postgresql{{ postgresql_version_terse }}"
            - "postgresql{{ postgresql_version_terse }}-contrib"
          state: present
        environment: "{{ postgresql_env }}"

      - name: PostgreSQL | Setup service users profile | yum
        template:
          src: pgsql_profile.j2
          dest: "~{{ postgresql_service_user }}/.pgsql_profile"
          owner: "{{ postgresql_service_user }}"
          group: "{{ postgresql_service_group }}"
          mode: 0700
        when: postgresql_service_user_pgsql_profile

      - name: PostgreSQL | Create ~/pgtab.example | yum
        template:
          src: pgtab.j2
          dest: "~{{ postgresql_service_user }}/pgtab.example"
          owner: "{{ postgresql_service_user }}"
          group: "{{ postgresql_service_group }}"
          mode: 0644
        when: postgresql_service_user_pgsql_profile

      - name: PostgreSQL | Create ~/pgtab header | yum
        lineinfile:
          path: "~{{ postgresql_service_user }}/pgtab"
          owner: "{{ postgresql_service_user }}"
          group: "{{ postgresql_service_group }}"
          mode: 0644
          create: yes
          insertbefore: BOF
          regexp: "^#  pgclustername :.*$"
          line: "#  pgclustername : pgtabversion : pgrelease : pgport : pgdatabase : pgroot : pgbindir : [pgdata] : [pgwalarch] : [pgbackups]"
        when: postgresql_service_user_pgsql_profile

      - name: PostgreSQL | Create ~/pgtab Ansible warning | yum
        lineinfile:
          path: "~{{ postgresql_service_user }}/pgtab"
          owner: "{{ postgresql_service_user }}"
          group: "{{ postgresql_service_group }}"
          mode: 0644
          insertbefore: BOF
          regexp: "^#  NOTICE: This file is managed by Ansible. Do not modify it.$"
          line: "#  NOTICE: This file is managed by Ansible. Do not modify it."
        when: postgresql_service_user_pgsql_profile

      - name: PostgreSQL | Add database to ~/pgtab | yum
        lineinfile:
          path: "~{{ postgresql_service_user }}/pgtab"
          owner: "{{ postgresql_service_user }}"
          group: "{{ postgresql_service_group }}"
          mode: 0644
          regexp: "{{ postgresql_cluster_name }}:.*$"
          line: "{{ postgresql_cluster_name }}:1:{{ postgresql_version }}:{{ postgresql_port }}:{{ postgresql_service_user }}:/var/lib/pgsql:/usr/pgsql-{{ postgresql_version }}/bin:{{ postgresql_data_directory }}:::"
        when: postgresql_service_user_pgsql_profile

      - name: PostgreSQL | PGTune | yum
        yum:
          name: pgtune
          state: present
        environment: "{{ postgresql_env }}"
        when: postgresql_pgtune