Hi,
On Tue, May 18, 2021 at 6:22 PM Franck Routier (perso) <a...@mecadu.org>
wrote:

> 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
>
> Have you tried setting the parameter below?
log_statement = 'all'

you will get all queries logged into log files.

Regards,
Ganesh Korde.

Reply via email to