Redshiftの文字データ型について注意点

投稿者: | 2016年4月22日

Redshiftで文字データ型を扱う際に注意点があります。
Redshiftは固定長文字列の定義を文字数でなくバイト数で定義します。
varchar(10)と定義した場合は10バイトの定義となります。
半角文字であれば10文字、全角(UTF-8)だと3文字までの格納となります。
これは他のデータベース、MYSQLやpostgreSQLとは異なります。
RedshiftはpostgreSQLと互換性が強いですがこの定義だけは別となります。
詳しくはAWSの公式に公開されています。
http://docs.aws.amazon.com/ja_jp/redshift/latest/dg/r_Character_types.html
実際にRDSのデータをRedshiftを連携した際に次のようなエラーがでました。
String length exceeds DDL length
RDSとRedshiftの定義は全く一緒だったのですがこのような仕様の違いにより発生しました。
Redshiftでテーブル設計をする際は注意が必要です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA