dblink_open — 在遠端資料庫中開啟一個遊標
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
dblink_open()
在遠端資料庫中開啟一個遊標。該遊標隨後可以使用 dblink_fetch()
和 dblink_close()
進行操作。
connname
要使用的連線的名稱;省略此引數可使用未命名的連線。
cursorname
要為此遊標指定的名稱。
sql
您希望在遠端資料庫中執行的 SELECT
語句,例如 select * from pg_class
。
fail_on_error
如果為 true(省略時預設為 true),則遠端連線端發生的錯誤也會導致本地引發錯誤。如果為 false,則遠端錯誤將作為 NOTICE 本地報告,並且函式的返回值設定為 ERROR
。
返回狀態,為 OK
或 ERROR
。
由於遊標只能在事務中持久存在,因此如果遠端端尚未處於事務中,dblink_open
會在遠端端啟動一個顯式的事務塊(BEGIN
)。當執行匹配的 dblink_close
時,該事務將再次關閉。請注意,如果您在 dblink_open
和 dblink_close
之間使用 dblink_exec
來更改資料,然後發生錯誤,或者在 dblink_close
之前使用 dblink_disconnect
,您的更改將丟失,因為事務將被中止。
SELECT dblink_connect('dbname=postgres options=-csearch_path='); dblink_connect ---------------- OK (1 row) SELECT dblink_open('foo', 'select proname, prosrc from pg_proc'); dblink_open ------------- OK (1 row)
如果您在文件中發現任何不正確之處,與您對特定功能的體驗不符,或者需要進一步闡明,請使用 此表格 報告文件問題。