tree-sitter-postgres、libpgfmt、pgfmt 和 libpgdump 发布
发布于 2026-04-03,Gavin M. Roy
相关开源软件
Gavin M. Roy 发布了四个围绕 PostgreSQL 的 Rust 开源项目:
- tree-sitter-postgres:用于 Postgres(SQL + PL/pgSQL)的 Tree-sitter 语法,直接由 PostgreSQL 的 Bison 源码生成
- libpgfmt:用于格式化 SQL 和 PL/pgSQL 的 Rust 库,支持 aweber、dbt、gitlab、kickstarter、mozilla、mattmc3、river 等多种风格预设
- pgfmt:基于 libpgfmt 的命令行格式化和 lint 工具
- libpgdump:用于读写 PostgreSQL dump 文件的 Rust 库,支持 custom、directory 和 tar 格式;这是
pgdumplib 的 Rust 移植版本,并将用于后续 pgdumplib 版本
作者表示,tree-sitter-postgres 与其他同类项目最大的差异在于:它完全由 PostgreSQL 源码自动生成,因此在 PostgreSQL 新的大版本引入关键字或语法变化后,可以更容易保持语法同步更新。
libpgfmt 与 pgfmt 最初是为了支持 AWeber SQL 风格指南 而开发,但设计上支持多种 SQL 风格。