↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

百科 / 过程语言 / PL/Python

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;最早采样版本不一定是实际引入版本。