更新时间:2023-03-17 GMT+08:00

Teradata SQL配置

设置Teradata配置参数可在迁移Teradata数据库脚本时自定义迁移工具的行为。

打开config文件夹中的features-teradata.properties文件,并根据实际需要设置表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

该参数用于启用和禁用3(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 STORE(列存)表。

如果该参数设为true,则所有rowstore表脚本迁移时会转换为columnstore表。

  • true
  • false

false

rowstoreToColumnstore=false

  • session_mode

该参数用于在运行CREATE TALBE时设置默认表类型(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.
说明:

详情请参见ACCESS LOCK

  • true
  • false

false

tdMigrateLOCKoption=true

  • tdMigrateNULLIFZERO

该参数指定是否迁移NULLIFZERO()。

若该参数设为true,则迁移NULLIFZERO()。

若该参数设为false,则不迁移NULLIFZERO()。

  • true
  • false

true

tdMigrateNullIFZero=true

  • tdMigrateVIEWCHECKOPTION

该参数指定是否迁移包含CHECK OPTION的视图。

若该参数设为true,则迁移时注释掉此类视图。

若该参数设为false,则不迁移此类视图。工具将按原样复制此查询并记录以下消息:

1
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表可以是local temporary表或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 SETCASESPECIFIC是列级选项,Gauss不提供等效语法。
用户可以改写相应语句,或将tdMigrateCharsetCase参数设为true,从而注释掉CHARACTER SETCASESPECIFIC
  • 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