Ansible-role-postgresql: Como você instala do repositório PostgresSQL YUM

Criado em 1 mar. 2018  ·  8Comentários  ·  Fonte: geerlingguy/ansible-role-postgresql

Oi,

Estou tentando usar esta função para instalar o PostgresSQL 9.6 no Centos 7.

Não há problema em fazer 9.2, que está nos repositórios base, mas não consigo descobrir como configurá-lo para usar o repositório PostgresSQL YUM para obter 9.6.

Qual é o valor que precisa ir na variável postgresql_enablerepo ?

Eu só consigo encontrar os rpms do repositório, por exemplo https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm

Quando eu configuro:

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

Isso resulta no erro:

"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"

Você pode ver o que estou fazendo de errado?

Obrigado

stale

Comentários muito úteis

Oi @worldofchris , me deparei com o mesmo problema ao tentar instalar o PostgreSQL 9.6 no CentOS 7 e sua abordagem me levou a seguir o caminho correto. No entanto, ainda encontrei alguns problemas porque o Postgres não está sendo instalado a partir de pacotes do sistema. Após várias tentativas malsucedidas, notei a seção no README que aborda o uso de pacotes que não são do sistema e cheguei ao seguinte:

- 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

Acontece que você precisa ser muito específico sobre as variáveis ​​específicas da versão, mas tudo parece funcionar agora e eu não precisei fazer nenhuma alteração no CentOS-Base.repo. Espero que isso ajude você.

Todos 8 comentários

Eu _acho_ eu mesmo respondi isso.

eu corri:

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

Então olhando em /etc/yum.repos.d/pgdg-96-centos.repo encontrei o nome pgdg96 . Definir postgresql_enablerepo para isso resultou em postgresql96-libs sendo puxado de pgdg96 mas todo o resto ( postgresql , postgresql-contrib etc) ainda vem de updates .

Então eu segui as instruções em https://wiki.postgresql.org/wiki/YUM_Installation para excluir postgresql* de base e updates .

Em seguida, executei novamente o manual com a função e instalei o 9.6.

Para fazer isso no Ansible, adicionei estas pre_tasks:

    - 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

Essa é a maneira certa de fazer isso ou estou contornando minha própria inépcia?

Obrigado

Oi @worldofchris , me deparei com o mesmo problema ao tentar instalar o PostgreSQL 9.6 no CentOS 7 e sua abordagem me levou a seguir o caminho correto. No entanto, ainda encontrei alguns problemas porque o Postgres não está sendo instalado a partir de pacotes do sistema. Após várias tentativas malsucedidas, notei a seção no README que aborda o uso de pacotes que não são do sistema e cheguei ao seguinte:

- 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

Acontece que você precisa ser muito específico sobre as variáveis ​​específicas da versão, mas tudo parece funcionar agora e eu não precisei fazer nenhuma alteração no CentOS-Base.repo. Espero que isso ajude você.

obrigado @worldofchris @matthiase ambos me ajudaram consideravelmente!

Ajuda incrível. Isso deve ser documentado em um wiki ou algo assim

Se alguém quiser executar o PostgreSQL 10 com a função ansible, consegui fazê-lo funcionar com o seguinte manual:

- 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                        

Este problema foi marcado como "obsoleto" devido à falta de atividade recente. Se não houver mais atividade, a questão será encerrada em mais 30 dias. Obrigado pela sua contribuição!

Leia esta postagem do blog para ver os motivos pelos quais eu marco os problemas como obsoletos.

Este problema foi encerrado devido à inatividade. Se você achar que isso é um erro, reabra o problema ou registre um novo problema com os detalhes relevantes.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

NiftyMist picture NiftyMist  ·  5Comentários

GoodBoy962 picture GoodBoy962  ·  10Comentários

breml picture breml  ·  9Comentários

svanschalkwyk picture svanschalkwyk  ·  6Comentários

FilBot3 picture FilBot3  ·  18Comentários