PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Log Stacktrace dell'attuale interprete Python tramite trigger PostgreSQL

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

No, non c'è

  • La query (SQL) viene eseguita sul server DBMS , così come il codice all'interno del trigger
  • Il codice Python viene eseguito sul client che è un processo diverso, possibilmente eseguito da un utente diverso, e forse anche su una macchina diversa.

L'unica connessione tra il server (che rileva la condizione) e il client (che deve eseguire lo stackdump) è il socket connesso. Potresti provare ad estendere la risposta del server (se ce n'è una) con un codice di stato, che viene utilizzato dal client per stackddump stesso. Funzionerà solo se il trigger fa parte della transazione corrente, non di un processo non correlato.

L'altro modo è:registrazione massiccia. Fai in modo che il DBMS scriva ogni ha inviato SQL al suo file di registro. Ciò può causare enormi quantità di voci di registro, che devi controllare.