sql >> Databáze >  >> RDS >> PostgreSQL

Log Stacktrace aktuálního Python Interpreteru přes PostgreSQL trigger

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

Ne, není

  • Dotaz (SQL) se provádí na serveru DBMS , stejně jako kód uvnitř spouštěče
  • Kód Pythonu se spouští na klientovi což je jiný proces, možná prováděný jiným uživatelem a možná dokonce na jiném počítači.

Jediným spojením mezi serverem (který detekuje stav) a klientem (který potřebuje provést stackdump) je připojený soket. Můžete zkusit rozšířit odpověď serveru (pokud existuje) o nějaký stavový kód, který klient používá k samotnému stackddump. To bude fungovat pouze v případě, že je spouštěč součástí aktuální transakce, nikoli nějakého nesouvisejícího procesu.

Druhý způsob je:masivní těžba dřeva. Nechte DBMS zapisovat každý odeslal SQL do svého logfilu. To může způsobit velké množství položek protokolu, které musíte zkontrolovat.



  1. Dynamický SQL (předávání názvu tabulky jako parametru)

  2. Streamování MySql ResultSet s pevným počtem výsledků najednou

  3. MySQL:Automatické zvýšení dočasného sloupce v příkazu select

  4. Parametrizované dotazy PHP/MySQL