使用dblink时报错

shockqjq 2017-06-02 09:31:31
使用dblink进行跨库操作时,报错不知道原因,请教一下。由于原本机器不能联网,我举例描述一下我遇到的问题。
机器A:IP:192.168.0.1,psql9.4
机器B:IP:192.168.0.2,psql9.5

在两个机器分别建表
create table test_t1(id integer,name text);
在两个机器安装扩展包dblink
在机器b的psql执行:
select dblink_connect('con','hostaddr=192.168.0.1 port=5432 user=postgres passwd=123456 dbname=postgres');
这一步没问题。

执行
select dblink_exec('con','insert into test_t1(1,'234')');
没有问题,显示插入一行。

执行
select dblink_exec('con','insert into test_t1(1,'abc')');
就会报错,显示在abc附近语法错误。
...全文
647 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
什么龙 2017-07-28
  • 打赏
  • 举报
回复
引用 楼主 shockqjq 的回复:
使用dblink进行跨库操作时,报错不知道原因,请教一下。由于原本机器不能联网,我举例描述一下我遇到的问题。 机器A:IP:192.168.0.1,psql9.4 机器B:IP:192.168.0.2,psql9.5 在两个机器分别建表 create table test_t1(id integer,name text); 在两个机器安装扩展包dblink 在机器b的psql执行: select dblink_connect('con','hostaddr=192.168.0.1 port=5432 user=postgres passwd=123456 dbname=postgres'); 这一步没问题。 执行 select dblink_exec('con','insert into test_t1(1,'234')'); 没有问题,显示插入一行。 执行 select dblink_exec('con','insert into test_t1(1,'abc')'); 就会报错,显示在abc附近语法错误。
abc前面的单引号和insert前面的单引号构成一对了,后面一样, 所以这里修改为双引号即可。

956

社区成员

发帖
与我相关
我的任务
社区描述
PostgreSQL相关内容讨论
sql数据库数据库架构 技术论坛(原bbs)
社区管理员
  • PostgreSQL社区
  • yang_z_1
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧