From: | Josh Berkus <josh(at)agliodbs(dot)com> |
---|---|
To: | "Michael Ryan S(dot) Puncia" <mpuncia(at)census(dot)gov(dot)ph>, <pgsql-performance(at)postgresql(dot)org> |
Subject: | Re: Changing the column length |
Date: | 2004-09-01 16:32:24 |
Message-ID: | 200409010932.24702.josh@agliodbs.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-performance |
Michael,
> I am sorry that my question is out of line with this
> group(performance) but I need
>
> an urgent help :-( .pls .. I need to know how to change the length of the
> column.
In the future, try to provide more detail on your problem. Fortunately, I
think I know what it is.
PostgreSQL does not support changing the length of VARCHAR columns in-place
until version 8.0 (currently in beta). Instead, you need to:
1) Add a new column of the correct length;
2) Copy the data in the old column to the new column;
3) Drop the old column;
4) Rename the new column to the same name as the old column.
I realize that this approach can be quite painful if you have dependant views,
contstraints, etc. It's why we fixed it for 8.0. You can also:
1) pg_dump the database in text format;
2) edit the table definition in the pg_dump file;
3) re-load the database
While it *is* possible to change the column size by updating the system
tables, doing so is NOT recommended as it can cause unexpected database
errors.
--
Josh Berkus
Aglio Database Solutions
San Francisco
From | Date | Subject | |
---|---|---|---|
Next Message | Merlin Moncure | 2004-09-01 17:53:18 | Re: seqscan instead of index scan |
Previous Message | Chester Kustarz | 2004-09-01 15:47:32 | Re: seqscan instead of index scan |