postgresql - dblink 在远程客户端上使用时如何工作

标签 postgresql dblink

场景是我们有一台安装了 postgresql9.6 的主机,它工作得很好。我们在 AWS 中有另一台安装了 redshift 的主机,其中包含一堆 View 。我们在这两个主机之间使用 dblink 来查询数据/批量插入等,它们正在工作。当我们将客户端计算机添加到场景中时会出现此问题。我有一台带有 psql 模块的笔记本电脑,我可以成功连接到上述主机上的 postgresql 数据库并毫无问题地运行查询,但是当我尝试从我的笔记本电脑上的 psql 客户端执行 dblink connect 命令时,它无法说明 ...

ERROR: could not establish connection
DETAILS: FATAL: password authentication for user " **** " 
FATAL : no pg_hba.conf entry for host " ***.**.**.**", " username " , database "db", SSL off

我不明白为什么我们会收到此错误,因为在 postgresql 主机本地执行时,dblink 的确切命令工作正常。

有人遇到过同样的问题吗?

谢谢

最佳答案

我有一个非常相似的问题,这不是用户问题而是 IP 问题。

检查你的笔记本电脑 IP,它很可能没有在 pg_hba.conf 中列出

# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
host    all             all             xxx.xxx.xxx.xxx/24          md5

第一行是本地机器,第二行是你所在的网络。即 198.162.1.0,将允许来自 198.162.1.0 的连接。

您的笔记本电脑很可能在单独的网络上,必须添加。

您还必须在更改 pg_hba.conf 后重新启动服务

祝你好运。

关于postgresql - dblink 在远程客户端上使用时如何工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44111780/

相关文章:

postgresql - 引用分区表时在 PostgreSQL 中进行分区

arrays - 数组格式的 Ruby PG gem 选择字段

php - pg_fetch_assoc 返回 bool 值

oracle - 如何通过数据库链接远程远程 sysdate 结果?

database - 在 Oracle 数据库之间复制包含 BLOB 列的表

sql - @ 是什么意思!在 From 语句中的意思

PostgreSQL 将数组中的所有行更新为某些内容,同时将不在数组中的所有行更新为其他内容

postgresql - 对Cloud SQL(GCP)进行维护后pg_repack版本不匹配

sql - Postgresql 创建存储数据库链接

database - 如何使用位于不同模式中的 DBLINK 在 Oracle 中进行选择?