sql >> データベース >  >> RDS >> PostgreSQL

plv8 JavaScript言語拡張機能はサードパーティライブラリを呼び出すことができますか?

    plv8言語は信頼されているため、ファイルシステムから何かをロードする方法はありません。ただし、データベースからモジュールをロードできます。

    モジュールのソースコードを含むテーブルを作成し、selectを使用してロードします およびeval() 。アイデアを説明する簡単な例:

    create table js_modules (
        name text primary key,
        source text
    );
    
    insert into js_modules values
    ('test', 'function test() { return "this is a test"; }' );
    

    js_modulesからモジュールをロードします あなたの関数で:

    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) 
    

    エレガントなrequire()を使用したより複雑な例を見つけることができます この投稿の機能: PL/v8の詳細。 。これはplv8.start_procに基づいています (こちらの短い例 もご覧ください 。



    1. mysqlAS句

    2. コマンドラインからmysql列を取得する

    3. Windows7へのOracle12cEnterpriseEditionのインストール

    4. AWSRDSとは何ですか