How to create a cursor that is independent of transactions and doesn't calculated when created ? - Mailing list pgsql-general

From boraldomaster
Subject How to create a cursor that is independent of transactions and doesn't calculated when created ?
Date
Msg-id 1372869822695-5762401.post@n5.nabble.com
Whole thread Raw
Responses Re: How to create a cursor that is independent of transactions and doesn't calculated when created ?
List pgsql-general
I wonder how quick is cursor without hold.
I have a data set with 10^7 rows.

*begin;
declare mycursor cursor for select * from z;
commit;
* - this takes 3 ms.

*begin;
declare mycursor cursor with hold for select * from z;
commit;
* - this takes 3 s.

Thus, holdable cursor is getting calculated, obviously.
I cannot use cursor without hold as it requires a connection per query +
client.
But I also don't understand - why cursor with hold should start so much
longer than cursor without hold.

If there any possiblity to have a cursor that as fast as cursor without hold
and as transaction-independent as cursor with hold ?



--
View this message in context:
http://postgresql.1045698.n5.nabble.com/How-to-create-a-cursor-that-is-independent-of-transactions-and-doesn-t-calculated-when-created-tp5762401.html
Sent from the PostgreSQL - general mailing list archive at Nabble.com.


pgsql-general by date:

Previous
From: Jake Silverman
Date:
Subject: C User Defined Functions
Next
From: David Johnston
Date:
Subject: Re: How to create a cursor that is independent of transactions and doesn't calculated when created ?