Re: BUG #5372: insert into fails with integer expression type char error

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Gray Watson" <gray(dot)pg(at)mailnull(dot)com>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #5372: insert into fails with integer expression type char error
Date: 2010-03-12 17:07:29
Message-ID: 20214.1268413649@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

"Gray Watson" <gray(dot)pg(at)mailnull(dot)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

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message gray.pg 2010-03-12 22:58:10 Re: BUG #5372: insert into fails with integer expression type char error
Previous Message Tom Lane 2010-03-12 16:26:36 Re: Cannot create UTF-8 database