数据库和应用迁移 UGO-GoldenDB To GaussDB配置项使用说明

时间:2024-05-29 09:22:21

GoldenDB To GaussDB 配置项使用说明

问题描述

配置建议

建议值

GaussDB 3.2 企业版开始支持指定表的字符集。

建议配置“字符集”解决该类问题。

如果目标库不支持CHARSET,注释CHARSET。

GaussDB 3.2 企业版开始支持指定表的排序规则。

建议配置“排序规则”解决该类问题。

如果目标库不支持COLLATE,注释COLLATE。

GaussDB不支持视图的SECURITY子句。

建议配置“SQL SECURITY子句”解决该类问题。

迁移SECURITY子句。

GaussDB不支持视图的CHECK OPTION子句。

建议配置“视图检查选项”解决该类问题。

迁移CHECK OPTION。

GaussDB列定义不支持on update选项。

建议配置“迁移脚本,使用触发器实现on update”解决该类问题。

迁移脚本,使用触发器实现on update。

GaussDB分布式不支持生成列。

建议配置“表生成列”解决该类问题。

说明:

仅GaussDB分布式有此特性。

注释生成列表达式,生成列变成普通列。并通过触发器给该列设置值。

GaussDB不支持分区键不支持多个键。

建议配置“分区表多列分区键”解决该类问题。

使用主键或唯一键的第一列作为分区键。

GaussDB不支持分区键和子分区键相同。

建议配置“子分区和父分区分区键相同”解决该类问题。

注释子分区。

GaussDB临时表不支持自增列。

建议配置“临时表自增列”解决该类问题。

注释自增选项。

GaussDB分布式不支持外键约束。

建议配置“外键约束”解决该类问题。

说明:

仅GaussDB分布式有此特性。

注释外键约束。

GaussDB不支持数据库对象中使用Definer。

建议配置“对象定义者”解决该类问题。

如果创建对象时指定用户,将转换为ALTER OWNER。

部分数据类型经UGO转换后范围变大。

建议配置“数据类型check约束”解决该类问题。

添加check约束。

GaussDB 不支持某些MySQL的系统权限,系统权限授予失败。

建议配置“系统权限”解决该类问题。

注释整个SQL脚本。

GaussDB不支持无符号浮点数和定点数。

建议配置“无符号浮点和定点类型转换”。

注释UNSIGNED、ZEROFILL属性。

GaussDB不支持ZEROFILL关键字。

建议配置“ZEROFILL关键字转换”。

注释ZEROFILL关键字,且如果原来没有UNSIGNED则添加UNSIGNED关键字。

增加MySQL到GaussDB存储过程和函数转化后语句的扩展性。

建议配置“存储过程或者函数添加‘or replace’”。

创建函数或者存储过程create关键字后不添加“or replace”关键字。

GaussDB中主键或唯一键必须是分布键的超集。

建议配置“Range/List分布转换”解决该类问题。

说明:

仅GaussDB分布式有此特性。

转换Range/List分布子句,并将分布键添加到主键中。

GaussDB建表语句不支持LONGBLOB数据类型

建议配置 “LONGBLOB类型转换” 解决该类问题

迁移脚本,将LONGBLOB类型转换为BYTEA类型。

创建索引过程不阻塞DML操作

建议配置:“CREATE INDEX的CONCURRENTLY子句”解决该类问题

建议值:如果业务非常需要这个功能,建议选择添加CONCURRENTLY关键字选项。

影响:创建这类索引时候,容易造成死锁,同时对Astore的表索引的创建比正常更长。

GaussDB 不允许未被双引号引用的保留关键字作为对象名称。

建议配置”含有保留关键字符的对象名称大小写转换“解决该类问题。

说明:

优先级高于配置“对象名称大小写转换”。

如果对象名称中含有保留关键字,将该名称转换为大写字母。

GaussDB索引及约束命名唯一性范围与MySQL不同,当发生冲突时,可根据需求设置此配置项完成名称映射配置,以保证唯一性。

建议配置:“索引/约束名称防止重名”解决该类问题。

建议值: 将表名与索引/约束名称拼接防止命名冲突,当拼接后的名称超过63字节时使用SHA-1进行散列。

影响:同时解决命名冲突问题和超长问题,但是当拼接名称超长时将丧失名称的可读性。

support.huaweicloud.com/usermanual-ugo/zh-cn_topic_0000001888973356.html