Re: ALTER column TYPE varying question
От | Tom Lane |
---|---|
Тема | Re: ALTER column TYPE varying question |
Дата | |
Msg-id | 16573.1173716430@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | ALTER column TYPE varying question ("Paolo Negri" <hungrylist@gmail.com>) |
Список | pgsql-general |
"Paolo Negri" <hungrylist@gmail.com> writes: > I need to increase the length of a string field using version 8.1 8.1.what? > After executing > ALTER TABLE mytable ALTER COLUMN mycolumn TYPE varchar(120) > I can see the column definition correctly changes and I can insert > rows with longer data in mycolumn. > But when I try to update data which were in the table before the ALTER > TABLE I get > "ERROR: value too long for type character varying(60)" Please provide a self-contained test case. It works in simple cases: regression=# create table mytable (mycolumn varchar(60)); CREATE TABLE regression=# insert into mytable values ('foo'); INSERT 0 1 regression=# ALTER TABLE mytable ALTER COLUMN mycolumn TYPE varchar(120); ALTER TABLE regression=# update mytable set mycolumn = repeat('x',100); UPDATE 1 regression=# It sounds like you have a case where the old table definition is still reflected in a cached plan ... regards, tom lane
В списке pgsql-general по дате отправления: