Перейти к основному содержимому

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 в отдельном подпакете.