mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-09-09 03:39:28 +02:00
160 lines
3.1 KiB
Plaintext
160 lines
3.1 KiB
Plaintext
|
==================================================================
|
||
|
Name
|
||
|
|
||
|
dblink_open -- Opens a cursor on a remote database
|
||
|
|
||
|
Synopsis
|
||
|
|
||
|
dblink_open(text cursorname, text sql)
|
||
|
|
||
|
Inputs
|
||
|
|
||
|
cursorname
|
||
|
|
||
|
a reference name for the cursor
|
||
|
|
||
|
sql
|
||
|
|
||
|
sql statement that you wish to execute on the remote host
|
||
|
e.g. "select * from pg_class"
|
||
|
|
||
|
Outputs
|
||
|
|
||
|
Returns status = "OK"
|
||
|
|
||
|
Note
|
||
|
1) dblink_connect(text connstr) must be executed first
|
||
|
2) dblink_open starts an explicit transaction. If, after using dblink_open,
|
||
|
you use dblink_exec to change data, and then an error occurs or you use
|
||
|
dblink_disconnect without a dblink_close first, your change *will* be
|
||
|
lost. Also, using dblink_close explicitly ends the transaction and thus
|
||
|
effectively closes *all* open cursors.
|
||
|
|
||
|
Example usage
|
||
|
|
||
|
test=# select dblink_connect('dbname=template1');
|
||
|
dblink_connect
|
||
|
----------------
|
||
|
OK
|
||
|
(1 row)
|
||
|
|
||
|
test=# select dblink_open('foo','select proname, prosrc from pg_proc');
|
||
|
dblink_open
|
||
|
-------------
|
||
|
OK
|
||
|
(1 row)
|
||
|
|
||
|
==================================================================
|
||
|
Name
|
||
|
|
||
|
dblink_fetch -- Returns a set from an open cursor on a remote database
|
||
|
|
||
|
Synopsis
|
||
|
|
||
|
dblink_fetch(text cursorname, int32 howmany)
|
||
|
|
||
|
Inputs
|
||
|
|
||
|
cursorname
|
||
|
|
||
|
The reference name for the cursor
|
||
|
|
||
|
howmany
|
||
|
|
||
|
Maximum number of rows to retrieve. The next howmany rows are fetched,
|
||
|
starting at the current cursor position, moving forward. Once the cursor
|
||
|
has positioned to the end, no more rows are produced.
|
||
|
|
||
|
Outputs
|
||
|
|
||
|
Returns setof record
|
||
|
|
||
|
Example usage
|
||
|
|
||
|
test=# select dblink_connect('dbname=template1');
|
||
|
dblink_connect
|
||
|
----------------
|
||
|
OK
|
||
|
(1 row)
|
||
|
|
||
|
test=# select dblink_open('foo','select proname, prosrc from pg_proc where proname like ''bytea%''');
|
||
|
dblink_open
|
||
|
-------------
|
||
|
OK
|
||
|
(1 row)
|
||
|
|
||
|
test=# select * from dblink_fetch('foo',5) as (funcname name, source text);
|
||
|
funcname | source
|
||
|
----------+----------
|
||
|
byteacat | byteacat
|
||
|
byteacmp | byteacmp
|
||
|
byteaeq | byteaeq
|
||
|
byteage | byteage
|
||
|
byteagt | byteagt
|
||
|
(5 rows)
|
||
|
|
||
|
test=# select * from dblink_fetch('foo',5) as (funcname name, source text);
|
||
|
funcname | source
|
||
|
-----------+-----------
|
||
|
byteain | byteain
|
||
|
byteale | byteale
|
||
|
bytealike | bytealike
|
||
|
bytealt | bytealt
|
||
|
byteane | byteane
|
||
|
(5 rows)
|
||
|
|
||
|
test=# select * from dblink_fetch('foo',5) as (funcname name, source text);
|
||
|
funcname | source
|
||
|
------------+------------
|
||
|
byteanlike | byteanlike
|
||
|
byteaout | byteaout
|
||
|
(2 rows)
|
||
|
|
||
|
test=# select * from dblink_fetch('foo',5) as (funcname name, source text);
|
||
|
funcname | source
|
||
|
----------+--------
|
||
|
(0 rows)
|
||
|
|
||
|
==================================================================
|
||
|
Name
|
||
|
|
||
|
dblink_close -- Closes a cursor on a remote database
|
||
|
|
||
|
Synopsis
|
||
|
|
||
|
dblink_close(text cursorname)
|
||
|
|
||
|
Inputs
|
||
|
|
||
|
cursorname
|
||
|
|
||
|
a reference name for the cursor
|
||
|
|
||
|
Outputs
|
||
|
|
||
|
Returns status = "OK"
|
||
|
|
||
|
Note
|
||
|
dblink_connect(text connstr) must be executed first.
|
||
|
|
||
|
Example usage
|
||
|
|
||
|
test=# select dblink_connect('dbname=template1');
|
||
|
dblink_connect
|
||
|
----------------
|
||
|
OK
|
||
|
(1 row)
|
||
|
|
||
|
test=# select dblink_open('foo','select proname, prosrc from pg_proc');
|
||
|
dblink_open
|
||
|
-------------
|
||
|
OK
|
||
|
(1 row)
|
||
|
|
||
|
test=# select dblink_close('foo');
|
||
|
dblink_close
|
||
|
--------------
|
||
|
OK
|
||
|
(1 row)
|
||
|
|