2

plv8 を使用して postgres 関数を作成しようとしています。今、私は次のような方法で pgcrypt ライブラリを使用したいと思います:

CREATE OR REPLACE FUNCTION v01.myfunction(arg json) 
RETURNS json AS
$BODY$
  var res;
  res = obj.crypt(arg.password, res);
  plv8.elog(NOTICE, res);
  ...

$BODY$
LANGUAGE plv8;

crypt は pgcrypt ライブラリに付属しており、別のスキーマにあります。しかし、実行するとエラーが発生します:

ERROR:  ReferenceError: obj is not defined

何か案が?ありがとう!

4

2 に答える 2

4

はい、他のスキーマで他の PLV8 関数を呼び出すことは可能です。

ただし、関数を正しく呼び出していません。使用する

var myFunction = plv8.find_function("schemaName.functionName")

var result = myFunction();

私の知る限り、PLPGSQLとは言わずに、この方法でのみ他のPLV8関数を呼び出すことができます。

使用できますplv8.execute("select someFunctionInAnotherLanguage()")

于 2015-06-03T17:54:35.713 に答える