Andreas Kretschmer <akretschmer@spamfence.net> writes:
> Hi,
> I'm a little bit astonished:
> test=*# select to_date('2012/30/03','yyyy/mm/dd');
> to_date
> ------------
> 2014-06-07
> (1 row)
> test=*# select to_date('2013/02/29','yyyy/mm/dd');
> to_date
> ------------
> 2013-03-01
> (1 row)
> Bug or feature? Version is 9.2.0
Feature, I'm afraid --- people are used to that behavior, see eg
http://archives.postgresql.org/pgsql-general/2012-10/msg00209.php
If you want tighter checking, don't use to_date, use the regular
datetime input functions (eg, via a cast to date or timestamp).
regards, tom lane