dblink_open(text cursorname, text sql [, bool fail_on_error]) returns text dblink_open(text connname, text cursorname, text sql [, bool fail_on_error]) returns text
要使用的连接名称;省略这个参数使用未命名连接。
分配给这个游标的名称。
你希望在远程数据库中执行的SELECT语句,比如select * from pg_class。
如果真(忽略时缺省)那么在连接的远程端抛出的错误也会导致本地抛出错误, 如果假,那么远程错误在本地作为NOTICE被报告, 并且函数的返回值设置为ERROR。
因为游标只能停留在事务块中,如果远程端已经不在事务中,
那么dblink_open
在远程端开始显式事务块(BEGIN),
当执行匹配的dblink_close
时,则该事务将再次被关闭。
注意如果在dblink_open
和dblink_close
之间使用
dblink_exec
改变数据,那么会产生错误或者你在dblink_close
之前使用
dblink_disconnect
,你的改变将丢失,因为终止了事务。
SELECT dblink_connect('dbname=postgres'); dblink_connect ---------------- OK (1 row) SELECT dblink_open('foo', 'select proname, prosrc from pg_proc'); dblink_open ------------- OK (1 row)