Azure Data Studio搭配PostgreSQL时自动修改查询大小写报错如何解决
原因说明
PostgreSQL 原生规则为:未使用双引号包裹的标识符(表名、列名等)会自动转换为小写后执行匹配。你数据库中的workspaceId列是创建时使用双引号包裹才保留了大写格式,因此你查询语句中未加双引号的workspaceId会被自动转为workspaceid,才会触发列不存在的报错,该转换默认由PG引擎执行,并非编辑器主动修改你的输入内容。
解决方案
- 临时适配方案:查询时给驼峰格式的标识符加双引号包裹,修改后的语句如下:
SELECT * FROM workspaces JOIN member on workspaces.id = member."workspaceId"
所有使用驼峰命名的表名、列名均按此规则包裹即可正常查询。
- 长期规避方案:后续建库、建表时统一使用小写加下划线的命名规范(例如将
workspaceId改为workspace_id),不需要额外加双引号即可正常匹配,从根源避免大小写不匹配问题。 - 编辑器设置调整(确认是编辑器改写语句时使用):
- 打开Azure Data Studio设置页,搜索
pgsql.format.identifiers - 将「PostgreSQL: Format Identifier Case」选项调整为
preserve(保留原始大小写) - 关闭SQL自动格式化开关,避免运行/保存时编辑器自动改写你的输入内容
- 打开Azure Data Studio设置页,搜索
内容的提问来源于stack exchange,提问作者Alexy
相关产品推荐
相关产品推荐

