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