内容提要
pg_query发布了一个基于Postgres 16解析器的新版本,其中包括支持在Windows上运行和解析新的Postgres语法。该库可以解析SQL查询并返回Postgres解析树。它还引入了查询指纹以将查询分组在一起,并支持反解析以将查询升级到Postgres 16 SQL/JSON语法。新版本还包括对解析PL/pgSQL表达式的支持。社区在pg_query的发展中发挥了重要作用,团队正在考虑将pg_query的部分功能上游合并为Postgres的核心部分。
关键要点
-
pg_query发布了基于Postgres 16解析器的新版本,支持在Windows上运行和解析新的Postgres语法。
-
该库可以解析SQL查询并返回Postgres解析树,支持反解析以将查询升级到Postgres 16 SQL/JSON语法。
-
新版本引入了查询指纹功能,以将查询分组在一起,并支持解析PL/pgSQL表达式。
-
pg_query的核心功能是提供Postgres的“raw_parser”函数,支持完整的Postgres语法。
-
新版本增加了对Windows的支持,允许使用MSVC或MSYS2堆栈编译libpg_query。
-
pg_query使用查询指纹来识别跨服务器的查询,避免了Postgres原有queryid的局限性。
-
pg_query支持将查询升级到Postgres 16的SQL/JSON语法,允许将旧语法转换为新语法。
-
新版本支持PL/pgSQL表达式的解析,允许直接解析PL/pgSQL特定语法。
-
pg_query的发展离不开社区的支持,团队希望将部分功能合并到Postgres核心部分。
-
用户可以通过pg_query优化Postgres查询性能,并可以在GitHub上提出改进建议。