ibr*_*ter 5 postgresql foreign-data-wrapper
我有两个数据库设置为同一个 Postgresql 9.4 数据库集群的一部分,我正在尝试使用 postgres_fdw 从另一个访问其中一个中的表。我以超级用户身份进行了所有设置和工作,但是当我尝试以普通用户身份访问外部表时,出现以下错误:
ERROR: password is required
DETAIL: Non-superuser cannot connect if the server does not request a password.
HINT: Target server's authentication method must be changed.
Run Code Online (Sandbox Code Playgroud)
现在我明白这是因为我为某些子网(包括它自己的子网)设置了信任身份验证的服务器。但是,在USER MAPPING我创建的 1 中,我确实指定了密码,希望这样做会强制它使用密码身份验证。显然没有这样的运气。
因此,我的问题是是否有办法解决这个有点繁重的要求?有没有办法强制此连接或特定用户或类似的人使用密码身份验证?或者某种方法来禁用该要求?或者我唯一的选择是更改配置以要求密码,并处理任何破坏?
正如 Nick Barnes 在评论中指出的那样,pg_hba 允许针对特定用户使用不同的身份验证规则。因此,此问题的解决方案是简单地专门为这些 FDW 连接创建一个用户,并在 pg_hba.conf 中将该用户设置为需要密码。这样,受信任网络上的受信任 Web 应用程序就可以像往常一样继续连接,但 FDW 可以获得所需的密码请求。
| 归档时间: |
|
| 查看次数: |
2536 次 |
| 最近记录: |