一个用于 PostgreSQL 的 Rust 过程语言处理程序
PL/Rust 是一种可加载的过程语言,可用于在 Rust 编程语言中编写 PostgreSQL 函数。这些函数会被编译为原生机器代码。与其他过程语言不同,PL/Rust 函数不会被解释。PL/Rust 的主要优点包括编写原生编译的函数,以实现绝对最佳性能;访问 Rust 的庞大开发生态系统;以及 Rust 的编译时安全性保障。
PL/Rust 提供了对 Postgres 服务器编程接口 (SPI) 的访问权限,包括动态查询、预编译语句和游标。此外,它还提供了对大多数 Postgres 内置 数据类型 的安全 Rust 类型,包括 (但不限于) TEXT、INT/BIGINT、NUMERIC、FLOAT/DOUBLE PRECISION、JSON/JSONB、数组等。您还可以使用 PL/Rust 编写 触发函数。
在 x86_64 和 aarch64 Linux 系统上,PL/Rust 可以是一个 "可信的" 过程语言,前提是满足适当的编译要求。在其他系统上,它可以作为一个 "不可信的" 语言使用,但无法提供相同的安全保障。
psql> CREATE FUNCTION add_two_numbers(a NUMERIC, b NUMERIC) RETURNS NUM暂无开放 Issues,或尚未同步最近议题。