PostgreSQL 中文参考文档
🌐 英文原版 官方 ↗

Chapter 44. PL/Python — Python 过程语言

Table of Contents

44.1. PL/Python 函数
44.2. 数据值
44.2.1. 数据类型映射
44.2.2. Null, None
44.2.3. 数组、列表
44.2.4. 复合类型
44.2.5. 集合返回函数
44.3. 共享数据
44.4. 匿名代码块
44.5. 触发器函数
44.6. 数据库访问
44.6.1. 数据库访问函数
44.6.2. 捕获错误
44.7. 显式子事务
44.7.1. 子事务上下文管理器
44.8. 事务管理
44.9. 实用工具函数
44.10. Python 2 与 Python 3
44.11. 环境变量

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

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

Tip

如果把一种语言安装到 template1 中,之后创建的 所有数据库都会自动安装该语言。

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

Note

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