首页
/ Postgres语言服务器0.3.0版本发布:新增语句执行功能

Postgres语言服务器0.3.0版本发布:新增语句执行功能

2025-06-11 18:11:56作者:咎岭娴Homer

Postgres语言服务器是一个为PostgreSQL数据库开发提供语言支持的开发工具,它能够为SQL开发提供智能补全、语法检查等IDE功能。最新发布的0.3.0版本带来了多项改进和新特性,其中最引人注目的是新增的语句执行功能,这将显著提升开发者的工作效率。

语句执行功能详解

0.3.0版本的核心新特性是允许开发者在IDE中直接执行SQL语句。这一功能特别适合快速迭代和测试函数逻辑的场景。要启用此功能,开发者需要在postgrestools.jsonc配置文件中设置db.allowStatementExecutionAgainst属性,该属性是一个包含<主机模式>/<数据库名称模式>字符串的数组。

这个功能的设计考虑到了安全性问题,通过显式的配置要求来防止意外执行。当开发者将光标定位在SQL语句上时,可以通过Code Actions菜单选择执行该语句,执行结果将直接在IDE中显示。

重要问题修复

本次版本修复了多个早期用户报告的问题:

  1. 修复了CTE(公共表表达式)相关的解析问题
  2. 解决了文档中的拼写错误
  3. 修复了Tree-sitter在编辑变更时可能导致的崩溃问题
  4. 改进了带选项视图的处理
  5. 优化了版本管理逻辑
  6. 改进了工作流持续集成
  7. 使用字节索引提高准确性
  8. 增强了语句执行的可靠性

这些修复显著提升了工具的稳定性和用户体验,特别是在处理复杂SQL结构时的表现。

架构优化

开发团队对项目内部结构进行了多项重构:

  1. 将LSP转换器移至专门的lsp模块
  2. 将工作区特性移至独立模块
  3. 将获取光标位置的功能移至适配器层

这些架构调整提高了代码的可维护性和扩展性,为未来功能的开发奠定了基础。

开发工具链改进

项目还进行了多项开发工具链的优化:

  1. 修复了代码生成中的bug
  2. 添加了日志查看命令
  3. 完善了安装文档
  4. 增加了测试覆盖率
  5. 优化了cargo check和cargo clippy的使用
  6. 改进了文档部署策略
  7. 升级了pg_query和相关子模块
  8. 增强了日志系统

这些改进使得项目的开发流程更加顺畅,也为贡献者提供了更好的开发体验。

总结

Postgres语言服务器0.3.0版本通过新增的语句执行功能和多项问题修复,为PostgreSQL开发者提供了更加强大和稳定的开发工具。这个版本不仅提升了开发效率,也通过架构优化为未来的功能扩展打下了良好基础。对于使用PostgreSQL进行开发的团队来说,这是一个值得升级的版本。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
27
11
docsdocs
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
469
3.48 K
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
10
1
leetcodeleetcode
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
65
19
flutter_flutterflutter_flutter
暂无简介
Dart
716
172
giteagitea
喝着茶写代码!最易用的自托管一站式代码托管平台,包含Git托管,代码审查,团队协作,软件包和CI/CD。
Go
23
0
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
208
83
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.27 K
695
rainbondrainbond
无需学习 Kubernetes 的容器平台,在 Kubernetes 上构建、部署、组装和管理应用,无需 K8s 专业知识,全流程图形化管理
Go
15
1
apintoapinto
基于golang开发的网关。具有各种插件,可以自行扩展,即插即用。此外,它可以快速帮助企业管理API服务,提高API服务的稳定性和安全性。
Go
22
1