roles:
- role: ansible-role-postgresql
become: yes
postgresql_enablerepo: "pgdg96"
postgresql_restarted_state: "restarted"
postgresql_python_library: python-psycopg2
postgresql_bin_path: /usr/pgsql-9.6/bin
postgresql_daemon: postgresql-9.6.service
TASK [ansible-role-postgresql : Ensure PostgreSQL databases are present.] ****************************************************************************
failed: [clpaxd-iwh01.na.ad.rrd.com] (item={u'owner': u'manifold', u'login_user': u'manifold', u'name': u'manifoldcf', u'login_password': u'manifold'}) => {"changed": false, "item": {"login_password": "manifold", "login_user": "manifold", "name": "manifoldcf", "owner": "manifold"}, "msg": "the python psycopg2 module is required"}
Окружающая обстановка:
Есть идеи, как это исправить?
попробуйте с pip install -U --no-cache-dir --force psycopg2
Эта ошибка немного раздражает, поскольку no_log
используется в тех случаях, когда она возникает, например, при создании пользователей, скрывая настоящую проблему.
Я лично исправил это, используя package
для установки python3-psycopg2
перед импортом роли Postgres.
Старая ветка (но открытая) такая же проблема здесь, в Ubuntu. удаление no_log дало мне сообщение об ошибке отсутствия пакета. После ручной установки psycopg2 задача для пользователей работает. Дополнительный шаг по установке необходимого пакета Python должен решить проблему.
У меня уже был установлен python3-psycopg2, но он все еще не работал;
postgresql_python_library: python3-psycopg2
Итак, я добавил в свою книгу:
ansible_python_interpreter: / usr / bin / python3
Похоже, что по умолчанию он просто использовал / usr / bin / python
В debian 10;
/ usr / bin / python - версия
Python 2.7.16
Эта проблема помечена как устаревшая из-за отсутствия активности в последнее время. Если больше не будет активности, вопрос будет закрыт еще через 30 дней. Спасибо Вам за Ваш вклад!
Прочтите это сообщение в блоге, чтобы узнать, почему я помечаю проблемы как устаревшие.
Этот вопрос был закрыт из-за бездействия. Если вы считаете, что это ошибка, повторно откройте проблему или отправьте новую проблему с соответствующими сведениями.
Самый полезный комментарий
У меня уже был установлен python3-psycopg2, но он все еще не работал;
postgresql_python_library: python3-psycopg2
Итак, я добавил в свою книгу:
ansible_python_interpreter: / usr / bin / python3
Похоже, что по умолчанию он просто использовал / usr / bin / python
В debian 10;
/ usr / bin / python - версия
Python 2.7.16