Changing varchar length by manipulating pg_attribute

Поиск
Список
Период
Сортировка
От Christian Ramseyer
Тема Changing varchar length by manipulating pg_attribute
Дата
Msg-id 56963C29.10408@networkz.ch
обсуждение исходный текст
Ответы Re: Changing varchar length by manipulating pg_attribute
Список pgsql-general
Hi

I have a database in which I'd like to increase the length of a varchar
column. Unfortunately, the column is used in various views which then
are used in other views, so doing this with ALTER TABLE ALTER COLUMN
TYPE is quite a lot of work.

I have found this suggestion
<http://sniptools.com/databases/resize-a-column-in-a-postgresql-table-without-changing-data>
to just update pg_attribute like this:

UPDATE pg_attribute SET atttypmod = 35+4   -- new desired length + 4
WHERE attrelid = 'TABLE1'::regclass
AND attname = 'COL1';


Is this safe to do in Postgres 9.4? Also, best practice seems to be to
use text nowadays, is there even a variant of this that lets me convert
a "column from character varying(256)" to "text" without having to
recreate all the nested views?


Thanks
Christian



В списке pgsql-general по дате отправления:

Предыдущее
От: Albe Laurenz
Дата:
Сообщение: Re: Function error
Следующее
От: Clodoaldo Neto
Дата:
Сообщение: plpython3 package absent in 9.5 repository