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を使用しているようです
Debian10で;
/ usr / bin / python --version
Python 2.7.16
最近の活動が不足しているため、この問題は「古くなった」とマークされています。 それ以上のアクティビティがない場合、問題はさらに30日でクローズされます。 ご協力いただき、ありがとうございます!
このブログ投稿を読んで
非アクティブなため、この問題は解決されました。 これに誤りがあると思われる場合は、問題を再度開くか、関連する詳細を記載した新しい問題を提出してください。
最も参考になるコメント
すでにpython3-psycopg2をインストールしましたが、それでも失敗しました。
postgresql_python_library:python3-psycopg2
だから私は私のプレイブックに以下を追加しました。
ansible_python_interpreter:/ usr / bin / python3
デフォルトでは/ usr / bin / pythonを使用しているようです
Debian10で;
/ usr / bin / python --version
Python 2.7.16