Я хочу создать пользователя и базу данных в PostgreSQL 9.6 через Ansible.
В оболочке я сделал это следующим образом: sudo -u postgres createuser -S -D -R -P ckan_default создалb -Ockan_default ckan_default -E utf-8
Я запускаю все, что есть в Ansible Tower.
Я попробовал все, что можно сделать, с различными вариантами, такими как удаление, становление и становление:
- name: Create postgres user
become: yes
become_user: postgres
postgresql_user:
name: "ckan_default"
password: "ckan_default"
role_attr_flags: NOCREATEDB, NOCREATEROLE, NOSUPERUSER
- name: Create DB
become: yes
become_user: postgres
postgresql_db:
name: ckan_default
encoding: UTF-8
owner: ckan_default
Ошибки, которые я получаю:
{
"_ansible_parsed": true,
"exception": "Traceback (most recent call last):\n File \"/tmp/ansible_postgresql_db_payload_FsaEtw/__main__.py\", line 421, in main\n db_connection = psycopg2.connect(database=maintenance_db, **kw)\n File \"build/bdist.linux-x86_64/egg/psycopg2/__init__.py\", line 126, in connect\n conn = _connect(dsn, connection_factory=connection_factory, **kwasync)\nOperationalError: FATAL: Peer authentication failed for user \"postgres\"\n\n",
"_ansible_no_log": false,
"changed": false,
"invocation": {
"module_args": {
"ssl_rootcert": null,
"ssl_mode": "prefer",
"target": "",
"encoding": "UTF-8",
"login_user": "postgres",
"login_host": "",
"target_opts": "",
"db": "ckan_default",
"lc_ctype": "",
"owner": "",
"port": 5432,
"login_unix_socket": "",
"state": "present",
"template": "",
"login_password": "",
"maintenance_db": "postgres",
"lc_collate": "",
"name": "ckan_default"
}
},
"msg": "unable to connect to database: FATAL: Peer authentication failed for user \"postgres\"\n"
}