On 4/14/23 04:04, 黄宁 wrote:
i want to use cursor with hold ,but when I declare a curosr , it takes a long time to save the result set to disk. can i save the query state in memory? and fetch forward the next result.


From the docs:

https://www.postgresql.org/docs/current/sql-declare.html

A cursor created with WITH HOLD is closed when an explicit CLOSE command is issued on it, or the session ends. In the current implementation, the rows represented by a held cursor are copied into a temporary file or memory area so that they remain available for subsequent transactions.

So I am going to guess the cursor query is holding a large amount of data.

To get a more specific answer you will need to provide:

1) Postgres version.

2) The complete DECLARE command being used.

3) An indication of the amount of data being retrieved.

4) The actual time for a 'long time'.

--
Adrian Klaver
adrian.kla...@aklaver.com



Reply via email to