Menambahkan var postgresql_version: "12" tidak mengubah versi aktual yang diinstal di VM dengan Ubuntu 18.
Juga perhatikan ini di Debian 10
roles/postgres.yml
- name: Install Postgres
become: yes
become_method: sudo
include_role:
name: geerlingguy.postgresql
vars:
postgresql_version: "12"
@geerlingguy apakah mungkin untuk menentukan versi psql khusus yang akan diinstal melalui peran yang memungkinkan ini?
Peran ini tidak mendukung penginstalan versi PSQL kustom ke platform tujuan.
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.
Versi PSQL default didefinisikan dalam ./vars/<OS>-<version>.yml
, misalnya:
https://github.com/geerlingguy/ansible-role-postgresql/blob/master/vars/RedHat-7.yml#L2
Peron:
Buku pedoman:
---
- 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
Hasil:
psql -V
# psql (PostgreSQL) 9.2.24
Sama untuk saya di debian 10 ....
Halo. Saya tidak 100% yakin akan hal ini, tetapi jika Anda menentukan versi PostgreSQL yang berbeda menggunakan postgresql_version
, Anda perlu mengonfigurasi variabel postgres_
. Jika tidak, ia akan menggunakan default dari ./vars/<OS>-<version>.yml
untuk variabel yang tidak Anda definisikan dan akan bertentangan dengan versi yang ingin Anda instal.
Misalnya, di lingkungan pengujian CentOS 6 saya, saya ingin menginstal PostgreSQL v9.6. Versi PostgreSQL itu tidak ada dalam repositori CentOS standar. Versi PostgreSQL tertinggi dalam repositori CentOS standar adalah v8.4. Playbook ini oleh Jeff hanya menggunakan repositori default. Verifikasi bahwa versi PostgreSQL yang ingin Anda instal ada di repositori yang diaktifkan di server Anda. Dalam kasus saya, saya harus menginstal repositori resmi PostgreSQL v9.6 yum sebelum mengonfigurasi peran:
- 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
Saya menambahkan variabel berikut ke ./vars/main.yml
CATATAN: File ini tidak ada dan harus dibuat. Juga, perhatikan variabel di bawah ini hanya berfungsi pada distribusi berbasis RHEL. Ini akan berbeda untuk distribusi berbasis 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
Setelah Anda menetapkan semua variabel ini, mudah-mudahan itu akan bekerja untuk Anda juga.
catatan untuk postgresql 10, Anda harus menambahkan repo yang benar terlebih dahulu
Bagi saya itu juga secara membabi buta menginstal postgres 13 ketika postgresql_version: 12
ditentukan
Versi tidak berubah karena di-hardod di sana misalnya:
Saya telah membuat #156 , semoga disetujui dan digabungkan. Sementara itu dapat digunakan dengan ansible-galaxy install aviatrix.postgresql
Masalah ini telah ditandai 'basi' karena kurangnya aktivitas baru-baru ini. Jika tidak ada aktivitas lebih lanjut, masalah akan ditutup dalam 30 hari lagi. Terima kasih atas kontribusi anda!
Silakan baca posting blog ini untuk melihat alasan mengapa saya menandai masalah sebagai basi.
Masalah ini telah ditutup karena tidak aktif. Jika Anda merasa ini adalah kesalahan, silakan buka kembali masalah atau ajukan masalah baru dengan detail yang relevan.
Komentar yang paling membantu
Halo. Saya tidak 100% yakin akan hal ini, tetapi jika Anda menentukan versi PostgreSQL yang berbeda menggunakan
postgresql_version
, Anda perlu mengonfigurasi variabelpostgres_
. Jika tidak, ia akan menggunakan default dari./vars/<OS>-<version>.yml
untuk variabel yang tidak Anda definisikan dan akan bertentangan dengan versi yang ingin Anda instal.Misalnya, di lingkungan pengujian CentOS 6 saya, saya ingin menginstal PostgreSQL v9.6. Versi PostgreSQL itu tidak ada dalam repositori CentOS standar. Versi PostgreSQL tertinggi dalam repositori CentOS standar adalah v8.4. Playbook ini oleh Jeff hanya menggunakan repositori default. Verifikasi bahwa versi PostgreSQL yang ingin Anda instal ada di repositori yang diaktifkan di server Anda. Dalam kasus saya, saya harus menginstal repositori resmi PostgreSQL v9.6 yum sebelum mengonfigurasi peran:
Saya menambahkan variabel berikut ke
./vars/main.yml
CATATAN: File ini tidak ada dan harus dibuat. Juga, perhatikan variabel di bawah ini hanya berfungsi pada distribusi berbasis RHEL. Ini akan berbeda untuk distribusi berbasis Debian.Setelah Anda menetapkan semua variabel ini, mudah-mudahan itu akan bekerja untuk Anda juga.