Thread: [INTERFACES] Questions on Cursors in PostgreSQL
Hi all,
--
I have some questions on PostgreSQL cursors (not PL/pgSQL but the libpq implementation):
- What happens when my cursor hit the end of the table? Does it close automatically? I suppose if I declare it as a SCROLLABLE cursor, it should not close at all.
- If I have declared a cursor and the session got disconnected, can I reattach back to the cursor if I know the cursor name? I believe this is not possible but I'm not very sure.
Thanks!
Regards,
Ang Wei Shan
Ang Wei Shan
2017-06-27 20:07 GMT+03:00 Wei Shan <weishan.ang@gmail.com>:
Hi all,I have some questions on PostgreSQL cursors (not PL/pgSQL but the libpq implementation):
- What happens when my cursor hit the end of the table? Does it close automatically? I suppose if I declare it as a SCROLLABLE cursor, it should not close at all.
The lifetime of cursors created by the DECLARE ... SQL command longs until the end of the session, or until it explicitly closed by either CLOSE ... or DISCARD SQL commands.
- If I have declared a cursor and the session got disconnected, can I reattach back to the cursor if I know the cursor name? I believe this is not possible but I'm not very sure.
When session ends all cursors are deallocated automatically. You should open the new cursor on reconnect.
Thanks a lot!
On 27 Jun 2017 18:53, "Dmitry Igrishin" <dmitigr@gmail.com> wrote:
2017-06-27 20:07 GMT+03:00 Wei Shan <weishan.ang@gmail.com>:Hi all,I have some questions on PostgreSQL cursors (not PL/pgSQL but the libpq implementation):
- What happens when my cursor hit the end of the table? Does it close automatically? I suppose if I declare it as a SCROLLABLE cursor, it should not close at all.
The lifetime of cursors created by the DECLARE ... SQL command longs until the end of the session, or until it explicitly closed by either CLOSE ... or DISCARD SQL commands.
- If I have declared a cursor and the session got disconnected, can I reattach back to the cursor if I know the cursor name? I believe this is not possible but I'm not very sure.
When session ends all cursors are deallocated automatically. You should open the new cursor on reconnect.