sql >> Database >  >> RDS >> PostgreSQL

Log Stacktrace van huidige Python Interpreter via PostgreSQL-trigger

Is there a way to log the Python/Django traceback from within a PostgreSQL trigger?

Nee, er is geen

  • De (SQL)-query wordt uitgevoerd op de DBMS-server , en dat geldt ook voor de code in de trigger
  • De Python-code wordt uitgevoerd op de client wat een ander proces is, mogelijk uitgevoerd door een andere gebruiker, en misschien zelfs op een andere machine.

De enige verbinding tussen de server (die de conditie detecteert) en de client (die de stackdump moet uitvoeren) is de aangesloten socket. Je zou kunnen proberen het antwoord van de server (als die er is) uit te breiden met een statuscode, die door de client wordt gebruikt om zichzelf te stackddumpen. Dit werkt alleen als de trigger deel uitmaakt van de huidige transactie, niet van een niet-gerelateerd proces.

De andere manier is:massale houtkap. Laat de DBMS elke write schrijven verzonden SQL naar zijn logbestand. Dit kan enorme hoeveelheden logboekvermeldingen veroorzaken, die u moet inspecteren.



  1. Mysql-query om de som van velden met dezelfde kolomwaarde te vinden

  2. FOUT 1452:Kan een onderliggende rij niet toevoegen of bijwerken:een beperking van een externe sleutel mislukt

  3. Wijzig/reset postgresql gebruikerswachtwoord op Windows 7

  4. Oracle's containers voor J2EE (OC4J) in R12