如何使用 dblink_connect 和 dblink_connect_u

Posted

技术标签:

【中文标题】如何使用 dblink_connect 和 dblink_connect_u【英文标题】:How to use dblink_connect and dblink_connect_u 【发布时间】:2013-10-18 06:30:25 【问题描述】:

我在 Postgres 中有两个数据库,并希望将数据从一个数据库访问到其他数据库表。我尝试了以下方法:

dblink_connect('myconn','hostaddr=10.10.30.53 dbname=postgres user=postgres password=postgres')

dblink_connect_u('myconn','hostaddr=10.10.30.53 dbname=postgres user=postgres password=postgres')

这会导致语法错误:

错误:“dblink_connect”处或附近的语法错误 第 1 行:dblink_connect('myconn','hostaddr=10.10.30.53 dbname=postgre... ^ ********** 错误 ********** 错误:“dblink_connect”SQL 状态或附近的语法错误:

我需要更改pg.hba.conf 文件中的任何内容吗?

谁能给我一个例子的步骤?

【问题讨论】:

语法错误是什么? 错误:“dblink_connect”第 1 行或附近的语法错误:dblink_connect('myconn','hostaddr=10.10.30.53 dbname=postgre... ^ **********错误**********错误:“dblink_connect”SQL状态或附近的语法错误:42601 【参考方案1】:

语法错误表明语句本身会导致问题。更改 pg_hba.conf 不会解决这个问题。您的语句看起来不错 - 除了缺少 SELECT(或可能在 plpgsql 函数中 PERFORM):

SELECT dblink_connect('myconn'
       ,'hostaddr=10.10.30.53 dbname=postgres user=postgres password=postgres')

这是一个简单的 SQL SELECT 语句。 如果不是这样,你确定你有installed the additional module dblink 并且你的search_path 包含你安装它的架构吗?

【讨论】:

以上是关于如何使用 dblink_connect 和 dblink_connect_u的主要内容,如果未能解决你的问题,请参考以下文章

如何将数据框输出为文本(字符串)混合值和列名R

如何通过传递字符向量重命名 tibble 中的所有列名?

如何避免我的 KNN 模型中的时间泄漏?

如何将日期时间分成单独的列? [复制]

提升属性树 put/get DBL_MAX

数美(sm)面经