Posted at

#PostgreSQL でTIMESTAMP型のDEFAULTに最小値/最大値を指定したいとき

More than 3 years have passed since last update.

TIMESTAMPDEFAULTに次のような書き方が可能な模様。

例えば、


  • 開始日時"start"'-infinity'::timestamp

  • 終了日時"end"'infinity'::timestamp


PostgreSQL

CREATE TABLE tables(

"start" TIMESTAMP WITHOUT TIME ZONE DEFAULT '-infinity'::timestamp,
"end" TIMESTAMP WITHOUT TIME ZONE DEFAULT 'infinity'::timestamp
);



  • '-infinity'::timestampは他のすべての有効な時刻以前。


  • 'infinity'::timestampは他のすべての有効な時刻以降。

9.3.4を使っているけれど、大分前のバージョンからあるみたい。

https://www.postgresql.jp/document/pg632doc/user/c0404.htm