[Ansible][PostgreSQL] 使用Ansible时发生了PostgreSQL的Create DB错误

概要

在以前的项目中,Postgresql的Create DB部分顺利运行,现在决定在新的项目中也使用它。

由于之前的项目升级了操作系统和PostgreSQL版本,我通过搜索确认了配置是否有所变化。
结果是,我统一了使用相同的操作系统和PostgreSQL版本的配置。
然而,却出现了以下几个错误。
因此,我将向那些应该看到错误消息(两个)的人提供指引。
“systemd无法找到所请求的服务“’avahi-daemon’”
“无法连接到数据库:对用户“postgres”的对等身份验证失败\n”

image

服务器规格 (Sā fú guī gé)

・CentOS 7.2 -> RHEL7.2衍生版

・PostgreSQL 9.4 –> PostgreSQL 9.4 版

等等。

解决办法

首先,”the python psycopg2 module is required”是一个错误。
根据错误消息的内容,Python需要安装psycopg2模块,
所以在安装postgresql的同时,也需要安装这个模块。

# postgresql94のインストール
- name: install postgresql94
  yum: name={{ item }} enablerepo=pgdg94 state=present
  with_items:
  - postgresql94-server
  - postgresql94-contrib
  - python-psycopg2

下一个是这个:”无法连接到数据库:用户\”postgres\”的对等身份验证失败\n”的错误。
似乎是Ansible的编写方式发生了变化。
让我们按照以下方式进行调整。

# データベース追加
- name: Create the RLetters PostgreSQL database
  become: yes
  become_user: postgres
  postgresql_db: db={{ dbname }}
  tags: postgresql

?我认为这可能是由于操作系统升级和提供的软件包发生了变化。 (?如果我有任何错误,请评论告诉我!?)

总结

总之,就上述的对策而言,能够顺利运作。
然而,我有一个疑问。

以下内容是Ansible文档的”postgresql_db – 从远程主机添加或删除PostgreSQL数据库”一节的部分内容。

创建一个名为”acme”的新数据库。
创建一个名为”acme”的新数据库,并设置特定的编码和本地设置。如果指定的模板与”template0″不同,则编码和本地设置必须与模板的相匹配。

与对方进行良好的沟通很重要

注意事项

此模块使用psycopg2,一个Python PostgreSQL数据库适配器。在使用此模块之前,必须确保主机上安装了psycopg2。如果远程主机是PostgreSQL服务器(这是默认情况),则远程主机上也必须安装PostgreSQL。对于基于Ubuntu的系统,在使用此模块之前,请在远程主机上安装postgresql、libpq-dev和python-psycopg2软件包。

首先,尽管不是基于Ubuntu,但由于需要,下面的内容需要更新。

在使用此模块之前,在远程主机上安装基于Ubuntu系统的postgresql、libpq-dev和python-psycopg2包。

而且,无法实现上述例子中的内容!

总之,这两个内容全部是错误的。
因为CentOS和PostgreSQL的版本都升级了,所以我觉得可能是这样的吧…

以上就是!?

bannerAds