Ansible-role-postgresql: Comment installer à partir du référentiel PostgresSQL YUM

Créé le 1 mars 2018  ·  8Commentaires  ·  Source: geerlingguy/ansible-role-postgresql

Salut,

J'essaie d'utiliser ce rôle pour installer PostgresSQL 9.6 sur Centos 7.

C'est bien de faire 9.2 qui est dans les dépôts de base mais je ne peux pas trouver comment le configurer pour utiliser le référentiel PostgresSQL YUM afin d'obtenir 9.6.

Quelle est la valeur qui doit entrer dans la variable postgresql_enablerepo ?

Je ne peux trouver que les RPM du référentiel, par exemple https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm

Quand je règle :

postgresql_enablerepo: "https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm"

Il en résulte l'erreur :

"Error setting/accessing repos: Error getting repository data for https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm, repository not found"

Pouvez-vous voir ce que je fais mal?

Merci

stale

Commentaire le plus utile

Bonjour @worldofchris , j'ai rencontré le même problème en essayant d'installer PostgreSQL 9.6 sur CentOS 7 et votre approche m'a permis de démarrer sur la bonne voie. Cependant, j'ai toujours rencontré des problèmes car Postgres n'est pas installé à partir des packages système. Après plusieurs tentatives infructueuses, j'ai remarqué la section du README qui traite de l'utilisation de packages non système et j'ai trouvé ce qui suit :

- hosts: all
  gather_facts: true

  pre_tasks:
    - name: make selinux permissive
      selinux:
        policy: targeted
        state: permissive
      become: yes

    - name: install PostgreSQL 9.6 repository
      yum:
        name: https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm
        state: present
      become: yes

  tasks:
    - name: install system packages
      yum:
        name: "{{ item }}"
        state: installed
      with_items:
        - "<strong i="7">@Development</strong> tools"
      become: yes

  roles:
    - role: geerlingguy.postgresql
      postgresql_enablerepo: "pgdg96"
      postgresql_version: 9.6
      postgresql_data_dir: /var/lib/pgsql/9.6/data
      postgresql_bin_path: /usr/pgsql-9.6/bin
      postgresql_config_path: /var/lib/pgsql/9.6/data
      postgresql_daemon: postgresql-9.6.service
      postgresql_packages:
        - postgresql96
        - postgresql96-server
        - postgresql96-libs
        - postgresql96-contrib
        - postgresql96-devel
      become: yes

Il s'avère que vous devez être très précis sur les variables spécifiques à la version, mais tout semble fonctionner maintenant et je n'ai pas eu à apporter de modifications à CentOS-Base.repo. J'espère que cela vous aidera.

Tous les 8 commentaires

Je _pense_ que j'ai répondu moi-même.

L'Iran:

yum install https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm

Puis en regardant dans /etc/yum.repos.d/pgdg-96-centos.repo j'ai trouvé le nom pgdg96 . Définir postgresql_enablerepo sur ceci a entraîné l'extraction de postgresql96-libs de pgdg96 , mais tout le reste ( postgresql , postgresql-contrib , etc.) provient toujours de updates .

J'ai donc suivi les instructions sur https://wiki.postgresql.org/wiki/YUM_Installation pour exclure postgresql* de base et updates .

J'ai ensuite réexécuté le playbook avec le rôle et j'ai installé 9.6.

Pour ce faire dans Ansible, j'ai ajouté ces pré_tâches :

    - ini_file:
        path: /etc/yum.repos.d/CentOS-Base.repo
        option: exclude
        value: postgresql*
        section: "{{ item }}"
      with_items:
        - base
        - updates
    - yum:
        name: https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm
        state: present

Est-ce la bonne façon de le faire ou est-ce que je travaille autour de ma propre incompétence ?

Merci

Bonjour @worldofchris , j'ai rencontré le même problème en essayant d'installer PostgreSQL 9.6 sur CentOS 7 et votre approche m'a permis de démarrer sur la bonne voie. Cependant, j'ai toujours rencontré des problèmes car Postgres n'est pas installé à partir des packages système. Après plusieurs tentatives infructueuses, j'ai remarqué la section du README qui traite de l'utilisation de packages non système et j'ai trouvé ce qui suit :

- hosts: all
  gather_facts: true

  pre_tasks:
    - name: make selinux permissive
      selinux:
        policy: targeted
        state: permissive
      become: yes

    - name: install PostgreSQL 9.6 repository
      yum:
        name: https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm
        state: present
      become: yes

  tasks:
    - name: install system packages
      yum:
        name: "{{ item }}"
        state: installed
      with_items:
        - "<strong i="7">@Development</strong> tools"
      become: yes

  roles:
    - role: geerlingguy.postgresql
      postgresql_enablerepo: "pgdg96"
      postgresql_version: 9.6
      postgresql_data_dir: /var/lib/pgsql/9.6/data
      postgresql_bin_path: /usr/pgsql-9.6/bin
      postgresql_config_path: /var/lib/pgsql/9.6/data
      postgresql_daemon: postgresql-9.6.service
      postgresql_packages:
        - postgresql96
        - postgresql96-server
        - postgresql96-libs
        - postgresql96-contrib
        - postgresql96-devel
      become: yes

Il s'avère que vous devez être très précis sur les variables spécifiques à la version, mais tout semble fonctionner maintenant et je n'ai pas eu à apporter de modifications à CentOS-Base.repo. J'espère que cela vous aidera.

merci @worldofchris @matthiase les deux m'ont considérablement aidé !

Une aide formidable. Cela devrait être documenté dans un wiki ou quelque chose

Si quelqu'un veut faire fonctionner PostgreSQL 10 avec un rôle ansible, j'ai réussi à le faire fonctionner avec le playbook suivant :

- hosts: all

  pre_tasks:
  - name: install PostgreSQL 10 repository
    yum:
      name: https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7.5-x86_64/pgdg-redhat10-10-2.noarch.rpm
      state: present
    become: yes

  tasks:


  roles:
  - role: geerlingguy.postgresql
    postgresql_enablerepo: "pgdg10"
    postgresql_version: 10
    postgresql_data_dir: /var/lib/pgsql/10/data
    postgresql_bin_path: /usr/pgsql-10/bin
    postgresql_config_path: /var/lib/pgsql/10/data
    postgresql_daemon: postgresql-10.service
    postgresql_packages:
      - postgresql10
      - postgresql10-server
      - postgresql10-libs
      - postgresql10-contrib
      - postgresql10-devel
    become: yes
- hosts: db
  pre_tasks:
          -  name: install repository PostgresQL
             yum:
               name: https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
               state: present
             become: yes
  become: yes

  vars_files:
     - /home/sane/ansible_roles/pg/geerlingguy.postgresql/defaults/main.yml
  roles:
    - role: geerlingguy.postgresql
      postgresql_enablerepo: "pgdg11"
      postgresql_version: 11
      postgresql_data_dir: /var/lib/pgsql/11/data
      postgresql_bin_path: /usr/pgsql-11/bin
      postgresql_config_path: /var/lib/pgsql/11/data
      postgresql_daemon: postgresql-11.service
      postgresql_packages:
        - postgresql11
        - postgresql11-server
        - postgresql11-libs
        - postgresql11-contrib
        - postgresql11-devel
  become: yes                        

Ce problème a été marqué "obsolète" en raison d'un manque d'activité récente. S'il n'y a pas d'autre activité, le problème sera résolu dans 30 jours supplémentaires. Nous vous remercions de votre contribution!

Veuillez lire cet article de blog pour voir les raisons pour lesquelles je marque les problèmes comme obsolètes.

Ce problème a été fermé pour cause d'inactivité. Si vous pensez qu'il s'agit d'une erreur, veuillez rouvrir le problème ou créer un nouveau problème avec les détails pertinents.

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

GoodBoy962 picture GoodBoy962  ·  10Commentaires

svanschalkwyk picture svanschalkwyk  ·  6Commentaires

FilBot3 picture FilBot3  ·  18Commentaires

breml picture breml  ·  9Commentaires

NiftyMist picture NiftyMist  ·  5Commentaires