"Peter van der Meer" <peter(dot)vd(dot)meer(at)yifan(dot)net> writes:
> This query doesn't work:
> INSERT INTO testthis(id, somedate) SELECT 2 as id, '2005-02-02' as
> somedate GROUP BY id, somedate;
> Executing it reports:
> ERROR: column "somedate" is of type date but expression is of type text
The GROUP BY forces the system to choose a type for the grouping column
(else it cannot know what semantics GROUP BY is to have) and given the
lack of any decoration on the literal, it chooses text. Sorry, but we
are unlikely to "fix" this. We do not want the semantics of SELECT to
change just because the result will later be used as an INSERT source,
so it's not workable to make use of the INSERT's column types in
resolving the type of the literal.
regards, tom lane