Increasing the length of a VARCHAR column without table rewrite

ALTER TABLE .... ALTER column TYPE varchar(xxx)

We need to increase the length of a varchar(256) column in two of our
largest tables preferrably to TEXT.

Is there a way to do this without having to go through a complete table
rewrite?

I have googled and seen the todo on the wiki, but I'm wondering if we are
increasing the length of a varchar column can we manually modify the system
catalogs to increase the length?

http://wiki.postgresql.org/wiki/Todo#ALTER


Version: PG 8.1.17

Thanks,
Eric




--
Sent via pgsql-admin mailing list (pgsql-admin [at] postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-admin
Eric Comeau [ Do, 22 Oktober 2009 20:29 ] [ ID #2019939 ]

Re: Increasing the length of a VARCHAR column without tablerewrite

Eric,

Is the table in question so large that you can't afford the time it
would take to perform ALTER COLUMN TYPE?

I definitely would not go poking around in system catalogs and changing
things there. Not unless you *want* to trash your database... The fact
that 'todo' has not yet been implemented suggests that it is not a
simple matter of changing one attribute in a system catalog.

Lewis


Eric Comeau wrote:
> ALTER TABLE .... ALTER column TYPE varchar(xxx)
>
> We need to increase the length of a varchar(256) column in two of our
> largest tables preferrably to TEXT.
>
> Is there a way to do this without having to go through a complete table
> rewrite?
>
> I have googled and seen the todo on the wiki, but I'm wondering if we are
> increasing the length of a varchar column can we manually modify the system
> catalogs to increase the length?
>
> http://wiki.postgresql.org/wiki/Todo#ALTER
>
>
> Version: PG 8.1.17
>
> Thanks,
> Eric
>
>
>
>


--
Sent via pgsql-admin mailing list (pgsql-admin [at] postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-admin
Lewis Kapell [ Fr, 23 Oktober 2009 17:22 ] [ ID #2020124 ]

Re: Increasing the length of a VARCHAR column withouttable rewrite

Lewis Kapell wrote:
> Eric,
>
> Is the table in question so large that you can't afford the time it
> would take to perform ALTER COLUMN TYPE?
>
> I definitely would not go poking around in system catalogs and
> changing things there. Not unless you *want* to trash your
> database... The fact that 'todo' has not yet been implemented
> suggests that it is not a simple matter of changing one attribute in
> a system catalog.

Well, it is (in this case at least) -- the problem is that we want a
general solution, not one that only applies to the particular problem of
widening a column's max length.

(When playing with this, however, note that the modified table may need
a toast table that may not be there).

--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.

--
Sent via pgsql-admin mailing list (pgsql-admin [at] postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-admin
Alvaro Herrera [ Fr, 23 Oktober 2009 17:31 ] [ ID #2020125 ]
Datenbanken » gmane.comp.db.postgresql.admin » Increasing the length of a VARCHAR column without table rewrite

Vorheriges Thema: upgrading postgres version
Nächstes Thema: select actual data size for a relation?