如何使用 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的主要内容,如果未能解决你的问题,请参考以下文章