Ansible-role-postgresql: Tidak dapat mengubah postgres_version

Dibuat pada 2 Sep 2020  ·  10Komentar  ·  Sumber: geerlingguy/ansible-role-postgresql

Menambahkan var postgresql_version: "12" tidak mengubah versi aktual yang diinstal di VM dengan Ubuntu 18.

stale

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

Semua 10 komentar

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?

Masalah

Peran ini tidak mendukung penginstalan versi PSQL kustom ke platform tujuan.

Catatan

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

Contoh

Peron:

  • CentOS-7

    • termasuk systemd

    • termasuk sshd

    • wadah ( penyiapan )

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.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

NiftyMist picture NiftyMist  ·  5Komentar

FilBot3 picture FilBot3  ·  18Komentar

breml picture breml  ·  9Komentar

svanschalkwyk picture svanschalkwyk  ·  6Komentar

worldofchris picture worldofchris  ·  8Komentar