plpython3u
PL/Python3U 非可信过程语言
当前查看 PostgreSQL 18.6。
说明
PL/Python3U 非可信过程语言
- 种类
- 随源码提供的过程语言变体
- 操作符家族
- PL/Python
- 可信
- f
- 处理函数
- plpython3_call_handler
- 内联代码处理函数
- plpython3_inline_handler
- 校验函数
- plpython3_validator
- 库
- $libdir/plpython3
- 默认版本
- 1.0
- 模块路径
- $libdir/plpython3
- 注释
- PL/Python3U 非可信过程语言
同构建源码中的安装定义
此扩展随源码提供;收录它并不表示已安装该语言或外部运行时。
/* src/pl/plpython/plpython3u--1.0.sql */
CREATE FUNCTION plpython3_call_handler() RETURNS language_handler
LANGUAGE c AS 'MODULE_PATHNAME';
CREATE FUNCTION plpython3_inline_handler(internal) RETURNS void
STRICT LANGUAGE c AS 'MODULE_PATHNAME';
CREATE FUNCTION plpython3_validator(oid) RETURNS void
STRICT LANGUAGE c AS 'MODULE_PATHNAME';
CREATE LANGUAGE plpython3u
HANDLER plpython3_call_handler
INLINE plpython3_inline_handler
VALIDATOR plpython3_validator;
COMMENT ON LANGUAGE plpython3u IS 'PL/Python3U untrusted procedural language';手册定义
第 44 章. PL/Python — Python Procedural Language
PL/Python过程语言允许使用Python 语言编写PostgreSQL函数和过程。
要在特定数据库中安装 PL/Python,可使用CREATE EXTENSION plpython3u。
提示
如果把某种语言安装到template1中,之后创建的所有数据库都会自动安装该语言。
PL/Python 只能作为一种“不受信任的”语言使用,这意味着它不提供任何机制来限制用户能在其中做什么,因此其名称为plpython3u。如果将来能在 Python 中开发出安全的执行机制,受信任的变体plpython可能会出现。使用不受信任的 PL/Python 编写函数时,函数编写者必须确保该函数不会被用来做任何不希望发生的事情,因为它能够做到任何以数据库管理员身份登录的用户所能做的事情。只有超级用户才能在plpython3u这类不受信任的语言中创建函数。
注意
源码包用户必须在安装过程中专门启用 PL/Python 的构建(更多信息请参阅安装说明)。二进制包用户则可能会在单独的子包中找到 PL/Python。
相关条目
文档与源码
来源构建
- 版本
- 18.6
- 构建
- https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2
- 来源指纹
555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f
版本比较
PostgreSQL 17 → 18: 无变化。
比较已记录的接口与属性,排除来源指纹和构建元数据。某个样本中没有记录,不能据此判断实际引入或移除的版本。
导出 JSON · 返回过程语言 · 收录范围为 PostgreSQL 10 至 20;最早采样版本不一定是实际引入版本。