L'ajout de var postgresql_version : "12" ne change pas la version réelle qui a été installée dans la machine virtuelle avec Ubuntu 18.
J'ai également remarqué cela sur Debian 10
roles/postgres.yml
- name: Install Postgres
become: yes
become_method: sudo
include_role:
name: geerlingguy.postgresql
vars:
postgresql_version: "12"
@geerlingguy est-il possible de spécifier une version psql personnalisée qui sera installée via ce rôle ansible ?
Ce rôle ne prend pas en charge l'installation de la version PSQL personnalisée sur la plate-forme de destination.
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 version PSQL par défaut est définie dans ./vars/<OS>-<version>.yml
, par exemple :
https://github.com/geerlingguy/ansible-role-postgresql/blob/master/vars/RedHat-7.yml#L2
Plate-forme:
Livre de jeu :
---
- 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
Résultat:
psql -V
# psql (PostgreSQL) 9.2.24
Idem pour moi sur debian 10....
Bonjour. Je ne suis pas sûr à 100% de cela, mais si vous spécifiez une version différente de PostgreSQL en utilisant postgresql_version
, vous devez configurer le reste des variables postgres_
. Sinon, il utilisera les valeurs par défaut de ./vars/<OS>-<version>.yml
pour les variables que vous n'avez pas définies et entrera en conflit avec la version que vous souhaitez installer.
Par exemple, dans mon environnement de test CentOS 6, je voulais installer PostgreSQL v9.6. Cette version de PostgreSQL n'est pas dans les référentiels CentOS standard. La version la plus élevée de PostgreSQL dans les référentiels CentOS standard est, je crois, la v8.4. Ces playbooks de Jeff n'utilisent que les référentiels par défaut. Vérifiez que la version de PostgreSQL que vous souhaitez installer se trouve dans les référentiels activés sur votre serveur. Dans mon cas, j'ai dû installer les référentiels officiels PostgreSQL v9.6 yum avant de configurer le rôle :
- 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
J'ai ajouté les variables suivantes à ./vars/main.yml
REMARQUE : Ce fichier n'existait pas et devait être créé. Notez également que les variables ci-dessous ne fonctionnent que sur les distributions basées sur RHEL. Celles-ci seront différentes pour les distributions basées sur 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
Une fois que vous avez défini toutes ces variables, cela fonctionnera, espérons-le, pour vous aussi.
note pour postgresql 10, vous devez d'abord ajouter le bon référentiel
Pour moi, il installe également aveuglément postgres 13 lorsque postgresql_version: 12
est spécifié
La version ne change pas car c'est en dur là par exemple :
J'ai créé #156 , j'espère qu'il sera approuvé et fusionné. Pendant ce temps, il peut être utilisé avec ansible-galaxy install aviatrix.postgresql
Ce problème a été marqué « obsolète » en raison du manque d'activité récente. S'il n'y a plus d'activité, le problème sera clos dans 30 jours. 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 déposer un nouveau problème avec les détails pertinents.
Commentaire le plus utile
Bonjour. Je ne suis pas sûr à 100% de cela, mais si vous spécifiez une version différente de PostgreSQL en utilisant
postgresql_version
, vous devez configurer le reste des variablespostgres_
. Sinon, il utilisera les valeurs par défaut de./vars/<OS>-<version>.yml
pour les variables que vous n'avez pas définies et entrera en conflit avec la version que vous souhaitez installer.Par exemple, dans mon environnement de test CentOS 6, je voulais installer PostgreSQL v9.6. Cette version de PostgreSQL n'est pas dans les référentiels CentOS standard. La version la plus élevée de PostgreSQL dans les référentiels CentOS standard est, je crois, la v8.4. Ces playbooks de Jeff n'utilisent que les référentiels par défaut. Vérifiez que la version de PostgreSQL que vous souhaitez installer se trouve dans les référentiels activés sur votre serveur. Dans mon cas, j'ai dû installer les référentiels officiels PostgreSQL v9.6 yum avant de configurer le rôle :
J'ai ajouté les variables suivantes à
./vars/main.yml
REMARQUE : Ce fichier n'existait pas et devait être créé. Notez également que les variables ci-dessous ne fonctionnent que sur les distributions basées sur RHEL. Celles-ci seront différentes pour les distributions basées sur Debian.Une fois que vous avez défini toutes ces variables, cela fonctionnera, espérons-le, pour vous aussi.