Я получаю следующую ситуацию с функцией PostgreSQL
plpython3u
.
Недавно я добавил переменную envinronment в мой файл запуска оболочки. Команда env | grep MY_VAR
возвращает MY_VAR=/path/
. Но когда я запускаю запрос select * from my_func();
из командной строки psql, функция сообщает, что переменная envinronment имеет значение None
.
create or replace function my_func()
returns int as
$$
import os
for k, v in os.environ.items():
plpy.info(k + ':' + v)
MY_VAR = os.getenv('MY_VAR')
if MY_VAR is None:
plpy.info('was not found')
return -1
plpy.info('MY_VAR:' + MY_VAR)
return 0
$$ language 'plpython3u';
returns int AS
. for k, v in os.environ.items(): ...
печатает все переменные, кроме той, которую я ищу за. MY_VAR
как-то не хватает.
Пожалуйста, совет. Почему функция не может найти MY_VAR
?
Обновление
Команда \! env
в командной строке psql
также содержит список MY_VAR