【Rust 日报】2023-05-17 pgx -- 用于在 Rust 中开发 PostgreSQL 扩展的框架

💡 原文中文,约1900字,阅读约需5分钟。
📝

内容提要

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应用程序将支持从标准输入和文件中搜索,并突出显示匹配的词。

🏷️

标签

➡️

继续阅读