Hi! When change a column type from timestamp to date, the 'infinity' and '- infinity' values will be NULL. Even if the column has a not null constraint. Sorry, if it is a duplicated bug report.
Regards, psmith Here is the test procedure: proba2=# create table a(t timestamp not null); CREATE TABLE proba2=# insert into a values ('infinity'); INSERT 0 1 proba2=# SELECT * from a; t ---------- infinity (1 sor) proba2=# alter table a alter t type date; ALTER TABLE proba2=# SELECT *, t is null as is_null from a; t | is_null ---+--------- | t (1 sor) proba2=# \d a Tábla "public.a" Oszlop | Típus | Módosító --------+-------+---------- t | date | not null proba2=# select version(); version -------------------------------------------------------------------------------------------------------------- PostgreSQL 8.1.0 on i486-pc-linux-gnu, compiled by GCC cc (GCC) 4.0.3 20051023 (prerelease) (Debian 4.0.2-3) (1 sor) proba2=# select 'infinity'::timestamp::date is null; ?column? ---------- t (1 sor) ---------------------------(end of broadcast)--------------------------- TIP 6: explain analyze is your friend