PostgreSQL PL / Python: вызов хранимой процедуры в virtualenv
Когда я вызываю хранимую процедуру PostgreSQL PL / Python в моем приложении Python, кажется, что она выполняется в отдельном процессе, работающем как пользовательpostgres
, До сих пор это имело только побочный эффект, так как я должен был сделать свой лог-файл доступным для записи как для себя, так и для пользователя базы данных, поэтому приложение и хранимая процедура могут писать в него.
Однако теперь я начал использоватьvirtualenv
и добавил ряд.pth
файлы к моему~/.virtualenvs/virt_env/lib/python2.7/site-packages/
папка, которая добавляет пути к моим модулям в путь Python.
Когда хранимая процедура выполняется, пользовательpostgres
находится не в той же виртуальной среде, что и я, поэтому хранимая процедура не находит мои модули. Я могу изменитьPYTHONPATH
вглобальная среда PostgreSQL, но я должен изменить это каждый раз, когда я переключаю виртуальные среды - что-то вроде цели virtualenv ...
Как я могу расширить путь Python для хранимых процедур?
ОБНОВИТЬ:
A аналогичный вопрос был задан вопрос и было разрешено изменить переменную окружения PYTHONPATH в Postgres; однако, похоже, чтостандартного способа указания переменных среды для PostgreSQL не существует; по крайней мере, это не жизнеспособное решение для Mac OSX.