Postgresql

您可以從數據庫本身執行 PL/Python 或 PL/v8 程式碼嗎?

  • January 13, 2022

可以在數據庫上執行儲存在數據庫中的程式碼。

例如,我想要一個觸發器來執行一個函式,該函式的 Javascript 程式碼儲存在同一個數據庫中。(通常,函式是預先定義的。)

這可能嗎,如果可以,我該怎麼做?

來自https://stackoverflow.com/a/45131867/129805

您可以使用“eval”,例如

create or replace function my_function()
returns text language plv8 as $$
//  load module 'test' from the table js_modules
   var res = plv8.execute("select source from js_modules where name = 'test'");
   eval(res[0].source);
//  now the function test() is defined
   return test();
$$;

select my_function();

CREATE FUNCTION
 my_function   
----------------
this is a test
(1 row)

https://rymc.io/blog/2016/a-deep-dive-into-plv8/

引用自:https://dba.stackexchange.com/questions/306029