Postgresql
如何在 Postgres 函式中使用環境變數?
假設我有一個 Windows 使用者環境變數 SOME_STRING。
是否可以在 PL/pgSQL 函式中使用它的值?
如果沒有,我是否需要使用不受信任的語言(如 PL/pythonu)或者我可以使用受信任的語言嗎?
我在 PG 9.2
您不能直接訪問環境變數;但是您可以訪問自定義配置設置並將其設置為啟動時環境中的值。例如,您可以使用以下方式傳遞以下啟動選項
PGOPTIONS
:PGOPTIONS="-c 'custom.some_string=${SOME_STRING}'"
注意:
.
名稱中的點 ( ) 很重要。然後使用檢索值
current_setting
:SELECT current_setting('custom.some_string');
(我已經在 Linux 上嘗試過,發現它可以正常工作,在 Windows 上應該是一樣的,但可能需要稍作修改以適應該特定平台。)