PL 矩阵
来自 PostgreSQL 维基
跳转到导航跳转到搜索此页面提供 PostgreSQL 已知过程语言处理程序的列表。
语言 | 处理程序 | 状态 | 可用性 | 命名参数? | OUT 参数? | (不)可信 | 备注 |
---|---|---|---|---|---|---|---|
C# | PL/dotnet | Beta | pl/dotnet | 是 | 是 | 不可信 | 使用 CREATE EXTENSION 安装 |
F# | PL/dotnet | Beta | pl/dotnet | 是 | 是 | 不可信 | 使用 CREATE EXTENSION 安装 |
Haskell | PL/Haskell | 生产 | PL/Haskell | ? | ? | 可信和不可信 | |
Java | PL/Java | 生产 | PL/Java | 是 | 部分(没有 INOUT) | 可信和不可信,两者都 可配置 | 使用 CREATE EXTENSION 安装 |
JavaScript | PL/v8 | 生产 | pl/v8js | 是 | 是 | 可信 | 使用 CREATE EXTENSION 安装 |
Julia | PL/Julia | ? | pl/julia | ? | ? | 不可信 | 使用 CREATE EXTENSION 安装 |
LOLCODE | PL/lolcode | Alpha | pl/lolcode | 是 | ? | ? | |
Lua | pl/lua (ng) | 生产 | pl/lua (ng) | 是 | 是 | 可信和不可信 | 使用 CREATE EXTENSION 安装 |
Perl | PL/Perl | 生产 | 内核 | 否 | 否 | 可信和不可信 | |
PHP | PL/PHP | Beta | pl/php | 是 | ? | ? | |
PL/pgSQL | PL/pgSQL | 生产 | 内核 | 是 | 是 | 可信 | 默认编译 |
Python | PL/Python | 生产 | 内核 | 是 | 从 8.4 开始支持一个 OUT 参数,从 9.1 开始支持多个 OUT 参数 | 不可信 | |
R | PL/R | 生产 | PL/R | 是 | 否 | 不可信 | |
Ruby | PL/Ruby | ? | pl/ruby | ? | ? | ? | |
Rust | PL/Rust | 生产 | PL/Rust | 是 | 否 | 可信和不可信 | 使用 CREATE EXTENSION 安装 |
Scheme | PL/scheme | ? | pl/scheme | 是 | 是 | 可信和不可信 | |
Shell | PL/sh | 生产 | PL/sh | 否(没有用) | 否 | 不可信 | |
SQL | 无 | 生产 | 内核 | 是(版本 9.2+ | 是 | 可信 | 默认可用 |
Tcl | PL/Tcl | 生产 | 内核 | 否 | 否 | 可信和不可信 | |
XSLT | PL/XSLT | Alpha | pl/xslt | 是 | 否 | 不可信 | 使用 CREATE EXTENSION 安装 |
注意:所有语言都允许在函数参数列表声明中使用参数名称。命名参数 列表示函数体是否可以按这些名称引用参数,或者是否必须使用诸如 $1、$2 等符号。
注意:所有语言都支持明确标记为 IN 参数的参数。除非另有说明,支持 OUT 参数的语言也支持 INOUT 参数。