table of contents
DBLINK_OPEN(3) | PostgreSQL 16.1 Documentation | DBLINK_OPEN(3) |
NAME¶
dblink_open - opens a cursor in a remote database
SYNOPSIS¶
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
DESCRIPTION¶
dblink_open() opens a cursor in a remote database. The cursor can subsequently be manipulated with dblink_fetch() and dblink_close().
ARGUMENTS¶
connname
cursorname
sql
fail_on_error
RETURN VALUE¶
Returns status, either OK or ERROR.
NOTES¶
Since a cursor can only persist within a transaction, dblink_open starts an explicit transaction block (BEGIN) on the remote side, if the remote side was not already within a transaction. This transaction will be closed again when the matching dblink_close is executed. Note that if you use dblink_exec to change data between dblink_open and dblink_close, and then an error occurs or you use dblink_disconnect before dblink_close, your change will be lost because the transaction will be aborted.
EXAMPLES¶
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)
2023 | PostgreSQL 16.1 |