PL/Python – процедурный язык Python
Эта страница переведена при помощи нейросети GigaChat.
Процедурный язык PL/Python позволяет писать функции и процедуры PostgreSQL на языке Python.
Для установки PL/Python в конкретной базе данных используйте CREATE EXTENSION plpython3u
.
Если язык установлен в template1
, все последующие созданные базы данных будут иметь установленный язык автоматически.
PL/Python доступен только как «недоверенный» язык, что означает, что он не предлагает никакого способа ограничения того, что пользователи могут делать в нем, и поэтому называется plpython3u
. Доверенная версия plpython
может стать доступной в будущем, если будет разработан механизм безопасного выполнения в Python. Автор функции в недоверенной версии PL/Python должен позаботиться о том, чтобы функция не могла быть использована для выполнения нежелательных действий, поскольку она сможет выполнять любые действия, которые могли бы быть выполнены пользователем, вошедшим в систему в качестве администратора базы данных. Только суперпользователи могут создавать функции на ненадежных языках, таких как plpython3u
.
Пользователи исходных пакетов должны специально включить сборку PL/Python во время процесса установки. Пользователи двоичных пакетов могут найти PL/Python в отдельном подпакете.