PostgreSQL使用Ansible进行身份验证失败

前端之家收集整理的这篇文章主要介绍了PostgreSQL使用Ansible进行身份验证失败前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在FreeBSD上运行Postgresql 9.3。 FreeBSD使用pgsql作为Postgresql的默认系统用户。我的/usr/local/pgsql/data/pg_hba.conf看起来像这样:
# TYPE  DATABASE        USER            ADDRESS                 METHOD
local   all             pgsql                                   peer
local   all             all                                     md5
host    all             all             127.0.0.1/32            md5
host    all             all             ::1/128                 md5

使用此配置,我可以连接到数据库作为pgsql没有密码。

$ su pgsql
$ psql template1
template1=# \l
                         List of databases
...

这是按照意图工作的。

在远程机器上,我有一个可执行的任务来在FreeBSD服务器上创建一个数据库

- name: Create the postgresql database
  postgresql_db: name=mydatabase login_user=pgsql

执行此任务失败,并且用户“pgsql”的对等认证失败。

PLAY [web] ********************************************************************

GATHERING FACTS ***************************************************************
ok: [host.example.org]

TASK: [database | Create the postgresql database] *****************************
Failed: [host.example.org] => {"Failed": true}
msg: unable to connect to database: FATAL:  Peer authentication Failed for user "pgsql"


FATAL: all hosts have already Failed -- aborting

为什么在用户pgsql的对等身份验证显然有效时会失败?

这对我有用:
- name: Create postgres database
  sudo: yes
  sudo_user: postgres
  postgresql_db:
    name: <database-name>

在您的具体情况下,用户可能是pgsql,但我认为用户通常是postgres。

猜你在找的Postgre SQL相关文章