🐕

[tips]redshiftのtext型に関して

に公開

概要

想定読者:

  • redshiftのtext型に関して調べる機会があった方

想定読者ではないかもです😭:

  • redshift全体に対する深い知見をお求めの方

結論


経緯

  • 久々にredshift触って、データ移行としてcopyコマンドを叩いたらずっと出るエラー
  • エラーログ追ったらtext型のカラムがカラム超エラーになっているという恒例行事に今回も見舞われる
  • 備忘的に残しておこうではと思った次第

そもそも

  • redshiftのtextはvarchar(256)に変換される
    • auroraや他のdbのtext型になれていたら、「textじゃないやん!」って感じだが理由がある

TEXT 列を使用して Amazon Redshift テーブルを作成できますが、この列は最大 256 文字の可変長値を受け入れる VARCHAR(256) 列に変換されます。

https://docs.aws.amazon.com/ja_jp/redshift/latest/dg/r_Character_types.html

無制限を許容しない

  • redshiftは列指向・分散実行のアーキテクチャのため、無制限型ではなく上限設定が必要。
  • 互換性のために許容はしているというだけで、他のDBのようにTEXTの特徴性を持たせようとはしていない。

まとめ

  • redshiftのtext型は互換のために存在するが、アーキテクチャがそもそも違うので無制限型ではない

参考文献・サイト

https://docs.aws.amazon.com/ja_jp/redshift/latest/dg/r_Character_types.html

Discussion