Any insights on Qlik Sense using CURSOR ? - Mailing list pgsql-general

From Franck Routier (perso)
Subject Any insights on Qlik Sense using CURSOR ?
Date
Msg-id 77a515dd318d9eb95f92e6cb07cc1978@mecadu.org
Whole thread Raw
Responses Re: Any insights on Qlik Sense using CURSOR ?
List pgsql-general
Hi,

I am using postgresql 12.7 on Ubunut as a datawarehouse, that is then 
queried by QlikSense to produce business analytics.

One of my dataloaders, that runs multiple queries, sometimes takes about 
3 hours to feed Qlik with the relevant records (about 10M records), but 
sometimes goes crazy and times out (as Qlik stops it when it takes more 
than 480 minutes).

The point is that Qlik is using a CURSOR to retrive the data. I'm not 
familiar with CURSOR and postgresql documentation mainly cites functions 
as use case. I don't really know how Qlik creates these cursors when 
executing my queries...

I tried load_min_duration to pinpoint the problem, but only shows things 
like that:

...
LOG: duration : 294774.600 ms, instruction : fetch 100000 in "SQL_CUR4"
LOG: duration : 282867.279 ms, instruction : fetch 100000 in "SQL_CUR4"
...

So I don't know exactly which of my queries is hiding behind 
"SQL_CUR4"...

Is there a way to log the actual query ?
Is using a CURSOR a best practice to retrieve big datasets ? (it seems 
Qlik is using it for every connection on Postgresql)
Does each FETCH re-run the query, or is the result somehow cached (on 
disk ?) ?

Thanks for any insight on CURSOR and/or Qlik queries on Postgresql !

Best regards,
Franck



pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: Logical Replication: SELECT pg_catalog.set_config Statement
Next
From: Hannes Kühtreiber
Date:
Subject: Re: Logical Replication: SELECT pg_catalog.set_config Statement