On Mon, Jan 12, 2009 at 1:02 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
.....<snip>....
> regression=# update pg_attribute set atttypmod = 35+4 where attrelid = 't1'::regclass and attname = 'f1';
> UPDATE 1
> regression=# \d t1
> Table "public.t1"
> Column | Type | Modifiers
> --------+-----------------------+-----------
> f1 | character varying(35) |
>
> (Why the +4 you ask? It's historical :-()
>
Tom, this has worked, and a "\d TABLENAME" shows that the column is
varchar(35).
But I still have messages in my log saying:
---
ERROR: value too long for type character varying(20)
---
Why is this? There are no other varchar(20) columns in my DB at all,
no other table. Only this column used to be 20 characters and using
your command I changed it to 35. It looks alright, the column also
accepts the value, but the error is logged.
I'm confused. How to stop the error?
Thanks