Postgresql

如何在 Postgres 函式中使用環境變數?

  • February 17, 2022

假設我有一個 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 上應該是一樣的,但可能需要稍作修改以適應該特定平台。)

引用自:https://dba.stackexchange.com/questions/52235