PostgreSQL 9.2具有本机JSON支持。但是,我想在YAML中存储人类可读的配置文件。我想我想索引一些(但不是全部)配置文件值。所以我想知道:
可替换地:
是否可以声明个别可重用的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可重用函数”和“ postgresql plv8库”,但没有发现任何相关性)
答案 0 :(得分:3)
pl / v8程序语言可能是要走的路。它是一种“可信”的语言,这意味着(除其他外)它不提供任何方式来执行“从此文件加载外部模块”的事情。但它确实有一个'find_function()'方法让你定义自己的javascript函数并从另一个函数(js或不是js)调用它。请参阅此博客文章中的描述:
http://umitanuki.hatenablog.com/entry/2012/04/10/171935