deep debug log for psql

Started by Matthias Apitzover 6 years ago2 messagesgeneral
Jump to latest
#1Matthias Apitz
guru@unixarea.de

Hello,

We found and use for ESQL/C the debug feature:

ECPGdebug(int on, FILE *stream);

with very good results. Is there something similar for the psql
interpreter to debug the query of complex SQL statements like this
monster here:

SELECT ha.hnr, count(*) FROM acq_haushalt ha, acq_booking bo WHERE ha.hjahr = 2000 AND ha.brgroup
WHERE bu.bnr = bo.bnr AND bu.band = bo.band AND bu.exemplar = ( SELECT min(bo2.exemplar) FROM acq_booking b
WHERE bo2.hnr = bo .hnr
AND bo2.bnr = bo.bnr AND bo2.band = bo.band)
AND bu.statusrech IN (0,1) )
GROUP BY ha.hnr;

The -L logfilename flag of psql is not sufficient enough. It logs only
the query and the final result.

Thanks

matthias

--
Matthias Apitz, ✉ guru@unixarea.de, http://www.unixarea.de/ +49-176-38902045
Public GnuPG key: http://www.unixarea.de/key.pub

"Glaube wenig, hinterfrage alles, denke selbst: Wie man Manipulationen durchschaut"
"Believe little, scrutinise all, think by your own: How see through manipulations"
ISBN-10: 386489218X

#2Adrian Klaver
adrian.klaver@aklaver.com
In reply to: Matthias Apitz (#1)
Re: deep debug log for psql

On 11/20/19 11:12 PM, Matthias Apitz wrote:

Hello,

We found and use for ESQL/C the debug feature:

ECPGdebug(int on, FILE *stream);

with very good results. Is there something similar for the psql
interpreter to debug the query of complex SQL statements like this
monster here:

SELECT ha.hnr, count(*) FROM acq_haushalt ha, acq_booking bo WHERE ha.hjahr = 2000 AND ha.brgroup
WHERE bu.bnr = bo.bnr AND bu.band = bo.band AND bu.exemplar = ( SELECT min(bo2.exemplar) FROM acq_booking b
WHERE bo2.hnr = bo .hnr
AND bo2.bnr = bo.bnr AND bo2.band = bo.band)
AND bu.statusrech IN (0,1) )
GROUP BY ha.hnr;

The -L logfilename flag of psql is not sufficient enough. It logs only
the query and the final result.

client_min_messages?:
https://www.postgresql.org/docs/11/runtime-config-client.html#GUC-CLIENT-MIN-MESSAGES

Thanks

matthias

--
Adrian Klaver
adrian.klaver@aklaver.com