< Back

データ・タイプのマッピング:
PostgreSQL

FlyData Sync における PostgreSQL と Redshift (ver. 0.3.17) のデータ型のマッピング

PostgreSQL と Amazon Redshift には、データ型の違いがあります。いくつかのフォーマットはサポートされますが、いくつかはサポートされません。
PostgreSQL と Redshift のスムーズなレプリケートを行うため、FlyData では Amazon Redshift がサポートする型の中で、PostgreSQL のデータ型と最もよく似た相当するデータ型に自動的に変換します。

以下がデータ型変換のマッピングとなります。

PostgreSQL Data Type Redshift Data Type Agent version Notes
BIGINT INT8
BIT INT8 *11
BIT VARYING INT8 *11
BOOLEAN BOOLEAN
BYTEA VARCHAR(MAX) *3
CHARACTER VARCHAR *3, *4
CHARACTER VARYING VARCHAR *3, *4
DATE DATE *5
DOUBLE PRECISION FLOAT8
INTEGER INT4
MONEY NUMERIC *6
NUMERIC NUMERIC
REAL FLOAT4
SMALLINT INT2
TEXT VARCHAR(MAX) *3, *4
TIME TIMESTAMP *8, *9, *10
TIME WITH TIME ZONE TIMESTAMP *8, *9, *10
TIMESTAMP TIMESTAMP *5
TIMESTAMP WITH TIME ZONE TIMESTAMP *5
BOX, CIDR, CIRCLE, INET, INTERVAL, LINE, LSEG, MACADDR, PATH, POINT, POLYGON, TSQUERY, TSVECTOR, TXID_SNAPSHOT, UUID, XML VARCHAR(MAX) *3
BIGSERIAL, SMALLSERIAL, SERIAL (unsupported)

Notes

*1) Redshift は unsigned 型をサポートしません
*2) バイナリデータは “0xFFFF…” のような文字列型に変換されます 例) Binary 40bc8f => “0x40bc8f”
*3) Redshift の VARCHAR型の上限である、65,535桁で切り捨てられます
*4) 文字列は UTF-8 に変換されます
*5) ‘0000-00-00’ は ‘0001-01-01’ となります
*6) 最大 (precision, scale) は (38, 37) となります
*7) ラベルテキストは varchar 文字列として格納されます
*8) ‘00:00:00’ は ‘0001-01-01 00:00:00’ に変換されます
*9) 負の値は ‘0001-01-01 00:00:00’ からの値として変換されます。例えば、 ‘-01:00:00’ は ‘0001-12-31 23:00:00 BC’ となります
*10) 時の部分で23を超えるものは、日の部分として使用されます。例えば、 ‘25:00:00’ は ‘0001-01-02 01:00:00’ となります
*11) 例: b’101’ は Redshift では 5 となります
*12) DATE(2) と DATE(4) はサポートされます