"Gray Watson" <gray.pg@mailnull.com> writes:
> I have 2 tables which have the same schema (as far as I can see) but when I
> try to do the following in psql:
> INSERT INTO old_log SELECT * FROM log WHERE time < '2010-02-01';
> I get the error:
> ERROR: column "port" is of type integer but expression is of type character
That's just bizarre. The only thought that comes to mind is that the
error is in a trigger or rule attached to old_log, but you aren't
showing any such thing in your psql \d output.
If you pg_dump the tables and restore into another database, can you
still replicate the misbehavior? In any case it might be helpful to
look at "pg_dump -s -t table" output for these two tables.
Another thing that might be relevant is whether you've ever dropped
any columns in either table?
regards, tom lane