更新时间:2023-12-22 GMT+08:00

GAUSS-01121 -- GAUSS-01130

GAUSS-01121: "cannot swap toast files by content when there's only one"

SQLSTATE: XX000

错误原因:在扩容充分过程中,通过gs_switch_relfilenode函数交换两张表的物理文件时,待交换两张表中其中有一张表的toast表为空,不能交换两张表的物理文件。

解决办法:删除当前表,通过create table语法重新创建表,重建当前表的物理文件。

GAUSS-01122: "cannot swap toast files by links for system catalogs"

SQLSTATE: XX000

错误原因:在扩容充分过程中,通过gs_switch_relfilenode函数交换两张表的物理文件时,不允许交换系统表的toast物理文件。

解决办法:在扩容充分过程中,通过gs_switch_relfilenode函数不允许交换系统表的物理文件,非法的操作。请确认函数的参数中是否包含有系统表的表名。

GAUSS-01123: "expected one dependency record for TOAST table, found %ld"

SQLSTATE: XX000

错误原因:在扩容充分过程中,通过gs_switch_relfilenode函数交换两张表的物理文件时,由于toast表依赖的对象数大于1个,导致交换物理文件失败。

解决办法:确认toast表在pg_depend表中依赖的对象数大于1个,如果大于1个请先删除对象的依赖后再调用该函数交换物理文件。

GAUSS-01124: "expected none dependency record for partiton's TOAST table, found %ld"

SQLSTATE: XX000

错误原因:重建分区表对分区文件进行交换操作处理时,如果待交换的表包含有toast表需要做toast表的文件交换。其中toast表有依赖对象,导致交换分区文件失败。

解决办法:对需要重建的分区表通过create table partition重新创建分区表。

GAUSS-01125: "expected one dependency record for CUDesc/Delta table, found %ld"

SQLSTATE: XX000

错误原因:在扩容充分过程中,通过gs_switch_relfilenode函数交换两张列存表的物理文件时,由于列存表依赖的对象数大于1个,导致交换物理文件失败。

解决办法:确认列存表在pg_depend表中依赖的对象数大于1个,如果大于1个请先删除对象的依赖后再调用该函数交换物理文件。

GAUSS-01126: "expected none dependency record for partiton's CUDesc/Delta table, found %ld"

SQLSTATE: XX000

错误原因:重建分区表对分区文件进行交换操作处理时,如果待交换的列存分区表需要做文件交换。其中分区列存表有依赖对象,导致交换分区文件失败。

解决办法:对需要重建的分区表通过create table partition重新创建分区表。

GAUSS-01127: "invalid statement name: must not be empty"

SQLSTATE: 42P14

错误原因:非法的语句名:语句名不能为空。

解决办法:给出明确的语句名。

GAUSS-01128: "could not determine data type of parameter $%d"

SQLSTATE: 42P18

错误原因:参数类型无法确定。

解决办法:修改参数值为系统可识别的类型,系统可识别类型《SQL语法参考》的“数据类型”章节。

GAUSS-01129: "utility statements cannot be prepared"

SQLSTATE: 42P14

错误原因:DDL命令不能使用prepare。

解决办法:DDL语句无需prepare,直接执行即可。

GAUSS-01130: "EXECUTE does not support variable-result cached plans"

SQLSTATE: XX000

错误原因:系统内部错误。

解决办法:请联系技术支持工程师提供技术支持。