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 по дате отправления:

Предыдущее
От: Erik Jones
Дата:
Сообщение: Tracking disk writes? (again)
Следующее
От: "Harald Armin Massa"
Дата:
Сообщение: Re: Tracking disk writes? (again)