Search Postgresql Archives

Re: Smartest way to resize a column?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

Alban Hertroys

--
If you can't see the forest for the trees,
cut the trees and you'll see there is no forest.


!DSPAM:737,4987f368747033931215266!



--
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux