PostgreSQL 12.4 の timestamp without timezone の最大値は AD 294276 年。
$ psql "host=aurora-postgres124.cluster-********.ap-northeast-1.rds.amazonaws.com user=awsuser dbname=postgres port=5432" psql (13.4, server 12.4) SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off) Type "help" for help. postgres=> create table timezone_test (id varchar(10), ts_wo_tz timestamp without time zone); CREATE TABLE postgres=> postgres=> insert into timezone_test(id, ts_wo_tz) values ('1', '209999-08-16 00:00:00.000000'); INSERT 0 1 postgres=> select * from timezone_test; id | ts_wo_tz ----+----------------------- 1 | 209999-08-16 00:00:00 (1 row) postgres=> insert into timezone_test(id, ts_wo_tz) values ('2', '294276-12-31 00:00:00.000000'); INSERT 0 1 postgres=> insert into timezone_test(id, ts_wo_tz) values ('3', '294277-12-31 00:00:00.000000'); ERROR: timestamp out of range: "294277-12-31 00:00:00.000000" LINE 1: ...ert into timezone_test(id, ts_wo_tz) values ('3', '294277-12... ^ postgres=> select * from timezone_test; id | ts_wo_tz ----+----------------------- 1 | 209999-08-16 00:00:00 2 | 294276-12-31 00:00:00 (2 rows)
環境
- Aurora PostgreSQL 12.4
参考
8.5. 日付/時刻データ型表8.9 日付/時刻データ型
型名 格納サイズ 説明 最遠の過去 最遠の未来 精度 timestamp [ (p) ] [ without time zone ] 8 バイト 日付と時刻両方(時間帯なし) 4713 BC 294276 AD 1マイクロ秒 timestamp [ (p) ] with time zone 8バイト 日付と時刻両方、時間帯付き 4713 BC 294276AD 1マイクロ秒