[QGIS-Developer] Catch PostgreSQL logs in pyqgis
Matteo Ghetta
matteo.ghetta at gmail.com
Tue Mar 5 00:12:43 PST 2024
Hi Hannes,
so the only way to get the queries is to read what development panel is
listing when enabled?
I also found GDALDatasetSetQueryLoggerFunc:
https://github.com/qgis/QGIS/blob/master/src/core/providers/ogr/qgsogrfeatureiterator.cpp#L417
but seems not directly accessible with python
Cheers and thanks
Matteo
On 3/5/24 08:53, Johannes Kröger (WhereGroup) wrote:
> Hi Matteo,
>
> https://api.qgis.org/api/master/classQgsDatabaseQueryLog.html does have
> appropriate signals (queryFinished and queryStarted, both include the
> query) but it looks like they are not documented in the Python API
> https://qgis.org/pyqgis/master/core/QgsDatabaseQueryLog.html
>
> It *looks* like they are exposed though. So try
>
>
> def do_something_with(query):
> ...
> query_log = QgsApplication.databaseQueryLog()
> query_log.queryFinished.connect(do_something_with)
>
>
> If that does not work, maybe the debugging panel itself has a signal you
> can connect to as a hacky workaround.
>
> Cheers, Hannes
>
> On 04.03.24 17:54, Matteo Ghetta via QGIS-Developer wrote:
>> Hi devs,
>>
>> I'm looking for a way in pyqgis to catch the (raw) queries that QGIS
>> is sending to the PostgreSQL provider when a table is edited: for
>> example the raw "INSERT ... INTO ...", "UPDATE ...".
>>
>> Basically what the Development Panel is listing when enabled. Is there
>> a way in pyqgis?
>>
>> Cheers and thanks for any suggestion!
>>
>> Matteo
>>
>> _______________________________________________
>> QGIS-Developer mailing list
>> QGIS-Developer at lists.osgeo.org
>> List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
>> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer
>
More information about the QGIS-Developer
mailing list