Is there a way to log the Python/Django traceback from within a PostgreSQL trigger?
Não, não há
- A consulta (SQL) é executada no servidor DBMS , assim como o código dentro do gatilho
- O código Python é executado no cliente que é um processo diferente, possivelmente executado por um usuário diferente e talvez até em uma máquina diferente.
A única conexão entre o servidor (que detecta a condição) e o cliente (que precisa realizar o stackdump) é o socket conectado. Você pode tentar estender a resposta do servidor (se houver) por algum código de status, que é usado pelo cliente para empilhar a si mesmo. Isso só funcionará se o gatilho for parte da transação atual, não de algum processo não relacionado.
A outra maneira é:registro em massa. Faça o DBMS gravar cada enviou SQL para seu arquivo de log. Isso pode causar grandes quantidades de entradas de log, que você precisa inspecionar.