Nei*_*gan 8 postgresql plpgsql environment-variables
假设我有一个 Windows 用户环境变量 SOME_STRING。
是否可以在 PL/pgSQL 函数中使用它的值?
如果没有,我是否需要使用不受信任的语言(如 PL/pythonu),或者我可以使用受信任的语言吗?
我在 PG 9.2
您不能直接访问环境变量;但是您可以访问自定义配置设置并将其设置为启动时环境中的值。例如,您可以使用PGOPTIONS
以下方法传递以下启动选项:
PGOPTIONS="-c 'custom.some_string=${SOME_STRING}'"
Run Code Online (Sandbox Code Playgroud)
注意:名称中的点 ( .
) 很重要。
然后使用current_setting
以下方法检索值:
SELECT current_setting('custom.some_string');
Run Code Online (Sandbox Code Playgroud)
(我已经在 Linux 上尝试过这个,发现它可以工作,对于 Windows 应该是一样的,但可能需要一些轻微的修改来迎合那个特定的平台。)