我检查下面链接,我使用和运行完美 . 但我想反对这件事 .
Postgresql: dblink in Stored Functions
我的场景:有两个数据库 . 我想将一个表数据从本地复制到远程数据库 . 我使用dblink这个用过,但我很困惑如何使用dblink存储数据?
本地数据库名称:localdatabase
远程数据库名称:remotedatabase
任何人都可以建议我怎么做?
提前致谢 .
我检查下面链接,我使用和运行完美 . 但我想反对这件事 .
Postgresql: dblink in Stored Functions
我的场景:有两个数据库 . 我想将一个表数据从本地复制到远程数据库 . 我使用dblink这个用过,但我很困惑如何使用dblink存储数据?
本地数据库名称:localdatabase
远程数据库名称:remotedatabase
任何人都可以建议我怎么做?
提前致谢 .
1 回答
类似下面的行应该工作:
其中
test
是远程数据库中的表,具有以下定义:运行
dblink_exec()
后,您可以在远程数据库中检查结果(或使用dblink()
本地检查结果,如下例所示) .您也可以将
dblink_exec
调用包装在函数中:如您所见,您甚至可以动态构建查询字符串 . (不是我提倡这种方法,因为你必须小心不要以这种方式将SQL注入漏洞引入你的系统 . )
由于
dblink_exec
返回一个关于它做了什么的文本消息,你必须将你的函数定义为RETURNS text
,除非在dblink_exec
调用之后还有其他的值返回语句 .