Changing varchar length by manipulating pg_attribute - Mailing list pgsql-general

From Christian Ramseyer
Subject Changing varchar length by manipulating pg_attribute
Date
Msg-id 56963C29.10408@networkz.ch
Whole thread Raw
Responses Re: Changing varchar length by manipulating pg_attribute  (Jim Nasby <Jim.Nasby@BlueTreble.com>)
List 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 by date:

Previous
From: Albe Laurenz
Date:
Subject: Re: Function error
Next
From: Clodoaldo Neto
Date:
Subject: plpython3 package absent in 9.5 repository