在 Ubuntu 20.04 上部署一个干净的 VPS 来部署一个 Django 项目。
无法创建 PostgreSQL 用户和数据库
任务代码:
- name: Create database user
become: yes
become_user: postgres
postgresql_user:
name: "{{ db_user }}"
password: "{{ db_password }}"
role_attr_flags: SUPERUSER
- name: Create a new database
become_user: postgres
community.general.postgresql_db:
name="{{ db_name }}"
encoding='UTF-8'
lc_collate='en_US.UTF-8'
lc_ctype='en_US.UTF-8'
template='template0'
state=present
pg_hba.conf:
local all postgres md5
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all md5
host replication all 127.0.0.1/32 md5
host replication all ::1/128 md5
给出错误消息:
TASK [system : Create database user] ************************************************************************************
[WARNING]: Module did not set no_log for no_password_changes
fatal: [root]: FAILED! => {"changed": false, "msg": "unable to connect to database: fe_sendauth: no password supplied\n"}
该怎么办?
我的意大利面尿布(角色很紧张,没有时间),我做了一个节点,用于教授“DB”主题的学生:
哪些部分难以理解 - 在评论中提问。
第一部分. 寻找文件
您可以从官方文档中获取示例代码:
他不忠实,不够
如果我对所有内容都理解正确,本节会将用户从更改
root为postgres(其密码未知)。Administer DBMS 只能postgres在安装 PostgreSQL 时自动安装在系统中有时您可能会遇到此代码的错误替代方案:
这是不对的,不要这样做
第二部分。PostgreSQL 配置
在我遇到链接的论坛上
/etc/postgresql/12/main/pg_hba.conf/etc/postgresql/12/main/postgresql.conf因此,
pg_hba.conf您需要更改peer为`md5. 我得到它是这样的:但是
postgresql.conf需要更换在
第三部分。准备环境
为了使所有这些经济运行,请在您的机器上安装 ansible 插件
community.general要使 Ansible 与 PostgreSQL 一起工作,目标机器必须具有
python3-psycopg2