部署:华为云MPP(DWS)
下面介绍的开发环境为 postgresql 10.4
;
初始操作参考官方文档.
遇到的问题
1.数据库编码
默认的编码不是 UTF-8
如果有需要
1 | create |
2.分布列
MPP 在表结构中, 有一个分布列的概念, 默认为主键, 否为为当前表的第一个字段.
如果没有主键的表, 可以指定分布列.
数据存储方式为 行存储.
备份的表结构中会有特殊 SQL参数, 不一定能还原到开发环境.
解决方法:
- 单独备份表结构与数据
- 对结构进行修改, 还原表结构
- 还原数据
3.数据存储长度
在我们开发环境中, varchar(4)
是可以存储 4个汉字的, 但是在MPP中, 根据官方文档介绍, 只能存1个汉字.
也就是说, 在开发库还原到线上之前, 需要对数据的长度进行一次处理.
可以根据下面的系统表查询出所需要修改的字段, 进行统一修改:
1 | select table_name, column_name, data_type, character_maximum_length |
4.数据类型
判断条件中的 flag=true
是错误的.