You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PostgreSQL Generated Columns在DBeaver中报语法错误的解决办法

PostgreSQL生成列(Generated Columns)在DBeaver中的执行问题

环境信息

  • PostgreSQL版本:PostgreSQL 15.1, compiled by Visual C++ build 1914, 64-bit
  • DBeaver版本:23.0.1.202303250535

问题描述

执行以下建表SQL(已知违反1NF):

CREATE TABLE employees (
  first_name VARCHAR(50),
  last_name VARCHAR(50),
  full_name VARCHAR(100) GENERATED ALWAYS AS (first_name || ' ' || last_name) STORED
);

报错信息:

SQL Error [42601]: ERROR: syntax error at or near "("

该SQL可在pgAdmin 4 version 6.15中成功执行,且查询到GitHub有相关支持Generated Columns的PR,疑问如下:

  • DBeaver是否支持Generated Columns?
  • 如何在DBeaver中成功执行该查询?

解答

DBeaver对Generated Columns的支持情况

DBeaver 23.0.1版本本身支持PostgreSQL生成列,出现语法报错大概率是SQL编辑器的语法校验/自动补全功能误判,而非数据库不支持该语法。

成功执行的解决方法

  • 忽略编辑器提示直接执行:即使编辑器显示语法错误标识,直接点击执行按钮(或按快捷键Ctrl+Enter),PostgreSQL 15本身支持该语法,通常可成功执行。
  • 关闭SQL语法校验:打开DBeaver设置(快捷键Ctrl+,),依次进入编辑器→SQL编辑器→语法校验,取消勾选"启用语法校验",或针对PostgreSQL数据源单独关闭该项。
  • 升级DBeaver版本:若上述方法无效,建议升级到DBeaver最新稳定版本,后续版本对PostgreSQL 15生成列的语法兼容性更佳。

内容的提问来源于stack exchange,提问作者Candra wijayanto

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 19:38:19