sql >> Databasteknik >  >> RDS >> PostgreSQL

Logga Stacktrace av nuvarande Python Interpreter via PostgreSQL-utlösaren

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

Nej, det finns inte

  • (SQL)-frågan körs på DBMS-servern , och så är koden inuti triggern
  • Python-koden körs på klienten vilket är en annan process, möjligen utförd av en annan användare, och kanske till och med på en annan dator.

Den enda anslutningen mellan servern (som upptäcker tillståndet) och klienten (som behöver utföra stackdumpen) är den anslutna socket. Du kan försöka utöka serverns svar (om det finns en) med någon statuskod, som används av klienten för att stackddumpa sig själv. Detta fungerar bara om utlösaren är en del av den aktuella transaktionen, inte av någon orelaterade process.

Det andra sättet är:massiv avverkning. Få DBMS att skriva varje skickade SQL till sin loggfil. Detta kan orsaka enorma mängder loggposter som du måste inspektera.



  1. Åsikter om autentisering mellan program- och databasnivåer

  2. Infoga värdelistan matchar inte kolumnlistan:1136 Kolumnantal matchar inte värdeantal

  3. För liten teckensträngsbuffert fel i Oracle Stored Procedure

  4. MySQL DATETIME-precision (joda-time, Hibernate, org.jadira.usertype, hbm2ddl)