本页
    
    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;