
# Teradata SQL迁移
设置Teradata配置参数可在迁移Teradata数据库脚本时自定义迁移工具的行为。
打开conf文件夹中的features-teradata.properties文件，并根据实际需要设置[表1]中的参数。
 表1表1 features-teradata.properties文件中的配置参数 
| 参数                                                                                                                                                                                                                                                                             | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | 取值范围                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | 默认值             | 样例                                                                                                                                                                                                                                |
|:---|:---|:---|:---|:---|
| - deleteToTruncate                   | 该参数用于设置不含WHERE的DELETE语句迁移规则。 若该参数设为true，则可将DELETE迁移为TRUNCATE。若该参数设为false，则不可将DELETE迁移为TRUNCATE。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | - true  - false                                                                                                                                                                           | false           | deleteToTruncate=true                                                                                                                                                                                                             |
| - distributeByHash                       | 基于主索引中指定的字段，将数据分布在集群多个节点上。 若该参数设为one，表示数据基于主索引的首个字段分布。 若该参数设为many，表示数据基于所有主索引字段分布。 该功能通过指定DISTRIBUTE BY子句实现。 说明： 该参数在V100R002C60版本中设置为one，因为该版本不支持在DISTRIBUTE BY子句中指定多个字段。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | - one  - many                                                                                                                                                                            | many            | distributeByHash =many                                                                                                                                |
| - extendedGroupByClause                | 该参数用于启用和禁用Group By（grouping sets/cube/rollup）迁移。 若该参数设为true，则可迁移GROUP BY()。 若该参数设为false，则不可迁移GROUP BY()。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | - true  - false                                                                                                                                                                           | false           | extendedGroupByClause=false                                                                                                                                                                                                       |
| - inToExists                        | 该参数可用于启用和禁用从IN/NOT IN到EXISTS/NOT EXISTS的查询优化。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | - true  - false                                                                                                                                                                              | false           | inToExists=false                                                                                                                                                                                                                  |
| - rowstoreToColumnstore                | 该参数将rowstore（行存）表转换为COLUMN（列存）表。 如果该参数设为true，则所有rowstore表脚本迁移时会转换为columnstore表。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | - true  - false                                                                                                                                                                         | false           | rowstoreToColumnstore=false                                                                                                                                                                                                       |
| - session_mode                          | 该参数用于在运行CREATE TABLE时设置默认表类型（SET/MULTISET）。 若该参数设为Teradata，则默认表类型会配置为SET。 若该参数设为ANSI，则默认表类型会配置为MULTISET。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | - Teradata  - ANSI                                                                                                                                                                             | Teradata        | session_mode=ANSI                                                                                                                                                                                                                 |
| - tdMigrateALIAS                           | 该参数用于启用/禁用ALIAS迁移。 若该参数设为true，则迁移ALIAS。 若该参数设为false，则不迁移ALIAS。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | - true  - false                                                                                                                                                                                   | false           | tdMigrateALIAS=true                                                                                                                                                                                                               |
| - tdMigrateDOLLAR                         | 该参数用于设置迁移工具行为，从而迁移名称以$（美元符号）开头的静态对象。该参数不适用于动态对象，这些对象的名称使用${}格式。 若该参数设为true，则使用英文双引号（"）将以$开头的对象名称括起来。 若该参数设为false，则直接迁移以$开头的对象。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | - true  - false                                                                                                                                                                              | true            | tdMigrateDOLLAR=true                                                                                                                                                                                                              |
| - tdMigrateLOCKoption                      | 该参数是否迁移包含LOCK关键字的查询。 true表示在迁移此类查询时注释掉LOCK功能（LOCK到ACCESS）。 false表示不迁移此类查询。工具会跳过此查询，并记录以下消息： ``` Gauss does not have equivalent syntax for LOCK option in CREATE VIEW and INSERT statement. Please enable the config_param tdMigrateLockOption to comment the LOCK syntax in the statement. ```                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | - true  - false                                                                                                                                                                          | false           | tdMigrateLOCKoption=true                                                                                                                                                                                                          |
| - tdMigrateNULLIFZERO                    | 该参数指定是否迁移NULLIFZERO()。 若该参数设为true，则迁移NULLIFZERO()。 若该参数设为false，则不迁移NULLIFZERO()。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | - true  - false                                                                                                                                                                             | true            | tdMigrateNullIFZero=true                                                                                                                                                                                                          |
| - tdMigrateVIEWCHECKOPTION                | 该参数指定是否迁移包含CHECK OPTION的视图。 若该参数设为true，则迁移时注释掉此类视图。 若该参数设为false，则不迁移此类视图。工具将按原样复制此查询并记录以下消息： ``` Gauss does not support WITH CHECK OPTION in CREATE VIEW. Please enable the config_param tdMigrateViewCheckOption to comment the WITH CHECK OPTION syntax in the statement. ```                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | - true  - false                                                                                                                                                                              | false           | tdMigrateVIEWCHECKOPTION=true                                                                                                                                                                                                     |
| - tdMigrateZEROIFNULL                    | 该参数指定是否迁移ZEROIFNULL。 若该参数设为true，则迁移ZEROIFNULL()。 若该参数设为false，则不迁移ZEROIFNULL()。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | - true  - false                                                                                                                                                                             | true            | tdMigrateZEROIFNULL=true                                                                                                                                                                                                          |
| - volatile                            | 特定会话的volatile数据和表仅存储在该会话中。会话结束后，其数据和表会删除。 volatile表可以是表迁移表或unlogged表。 说明： V100R002C60仅支持unlogged表选项，不支持local temporary表。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | - local temporary  - unlogged                                                                                                                                                                | local temporary | volatile=unlogged                                                                                                                                                                                                                 |
| - tdMigrateCharsetCase                  | 该参数指定是否迁移CHARACTER SET和CASESPECIFIC。 若该参数设为true，则迁移CHARACTER SET和CASESPECIFIC为注释掉的脚本。 若该参数设为false，则不迁移CHARACTER SET和CASESPECIFIC。工具按原样复制查询，并在错误日志文件中记录以下消息，包括查询细节（如文件名和语句位置）： ``` ``` ``` CHARACTER SET和CASESPECIFIC是列级选项，Gauss不提供等效语法。 用户可以改写相应语句，或将tdMigrateCharsetCase参数设为true，从而注释掉CHARACTER SET和CASESPECIFIC。 ```                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | - true  - false                                                                                                                                                                                 | false           | tdMigrateCharsetCase=false 说明： 如果tdminatecharsetcase = true，则注释该字符的特殊关键字。 |
| - terdataUtilities                      | 是否支持迁移Teradata命令行工具。 支持以下参数值： - true  - false                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | - true  - false                                                                                                                                                                                 | true            | terdataUtilities=true                                                                                                                                                                                                             |
| - unique_primary_index_in_column_table   | 是否支持为列存表创建unique索引。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | - true  - false                                                                                                                                                                             | true            | unique_primary_index_in_column_table=true                                                                                                                                                                                         |
| - default_charset                     | 是否支持迁移default_charset。 支持以下参数值： - LATIN  - UNICODE  - GRAPHIC                                                                                                                                                                                                                                                                                                                                                                                                     | - LATIN  - UNICODE  - GRAPHIC   | LATIN           | default_charset=LATIN                                                                                                                                                                                                             |
| - mergeImplementation                     | 指定merge类型： - 使用WITH子句  - 拆分查询   支持以下参数值： - With  - Split  - None   | - With  - Split  - None                | None            | mergeImplementation=None                                                                                                                                                                                                          |
| - dsqlSupport                               | 是否支持dsql。 支持以下参数值： - true  - false                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | - true  - false                                                                                                                                                                                | false           | dsqlSupport=false                                                                                                                                                                                                                 |
| - tdcolumnInSensitive                  | 是否在迁移时删除包含双引号的列名称。 支持以下参数值： - true  - false                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | - true  - false                                                                                                                                                                              | false           | tdcolumnInSensitive=false                                                                                                                                                                                                         |
| - tdMigrateCASE_N                     | 指定分区关键字CASE_N的迁移方式。Gauss不支持多级（嵌套）分区。 支持以下参数值： - comment  - none                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | - comment  - none                                                                                                                                                                             | comment         | tdMigrateCASE_N=comment                                                                                                                                                                                                           |
| - tdMigrateRANGE_N                    | 指定分区关键字RANGE_N的迁移方式。Gauss不支持多级（嵌套）分区。 支持以下参数值： - comment  - none  - range                                                                                                                                                                                                                                                                                                                                                                                            | - comment  - none  - range         | range           | tdMigrateRANGE_N=range                                                                                                                                                                                                            |
| - tdMigrateAddMonth                     | 是否支持迁移addMonth。 支持以下参数值： - true  - false   若该参数设为true，则迁移后为mig_td_ext.ADD_MONTHS（添加mig_td_ext）。否则，不支持迁移。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | - true  - false                                                                                                                                                                              | false           | tdMigrateAddMonth=false                                                                                                                                                                                                           |
   
