3

PostgreSQL 9.2 にはネイティブの JSON サポートがあります。ただし、人間が読める構成ファイルを YAML に保存したいと思います。そして、構成ファイルの値のいくつか (すべてではない) にインデックスを付けたいと思います。したがって、私は疑問に思っています:

  1. js-yamlなど、[Yaml を解析するサードパーティの Javascript ライブラリ] を Postgres に含めることは何とか可能ですか。次に、PostgreSQL 9.2 に組み込みの JSON ヘルパーがあるのと同じ方法で、独自の YAML Javascript ヘルパーを作成できます。

または:

  1. 個々の再利用可能な Javascript 関数を宣言することは可能ですか? もしそうなら、YAML のサブセットを解析できる独自の YAML 解析関数 (単純な正規表現に基づく) を追加できます。たとえば、ここにある最上位のキーと値のペアです。

    # some "top level key-value paris":
    the_key: 'the value'
    another_key: 'another value'
    # But this however:
    would_be_too_complicated_to_parse_manually_with_regexps: |
      block string
      with newlines
    

最悪のシナリオは、各 PostgreSQL ストアド プロシージャで YAML 解析コードを複製する必要があることです (サード パーティのライブラリを追加したり、再利用可能な関数を宣言したりできない場合)。

(私の場合、パフォーマンスはそれほど重要ではありません。)

(「postgresql plv8 reusable function」および「postgresql plv8 library」についてしばらくグーグルで検索しましたが、関連するものは何も見つかりませんでした)

4

1 に答える 1

4

pl/v8手続き型言語はおそらく進むべき道です。これは「信頼できる」言語であり、(とりわけ)「このファイルから外部モジュールをロードする」ことを行う方法を提供しないことを意味します。ただし、独自のjavascript関数を定義し、別の関数(jsかどうか)から呼び出すことができる「find_function()」メソッドがあります。このブログ投稿でその説明を参照してください:http:
//umitanuki.hatenablog.com/entry/2012/04/10/171935

于 2012-10-12T15:43:13.150 に答える