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
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.
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 :
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.