Postgres pg_hba.conf 配置

Postgres pg_hba.conf 配置

我正在尝试使用 Postgres 开发一个 Python 应用程序。不幸的是,每次我做

db.session.commit()

我得到这个错误:

OperationalError: (OperationalError) fe_sendauth: no password supplied None None

在尝试了 pg_hba.config 文件后,我仍然收到相同的错误。相应的文件目前如下:

# Database administrative login by Unix domain socket
local   all             postgres                                peer
local   all             alex                                    trust

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            trust
# IPv6 local connections:
host    all             all             ::1/128                 trust
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local   replication     postgres                                peer
#host    replication     postgres        127.0.0.1/32            md5
#host    replication     postgres        ::1/128                 md5

有人能帮我正确配置这个在 Ubuntu 14.04 上运行的文件吗?

答案1

非常棒的演练..... https://help.ubuntu.com/community/PostgreSQL

首先找到文件配置信息. 通常在这里找到:

 /etc/postgresql/9.3/main/pg_hba.conf

或者

 /etc/postgresql/[VERSION]/main/pg_hba.conf

找到这行注释掉的内容:

# Database administrative login by Unix domain socket

并将下面的“???”更改为 md5:

local   all             postgres               probably 'peer'

到:

local   all             postgres                                md5

这是因为 Ubuntu 使用 md5 与 postgres 而不是对等身份验证

然后运行此命令:

sudo /etc/init.d/postgresql reload

相关内容