Ansible-role-postgresql: postgres غير قادر على تسجيل الدخول للتحقق من وجود قاعدة البيانات

تم إنشاؤها على ٦ فبراير ٢٠١٩  ·  18تعليقات  ·  مصدر: geerlingguy/ansible-role-postgresql

لست متأكدًا من أنني أفهم كيف أو لماذا لا يتمكن المستخدم postgres من تسجيل الدخول للتحقق من وجود قاعدة البيانات أم لا ، ولكن دليل التشغيل التالي ...

---
- hosts: concourse_db
  roles:
    - role: geerlingguy.postgresql
      tags:
        - concourse_db
      vars:
        postgresql_restarted_state: "restarted"
        postgresql_service_state: started
        postgresql_service_enabled: true
        postgresql_hba_entries:
          - { type: local, database: all, user: postgres, auth_method: peer }
          - { type: local, database: all, user: all, auth_method: peer }
          - { type: host, database: all, user: all, address: '127.0.0.1/32', auth_method: md5 }
          - { type: host, database: all, user: all, address: '::1/128', auth_method: md5 }
        postgresql_locales:
          - 'en_US.UTF-8'
        postgresql_databases:
          - name: concourse
            owner: concourse
            login_user: postgres
            state: present
        postgresql_users:
          - name: concourse
            password: concoursepassword
            encrypted: true
            db: concourse
            login_user: postgres
            state: present
...

اكتب الأخطاء التالية:

TASK [geerlingguy.postgresql : Ensure PostgreSQL is started and enabled on boot.] ***************************************************************************************************
ok: [10.144.0.137]

TASK [geerlingguy.postgresql : Ensure PostgreSQL databases are present.] ************************************************************************************************************
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: ProgrammingError: role "concourse" does not exist
failed: [10.144.0.137] (item={'name': 'concourse', 'owner': 'concourse', 'login_user': 'postgres', 'state': 'present'}) => {"changed": false, "item": {"login_user": "postgres", "name": "concourse", "owner": "concourse", "state": "present"}, "msg": "Database query failed: role \"concourse\" does not exist\n"}
    to retry, use: --limit @/Users/pd028300/Documents/development/Ansible/concourse_ci_playbook/playbook_2.retry

لست متأكدًا مما إذا كان من المفترض أن يستخدم المستخدم postgres أو المستخدم الذي أنشأته ، concourse في هذه الحالة.

ملف متطلبات Ansible-Galaxy

---
# https://galaxy.ansible.com/geerlingguy/postgresql
- src: geerlingguy.postgresql
  version: 1.4.5
...

الهدف معلومات النظام

[email protected]:~ ( concourse-ci-db.novalocal )
12:38:42 $ uname -a
Linux concourse-ci-db.novalocal 3.10.0-957.1.3.el7.x86_64 #1 SMP Mon Nov 26 17:43:08 PST 2018 x86_64 x86_64 x86_64 GNU/Linux
[email protected]:~ ( concourse-ci-db.novalocal )
12:38:44 $ cat /etc/oracle-release
Oracle Linux Server release 7.6

إصدارات Ansible و Ansible Playbook

$ ansible --version && ansible-playbook --version
ansible 2.7.6
  config file = /Users/pd028300/Documents/development/Ansible/concourse_ci_playbook/ansible.cfg
  configured module search path = ['/Users/pd028300/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /Users/pd028300/.pyenv/versions/3.7.2/lib/python3.7/site-packages/ansible
  executable location = /Users/pd028300/.pyenv/versions/3.7.2/bin/ansible
  python version = 3.7.2 (default, Jan 22 2019, 09:35:39) [Clang 9.0.0 (clang-900.0.39.2)]
ansible-playbook 2.7.6
  config file = /Users/pd028300/Documents/development/Ansible/concourse_ci_playbook/ansible.cfg
  configured module search path = ['/Users/pd028300/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /Users/pd028300/.pyenv/versions/3.7.2/lib/python3.7/site-packages/ansible
  executable location = /Users/pd028300/.pyenv/versions/3.7.2/bin/ansible-playbook
  python version = 3.7.2 (default, Jan 22 2019, 09:35:39) [Clang 9.0.0 (clang-900.0.39.2)]
stale

التعليق الأكثر فائدة

واجهت نفس المشكلة اليوم مع نسخة مجرة ​​غير مرئية

ال 18 كومينتر

أدى التبديل بين databases.yml و users.yml إلى أخطاء جديدة.

TASK [geerlingguy.postgresql : Ensure PostgreSQL is started and enabled on boot.] ***************************************************************************************************
ok: [10.144.0.137]

TASK [geerlingguy.postgresql : Ensure PostgreSQL users are present.] ****************************************************************************************************************
failed: [10.144.0.137] (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false}
fatal: [10.144.0.137]: FAILED! => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false}

@ predatorian3 لقد اختبرت هذا للتو في حال كنت تتساءل:

يحدث هذا بسبب إنشاء المستخدمين قبل قواعد البيانات. لذلك عند إنشاء مستخدم والإشارة إلى قاعدة بيانات - لا توجد قاعدة بيانات للرجوع إليها وهي أخطاء بها

ثم تقوم بإنشاء قاعدة بيانات للإشارة إلى مستخدم - حسنًا ، لا يوجد مستخدم. يجب عليك إنشاء مستخدم أولاً بدون مرجع db ، ثم إنشاء db.

تم تصنيف هذه المشكلة على أنها "قديمة" نظرًا لنقص الأنشطة الحديثة. إذا لم يكن هناك نشاط آخر ، فسيتم إغلاق المشكلة في غضون 30 يومًا أخرى. شكرا لمساهمتك!

يرجى قراءة منشور المدونة هذا لمعرفة الأسباب التي تجعلني أضع علامة على المشكلات على أنها قديمة.

واجهت نفس المشكلة اليوم مع نسخة مجرة ​​غير مرئية

هذه القضية لم تعد معلمة للإغلاق.

تم تصنيف هذه المشكلة على أنها "قديمة" نظرًا لنقص الأنشطة الحديثة. إذا لم يكن هناك نشاط آخر ، فسيتم إغلاق المشكلة في غضون 30 يومًا أخرى. شكرا لمساهمتك!

يرجى قراءة منشور المدونة هذا لمعرفة الأسباب التي تجعلني أضع علامة على المشكلات على أنها قديمة.

تعاني من نفس المشكلة أيضًا

هذه القضية لم تعد معلمة للإغلاق.

تم تصنيف هذه المشكلة على أنها "قديمة" نظرًا لنقص الأنشطة الحديثة. إذا لم يكن هناك نشاط آخر ، فسيتم إغلاق المشكلة في غضون 30 يومًا أخرى. شكرا لمساهمتك!

يرجى قراءة منشور المدونة هذا لمعرفة الأسباب التي تجعلني أضع علامة على المشكلات على أنها قديمة.

لا تالفة

هذه القضية لم تعد معلمة للإغلاق.

تم تصنيف هذه المشكلة على أنها "قديمة" نظرًا لنقص الأنشطة الحديثة. إذا لم يكن هناك نشاط آخر ، فسيتم إغلاق المشكلة في غضون 30 يومًا أخرى. شكرا لمساهمتك!

يرجى قراءة منشور المدونة هذا لمعرفة الأسباب التي تجعلني أضع علامة على المشكلات على أنها قديمة.

لا تالفة

هذه القضية لم تعد معلمة للإغلاق.

كنت أواجه مشكلة مماثلة مع الفشل التالي
TASK [geerlingguy.postgresql : Ensure PostgreSQL users are present.] ***************************** failed: [production] (item=None) => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false} fatal: [production]: FAILED! => {"censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false}

أوصيك بمحاولة تعيين postgres_users_no_log: false في ملف المتغيرات ومعرفة سبب الخطأ. في حالتي ، كان مرتبطًا بالتبعية psycopg2 (التي كنت أقوم بتثبيتها بالفعل باستخدام python3-psycopg2 ، لكنني كنت أفتقد ansible_python_interpreter: /usr/bin/python3 في المتغيرات الخاصة بي)

تم تصنيف هذه المشكلة على أنها "قديمة" نظرًا لنقص الأنشطة الحديثة. إذا لم يكن هناك نشاط آخر ، فسيتم إغلاق المشكلة في غضون 30 يومًا أخرى. شكرا لمساهمتك!

يرجى قراءة منشور المدونة هذا لمعرفة الأسباب التي تجعلني أضع علامة على المشكلات على أنها قديمة.

تم إغلاق هذه القضية بسبب عدم النشاط. إذا كنت تشعر أن هذا خطأ ، فالرجاء إعادة فتح المشكلة أو تقديم مشكلة جديدة مع التفاصيل ذات الصلة.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

GoodBoy962 picture GoodBoy962  ·  10تعليقات

breml picture breml  ·  9تعليقات

worldofchris picture worldofchris  ·  8تعليقات

svanschalkwyk picture svanschalkwyk  ·  6تعليقات

NiftyMist picture NiftyMist  ·  5تعليقات