Is there a way to log the Python/Django traceback from within a PostgreSQL trigger?
Non, il n'y en a pas
- La requête (SQL) est exécutée sur le serveur DBMS , ainsi que le code à l'intérieur du déclencheur
- Le code Python est exécuté sur le client qui est un processus différent, éventuellement exécuté par un autre utilisateur, et peut-être même sur une autre machine.
La seule connexion entre le serveur (qui détecte la condition) et le client (qui doit effectuer le stackdump) est le socket connecté. Vous pouvez essayer d'étendre la réponse du serveur (s'il y en a une) par un code d'état, qui est utilisé par le client pour se stackddump. Cela ne fonctionnera que si le déclencheur fait partie de la transaction en cours, et non d'un processus sans rapport.
L'autre façon est :l'exploitation forestière massive. Faire en sorte que le SGBD écrive chaque a soumis SQL à son fichier journal. Cela peut entraîner d'énormes quantités d'entrées de journal, que vous devez inspecter.