dblink_fetch(text cursorname, int howmany [, bool fail_on_error]) returns setof record dblink_fetch(text connname, text cursorname, int howmany [, bool fail_on_error]) returns setof record
使用する接続の名前です。 無名の接続を使用する場合はこのパラメータを省略します。
行を取り出すカーソルの名前です。
受け取る行の最大数です。 カーソルの現在位置から次のhowmany行を取り出し、カーソルの位置を前方に移動します。 カーソルが終端まで達すると、これ以上の行は生成されません。
真(省略時のデフォルト)の場合、接続のリモート側で発生したエラーによりローカル側でもエラーが発生します。 偽の場合リモート側のエラーはローカル側にはNOTICEとして報告され、この関数は行を返しません。
リモートカーソルから返る実際の列数とFROM句で指定された列数と異なる場合エラーが発生します。 この場合リモート側のカーソルは、エラーが発生しなかった場合と同じ行数分位置が変わります。 リモート側のFETCHが完了した後にローカル側でこの他のエラーが発生した場合も同じです。
test=# select dblink_connect('dbname=postgres'); 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)