2024 年 9 月 26 日: PostgreSQL 17 发布!
支持的版本:当前 (17) / 16 / 15 / 14 / 13 / 12
开发版本:devel
不支持的版本:11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2

第 44 章。PL/Python — Python 过程语言

PL/Python 过程语言允许在 PostgreSQL 函数和过程中使用 Python 语言 进行编写。

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

提示

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

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

注意

源代码包的用户必须在安装过程中专门启用 PL/Python 的构建。(有关更多信息,请参阅安装说明。)二进制包的用户可能在单独的子包中找到 PL/Python。

提交更正

如果您在文档中发现任何错误,与您对特定功能的体验不符,或者需要进一步说明,请使用 此表格 报告文档问题。