如何使用dblink_connect和dblink_connect_u

时间:2013-10-18 06:30:26

标签: sql database postgresql postgresql-9.2 dblink

我在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文件中的任何内容?
有人可以给我一个例子吗?

2 个答案:

答案 0 :(得分:3)

语法错误表示语句本身会导致问题。更改pg_hba.conf无法解决此问题。您的语句看起来没问题 - 除了plpgsql函数中缺少的SELECT(或可能是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包含您安装它的架构吗?

答案 1 :(得分:1)

是的,在我测试了连接是否已建立之后,我已经完成了search_path中包含的扩展链接和架构? 我收到了上述错误。 你能给出任何建议。