Postgresql 中文操作指南

Chapter 46. PL/Python — Python Procedural Language

Table of Contents

PL/Python 过程语言允许在 Python language 中编写 PostgreSQL 函数和过程。

要将 PL/Python 安装到特定数据库中,请使用 CREATE EXTENSION plpython3u

Tip

如果将语言安装到 template1 中,则随后创建的所有数据库都将自动安装此语言。

PL/Python 仅可用作“不受信任”的语言,这意味着它不提供任何方法来限制用户在其中可以执行的操作,因此被命名为 plpython3u 。如果在 Python 中开发出一种安全执行机制,将来可能会出现 plpython 可信变体。不受信任的 PL/Python 中函数的编写者必须注意该函数不能用于执行任何不需要的操作,因为它将能够执行数据库管理员以用户身份登录后可以执行的所有操作。只有超级用户才能在如 plpython3u 等不受信任的语言中创建函数。

Note

源程序包的用户必须在安装过程中专门启用 PL/Python 的编译。(请参阅安装说明以了解更多信息。)二进制程序包的用户可能会在单独的子程序包中找到 PL/Python。