On Tue, Feb 3, 2009 at 3:33 PM, Alban Hertroys <dalroi@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> wrote: > On Feb 3, 2009, at 5:21 AM, Phoenix Kiula wrote: > >> On Mon, Jan 12, 2009 at 1:02 PM, Tom Lane <tgl@xxxxxxxxxxxxx> 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? > > > You don't happen to have any functions that use varchar(20) in their > arguments or for local variables? I'm not sure they'd cause the shown error, > but I expect them to. > Nope. We don't have any functions. I don't know what "local variables" mean. We don't use much PLSQL type stuff. Everything is done in PHP, so no, we don't have any varchar(20) appearing in PHP code. -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general