【Rust 日报】2023-05-17 pgx -- 用于在 Rust 中开发 PostgreSQL 扩展的框架
内容提要
pgx是一个用于在Rust中开发PostgreSQL扩展的框架,支持Postgres v10-v14。它具有完全托管的开发环境,自动架构生成,安全第一等特点。使用cargo-pgrx子命令可以初始化开发环境、创建新的扩展、运行扩展程序并进行交互式测试、对扩展进行单元测试和创建安装包。另外,本文介绍了如何在Rust中构建一个简单的grep CLI应用程序,涵盖了终端中的stdin操作、文件I/O、构建CLI界面等主题。
关键要点
-
pgx是一个用于在Rust中开发PostgreSQL扩展的框架,支持Postgres v10-v14。
-
pgx具有完全托管的开发环境,自动架构生成和安全第一等特点。
-
使用cargo-pgrx子命令可以初始化开发环境、创建新的扩展、运行扩展程序并进行交互式测试。
-
pgx支持跨多个PostgreSQL版本对扩展进行单元测试,并可以创建安装包。
-
Rust类型自动映射到PostgreSQL,确保内存管理遵循Rust的drop语义。
-
安装cargo-pgrx并初始化开发环境的命令为:cargo install --locked cargo-pgrx 和 cargo pgrx init。
-
创建新扩展的命令为:cargo pgrx new my_extension,生成的目录包含Cargo.toml、控制文件和源代码。
-
运行扩展的命令为:cargo pgrx run,可以在Postgres中加载扩展并执行示例函数。
-
文章还介绍了如何在Rust中构建一个简单的grep CLI应用程序,涵盖stdin操作、文件I/O和CLI界面构建等主题。
-
构建的grep应用程序将支持从标准输入和文件中搜索,并突出显示匹配的词。