本页
plv8: JavaScript语言
plv8
扩展允许你在Postgres中使用JavaScript。
概述
虽然Postgres原生运行SQL,但它也可以运行其他 “程序语言”。
plv8
允许你运行JavaScript代码-特别是任何在V8 JavaScript引擎上运行的代码。
它可以用于数据库函数、触发器、查询等。
使用方法
启用扩展
创建plv8
函数
用plv8
编写的函数和其他PostgreSQL函数一样,只是 语言标识符设置为plv8
。
create or replace function function_name()
returns void as $$
// V8 JavaScript
// code
// here
$$ language plv8;
你可以像其他Postgres函数一样调用plv8
函数:
示例
标量函数
一个标量函数是接受某些用户输入并返回单个结果。
create or replace function hello_world(name text)
returns text as $$
let output = `Hello, ${name}!`;
return output;
$$ language plv8;
正在执行SQL
可以使用plv8.execute
函数在plv8
代码中执行SQL。
create or replace function update_user(id bigint, first_name text)
returns smallint as $$
var num_affected = plv8.execute(
'update profiles set first_name = $1 where id = $2',
[first_name, id]
);
return num_affected;
$$ language plv8;
设置返回函数
一个set-returning函数可以返回一整套结果–例如,表中的行。
create or replace function get_messages()
returns setof messages as $$
var json_result = plv8.execute(
'select * from messages'
);
return json_result;
$$ language plv8;