Agregar var postgresql_version: "12" no cambia la versión real que se instaló en VM con Ubuntu 18.
También noté esto en Debian 10
roles/postgres.yml
- name: Install Postgres
become: yes
become_method: sudo
include_role:
name: geerlingguy.postgresql
vars:
postgresql_version: "12"
@geerlingguy ¿ es posible especificar una versión psql personalizada que se instalará a través de este rol ansible?
Esta función no admite la instalación de una versión personalizada de PSQL en la plataforma de destino.
postgresql_version: [OS-specific]
postgresql_data_dir: [OS-specific]
postgresql_bin_path: [OS-specific]
postgresql_config_path: [OS-specific]
postgresql_daemon: [OS-specific]
postgresql_packages: [OS-specific]
---------------------------------------
OS-specific variables that are set by include files in this role's vars
directory. These shouldn't be overridden unless you're using a version
of PostgreSQL that wasn't installed using system packages.
La versión predeterminada de PSQL se define en ./vars/<OS>-<version>.yml
, por ejemplo:
https://github.com/geerlingguy/ansible-role-postgresql/blob/master/vars/RedHat-7.yml#L2
Plataforma:
Libro de jugadas:
---
- hosts: container # src: https://hub.docker.com/r/europ/docker-centos-sshd-systemd
gather_facts: true
tasks:
- block: # workaround, see https://stackoverflow.com/a/56558842
- name: PSQL installation and configuration
include_role:
name: geerlingguy.postgresql
vars:
postgresql_users:
- name: abc
password: abc
postgresql_databases:
- name: xyz
postgresql_version: "10.4" # override psql-9.2 with custom version (psql-10.4)
become: true
Resultado:
psql -V
# psql (PostgreSQL) 9.2.24
Lo mismo para mí en debian 10 ...
Hola. No estoy 100% seguro de esto, pero si especifica una versión diferente de PostgreSQL usando postgresql_version
, necesita configurar el resto de las variables postgres_
. De lo contrario, utilizará los valores predeterminados de ./vars/<OS>-<version>.yml
para las variables que no definió y entrará en conflicto con la versión que desea instalar.
Por ejemplo, en mi entorno de prueba CentOS 6, quería instalar PostgreSQL v9.6. Esa versión de PostgreSQL no se encuentra en los repositorios estándar de CentOS. Creo que la versión más alta de PostgreSQL en los repositorios CentOS estándar es la v8.4. Estos libros de jugadas de Jeff solo usan los repositorios predeterminados. Verifique que la versión de PostgreSQL que desea instalar esté en los repositorios habilitados en su servidor. En mi caso, tuve que instalar los repositorios oficiales de PostgreSQL v9.6 yum antes de configurar el rol:
- name: Install PostgreSQL 9.6 Repository
yum_repository:
name: postgresql96
baseurl: https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-$releasever-$basearch
enabled: True
file: postgresql96
description: PostgreSQL 9.6 for RHEL/CentOS $releasever - $basearch
gpgcheck: False
Agregué las siguientes variables a ./vars/main.yml
NOTA: Este archivo no existía y tenía que ser creado. Además, tenga en cuenta que las siguientes variables solo funcionan en distribuciones basadas en RHEL. Estos serán diferentes para las distribuciones basadas en Debian.
postgres_users_no_log: false # not needed; enabled for troubleshooting
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
postgresql_packages:
- postgresql96
- postgresql96-libs
- postgresql96-server
Una vez que haya definido todas estas variables, es de esperar que también funcione para usted.
nota para postgresql 10, primero debe agregar el repositorio correcto
Para mí, también instala ciegamente postgres 13 cuando se especifica postgresql_version: 12
La versión no cambia porque está endurecida allí, por ejemplo:
He creado el número 156, espero que se apruebe y se fusione. Mientras tanto, se puede usar con ansible-galaxy install aviatrix.postgresql
Este problema se ha marcado como "obsoleto" debido a la falta de actividad reciente. Si no hay más actividad, el problema se cerrará en otros 30 días. ¡Gracias por tu contribución!
Lea esta publicación de blog para ver las razones por las que marco los problemas como obsoletos.
Este problema se ha cerrado por inactividad. Si cree que se trata de un error, vuelva a abrir el problema o presente un nuevo problema con los detalles relevantes.
Comentario más útil
Hola. No estoy 100% seguro de esto, pero si especifica una versión diferente de PostgreSQL usando
postgresql_version
, necesita configurar el resto de las variablespostgres_
. De lo contrario, utilizará los valores predeterminados de./vars/<OS>-<version>.yml
para las variables que no definió y entrará en conflicto con la versión que desea instalar.Por ejemplo, en mi entorno de prueba CentOS 6, quería instalar PostgreSQL v9.6. Esa versión de PostgreSQL no se encuentra en los repositorios estándar de CentOS. Creo que la versión más alta de PostgreSQL en los repositorios CentOS estándar es la v8.4. Estos libros de jugadas de Jeff solo usan los repositorios predeterminados. Verifique que la versión de PostgreSQL que desea instalar esté en los repositorios habilitados en su servidor. En mi caso, tuve que instalar los repositorios oficiales de PostgreSQL v9.6 yum antes de configurar el rol:
Agregué las siguientes variables a
./vars/main.yml
NOTA: Este archivo no existía y tenía que ser creado. Además, tenga en cuenta que las siguientes variables solo funcionan en distribuciones basadas en RHEL. Estos serán diferentes para las distribuciones basadas en Debian.Una vez que haya definido todas estas variables, es de esperar que también funcione para usted.