postgresql 创建无密码用户Map如何配置身份验证

wyyhbhjk  于 2023-02-18  发布在  PostgreSQL
关注(0)|答案(1)|浏览(182)

我试图在PostgreSQL中创建一个没有密码的用户Map,但是我遇到了一个错误。

local_db=> select * from employee;
ERROR:  could not connect to server "testmachine02"
DETAIL:  connection to server at "192.168.56.10", port 5432 failed: fe_sendauth: no password supplied

下面是我用来创建用户Map的命令:

CREATE USER MAPPING for app_user SERVER testmachine02 OPTIONS (password_required 'false');

我还创建了一个包含以下条目的pgpass文件:

localhost:5432:local_db:app_user:app_user123
192.168.56.10:5432:admin:admin:admin123
192.168.56.10:5432:remote_db:test:test123

尽管执行了这些步骤,但没有口令仍然无法访问表。如何创建没有口令的用户Map并访问表?

r6hnlfcb

r6hnlfcb1#

密码文件不会通过客户端代理以供服务器使用。您需要密码的.pgpass文件是供运行数据库服务器的操作系统用户使用的文件。通常情况下,该文件类似于“/var/lib/postgresql/.pgpass”,而不是类似于“/home/arahal/.pgpass”。如果您这样做并设置(password_required 'false'),它将工作。
但是为什么不直接把密码放在用户Map中,然后就不用密码了呢?password_required的目的是给予您可以选择使用不基于密码的身份验证方法。

相关问题