由于系统自带的元数据查询模板适配的Kingbase的版本较低,而相同数据库不同的版本之前元数据的存储已经查询语法有差异,导致在高版本的可能无法正确的执行查询,如下图:

可尝试采用下方兼容查询模板(复制下方的的模板替换原有的数据库模板):

兼容模板:
SELECT
col.table_schema AS schema_name,
col.TABLE_NAME AS tbl_def_key,
col.ordinal_position AS order_value,
col.COLUMN_NAME AS def_key,
d.description AS def_name,
'' AS intro,
CASE
WHEN col.DATA_TYPE = 'USER-DEFINED'
THEN regexp_replace(col.COLUMN_TYPE, '\(\d+\)$', '')
ELSE col.DATA_TYPE
END AS db_data_type,
CASE WHEN col.character_maximum_length IS NULL AND col.numeric_precision IS NOT NULL THEN col.numeric_precision::bigint
ELSE col.character_maximum_length
END AS data_len,
CASE WHEN col.numeric_precision IS NOT NULL THEN (CASE WHEN col.numeric_scale = 0 THEN NULL ELSE col.numeric_scale END)
ELSE NULL
END AS num_scale,
CASE WHEN kc.column_name IS NOT NULL THEN 1 ELSE 0 END AS primary_key,
CASE WHEN col.IS_NULLABLE = 'NO' THEN 1 ELSE 0 END AS not_null,
CASE WHEN col.COLUMN_DEFAULT LIKE 'nextval%' THEN 1 ELSE 0 END AS auto_increment,
-- substr(col.column_default,0,strpos(col.column_default, concat('::',col.data_type))) AS default_value
CASE
WHEN strpos(col.column_default, concat('::',col.data_type)) = 0 THEN (CASE
WHEN col.column_default LIKE 'nextval%' THEN ''
ELSE col.column_default
END)
ELSE substr(col.column_default,0,strpos(col.column_default, concat('::',col.data_type))-1)
END AS default_value
FROM
information_schema.COLUMNS col LEFT JOIN (information_schema.key_column_usage kc JOIN information_schema.table_constraints tc
ON
kc.constraint_name = tc.constraint_name
and tc.constraint_type = 'PRIMARY KEY'
and kc.table_schema=tc.table_schema
and kc.table_name=tc.table_name --25.1.11 tc.table_schema
) ON
col.TABLE_NAME = kc.table_name
AND col.COLUMN_NAME = kc.column_name
AND col.table_schema=kc.table_schema --25.1.11
LEFT JOIN pg_class C ON C.relname = col.TABLE_NAME
JOIN pg_namespace n ON col.table_schema = n.nspname AND c.relnamespace = n.oid
LEFT JOIN pg_description d ON d.objoid = C.oid AND d.objsubid = col.ordinal_position
WHERE
col.table_schema IN (:schemaName)
AND CONCAT(TRIM(col.table_schema), '.', TRIM(col.TABLE_NAME)) IN (:sysTableNames)
AND col.table_schema IN (:schemaName)
ORDER BY
col.table_schema, col.TABLE_NAME asc,col.ordinal_position ASC