Глава 43. PL/Python — процедурный язык Python
- Содержание
- 43.1. Python 2 и Python 3
- 43.2. Функции на PL/Python
- 43.3. Значения данных
- 43.1. Python 2 и Python 3
- 43.3.1. Сопоставление типов данных
- 43.3.2. Null, None
- 43.3.3. Массивы, списки
- 43.3.4. Составные типы
- 43.3.5. Функции, возвращающие множества
- 43.3.2. Null, None
- 43.3.1. Сопоставление типов данных
- 43.4. Совместное использование данных
- 43.5. Анонимные блоки кода
- 43.6. Триггерные функции
- 43.7. Обращение к базе данных
- 43.5. Анонимные блоки кода
- 43.7.1. Функции обращения к базе данных
- 43.7.2. Обработка ошибок
- 43.7.1. Функции обращения к базе данных
- 43.8. Неявные подтранзакции
- 43.8.1. Менеджеры контекста подтранзакций
- 43.8.2. Старые версии Python
- 43.8.1. Менеджеры контекста подтранзакций
- 43.9. Вспомогательные функции
- 43.10. Переменные окружения
Процедурный язык PL/Python позволяет писать функции PostgreSQL на языке Python.
Чтобы установить PL/Python в определённую базу данных, выполните команду CREATE EXTENSION plpythonu, либо запустите в оболочке системы createlang plpythonu имя_данных (но смотрите также Раздел 43.1).
Подсказка: Если язык устанавливается в template1, он будет автоматически установлен во все создаваемые впоследствии базы данных.
PL/Python представлен только в виде "недоверенного" языка, что означает, что он никаким способом не ограничивает действия пользователей, и поэтому он называется plpythonu. Доверенная вариация plpython может появиться в будущем, если в Python будет разработан безопасный механизм выполнения. Автор функции на недоверенном языке PL/Python должен позаботиться о том, чтобы эту функцию нельзя было использовать не по назначению, так как она может делать всё, что может пользователь с правами администратора баз данных. Создавать функции на недоверенных языках, таких как plpythonu, разрешено только суперпользователям.
Замечание: Пользователи, имеющие дело с исходным кодом, должны явно включить сборку PL/Python в процессе установки. (За дополнительными сведениями обратитесь к инструкциям по установке.) Пользователи двоичных пакетов могут найти PL/Python в отдельном модуле.
Пред. | Начало | След. |
Внутренние особенности PL/Perl | Уровень выше | Python 2 и Python 3 |