Bahasa plv8 dipercaya sehingga tidak ada cara untuk memuat apa pun dari sistem file. Namun Anda dapat memuat modul dari database.
Buat tabel dengan kode sumber modul dan muat menggunakan select
dan eval()
. Contoh sederhana untuk mengilustrasikan ide:
create table js_modules (
name text primary key,
source text
);
insert into js_modules values
('test', 'function test() { return "this is a test"; }' );
Muat modul dari js_modules
dalam fungsi Anda:
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)
Anda dapat menemukan contoh yang lebih rumit dengan require()
elegant yang elegan fungsi dalam posting ini:Mendalami PL/v8 .
. Ini didasarkan pada plv8.start_proc
(lihat juga contoh singkat di sini
).