PostgreSQL scheitern peer-Authentifizierung mit Ansible

Ich bin mit PostgreSQL 9.3 auf FreeBSD. FreeBSD verwendet pgsql als die Standard-system-Benutzer für die PostgreSQL. Meine /usr/local/pgsql/data/pg_hba.conf sieht wie folgt aus:

# 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

Mit dieser Konfiguration kann ich mit der Datenbank verbinden, als pgsql ohne Passwort.

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

Funktioniert wie vorgesehen.

Auf einer remote-Maschine, ich habe eine Ansible Aufgabe eine Datenbank zu erstellen, die auf dem FreeBSD-server.

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

Ausführen dieser Aufgabe schlägt fehl, mit dem Fehler Peer authentication failed for user "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

Warum diese scheitern, wenn die peer-Authentifizierung für den Benutzer pgsql ist deutlich arbeiten?

  • Haben Sie zum ausführen des ansible-Modul als pgsql Benutzer? zB hinzufügen: sudo: true und sudo_user: pgsql auf Ihren Befehl
  • Haben Sie schließlich herausfinden, eine Lösung für dieses?
InformationsquelleAutor oakservice | 2014-09-09
Schreibe einen Kommentar