
# GaussDB集中式/分布式与DWS字段类型映射
Migration会根据源端的字段类型按默认规则转换成目的端字段类型，并以此完成自动建表和实时同步。
#### 字段类型映射规则
当源端为GaussDB，目的端为DWS时，支持的字段类型请参见下表，以确保数据完整同步到目的端。
表1GaussDB \> DWS支持的字段类型 
| 类别                                                   | 数据类型（GaussDB）               | 数据类型（DWS）    | 说明                                                               |
|:---|:---|:---|:---|
| 字符串                                                  | CHAR(M)                     | CHAR(M)      | 固定长字符串，空格填充。                                                     |
| 字符串                                                  | VARCHAR(M)                  | VARCHAR(M)   | 有限制的变长字符串。                                                       |
| 字符串                                                  | TEXT                        | TEXT         | 无限制的变长字符串，类似没有长度声明词的VARCHAR。                                     |
| 数值                                                   | BOOLEAN                     | BOOL         | 逻辑布尔值（真/假）。                                                      |
| 数值                                                   | SMALLINT                    | SMALLINT     | 即int2。                                                           |
| 数值                                                   | INTEGER                     | INTEGER      | 即int/int4。                                                       |
| 数值                                                   | BIGINT                      | BIGINT       | 即int8。                                                           |
| 数值                                                   | DECIMAL(M,D)                | DECIMAL(M,D) | 可选择精度的精确数字。                                                      |
| 数值                                                   | NUMERIC(M,D)                | NUMERIC(M,D) | 与NUMERIC等效。                                                      |
| 数值                                                   | REAL                        | REAL         | 单精度浮点数（4字节）。                                                     |
| 数值                                                   | DOUBLE                      | DOUBLE       | 即DOUBLE PRECISION，也可用没有精度的FLOAT表示，双精度浮点数（8字节）。                   |
| 日期时间  | DATE                        | TIMESTAMP    | 源端为日期（1970-01-01），到目的端类型会变成日期+时间的timestamp（1970-01-01 00:00:00）。 |
| 日期时间  | TIME(M)                     | TIME         | 一天中的时间（08:00:00）。                                                |
| 日期时间  | TIME(M) WITH TIME ZONE      | TIMETZ       | 即TIMETZ，一天中的时间（08:00:00），带有时区。                                   |
| 日期时间  | TIMESTAMP(M)                | TIMESTAMP    | 包括日期和时间（1970-01-01 00:00:00），无时区。                                |
| 日期时间  | TIMESTAMP(M) WITH TIME ZONE | TIMESTAMPTZ  | 即TIMESTAMPTZ，包括日期和时间（1970-01-01 00:00:00），带有时区。                  |
| 日期时间  | INTERVAL                    | INTERVAL     | 时间间隔。                                                            |
| 二进制                                                  | BYTEA                       | BYTEA        | 二进制数据（"字节数组"）。                                                   |
| 特殊类型                                                 | MONEY                       | MONEY        | 存储固定小数精度的货币数字，如 $1,000.00。                                       |
   
