9.3 9.4 9.5 9.6 10 11 12 13 14 15
阿里云PostgreSQL 问题报告 纠错本页面

第 46 章 PL/Python — Python 过程语言

目录

46.1. PL/Python 函数
46.2. 数据值
46.2.1. 数据类型映射
46.2.2. Null, None
46.2.3. 数组、列表
46.2.4. 组合类型
46.2.5. 集合返回函数
46.3. 共享数据
46.4. 匿名代码块
46.5. 触发器函数
46.6. 数据库访问
46.6.1. 数据库访问函数
46.6.2. 捕捉错误
46.7. 显式子事务
46.7.1. 子事务上下文管理器
46.8. 事务管理
46.9. 实用函数
46.10. Python 2 vs. Python 3
46.11. 环境变量

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

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

提示

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

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

注意

源码包的用户必须在安装过程中特别地启用 PL/Python 的编译(更多信息请参考安装指导)。二进制包的用户可以在一个单独的子包中找到 PL/Python。