Обсуждение: [INTERFACES] Questions on Cursors in PostgreSQL

Поиск
Список
Период
Сортировка

[INTERFACES] Questions on Cursors in PostgreSQL

От
Wei Shan
Дата:
Hi all,

I have some questions on PostgreSQL cursors (not PL/pgSQL but the libpq implementation): 

  1. 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.
  2. 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

Re: [INTERFACES] Questions on Cursors in PostgreSQL

От
Dmitry Igrishin
Дата:


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): 

  1. 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.
  1. 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.

Re: [INTERFACES] Questions on Cursors in PostgreSQL

От
Wei Shan
Дата:
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): 

  1. 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.
  1. 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.