更新时间:2025-06-04 GMT+08:00
U0000006:GaussDB不支持将XXX作为表的列名
描述
数据库类型与版本
- 源库类型与版本:所有源数据库类型。
- 目标库类型与版本:GaussDB M兼容模式。
语法示例
在GaussDB中,如下标识符是系统列名,用户自定义表中不允许使用这些标识符作为列名。
CTID, XMIN, CMIN, XMAX, CMAX, TABLEOID, XC_NODE_ID, TID, GS_TUPLE_UID, TABLEBUCKETID。如下示例在GaussDB中将不支持。
CREATE TABLE ctid_test(ctid INT);
- 迁移到GaussDB M兼容模式时,如果表列定义中使用了上述标识符作为列名,将保留这些列名不转换,并生成此错误提示。
- 迁移到GaussDB非M兼容模式时,如果表列定义中使用了上述标识符作为列名,会默认进行加双引号并转换成全大写处理(其中TID作为自定义列名从GaussDB集中式版V2.0-8.0版本开始支持,分布式版V2.0-8.100版本开始支持,在支持的版本中将保留TID作为列名不做处理)。
改造建议
如果源库中表的列名使用了上述系统列名,建议在源数据库中将其重命名成符合GaussDB对象名规范后再迁移。更多关于对象名的规范要求请参考《GaussDB开发者指南》。
父主题: 通用转换错误码