Is there a way to log the Python/Django traceback from within a PostgreSQL trigger?
Nej, det er der ikke
- (SQL)-forespørgslen udføres på DBMS-serveren , og det samme er koden inde i triggeren
- Python-koden udføres på klienten som er en anden proces, muligvis udført af en anden bruger, og måske endda på en anden maskine.
Den eneste forbindelse mellem serveren (som registrerer tilstanden) og klienten (som skal udføre stackdumpen) er den tilsluttede socket. Du kan prøve at udvide serverens svar (hvis der er en) med en eller anden statuskode, som bruges af klienten til at stackddumpe sig selv. Dette vil kun fungere, hvis udløseren er en del af den aktuelle transaktion, ikke af en eller anden ikke-relateret proces.
Den anden måde er:massiv logning. Få DBMS til at skrive hver indsendt SQL til sin logfil. Dette kan forårsage enorme mængder af logposter, som du skal inspicere.