Thread: How do I change column details
Hi I have a MySQL application which I am porting to Postgres. I have been asked to increase the size of a varchar column from 200 chars to 2000. Normally, in MySQL/Oracle this is done with the alter table modify column command. How do I do this in Postgres? I have just renamed the column, created the new one, copied the data into it and dropped the renamed column. Is the only way? All the best Simon -- Simon Windsor Eml: simon.windsor@cornfield.org.uk Tel: 01454 617689 Mob: 07960 321599 -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. Mailscanner thanks transtec Computers for their support.
Simon Windsor wrote: > Hi > > I have a MySQL application which I am porting to Postgres. I have been > asked to increase the size of a varchar column from 200 chars to 2000. > > Normally, in MySQL/Oracle this is done with the alter table modify > column command. > > How do I do this in Postgres? > > I have just renamed the column, created the new one, copied the data > into it and dropped the renamed column. Is the only way? Yes, right now, that's the only way. -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073
On Wed, Mar 10, 2004 at 00:42:18 +0000, Simon Windsor <simon.windsor@cornfield.org.uk> wrote: > Hi > > I have a MySQL application which I am porting to Postgres. I have been > asked to increase the size of a varchar column from 200 chars to 2000. > > Normally, in MySQL/Oracle this is done with the alter table modify > column command. > > How do I do this in Postgres? > > I have just renamed the column, created the new one, copied the data > into it and dropped the renamed column. Is the only way? For varchar there is a way to do this by munging the system catalogs. The method has been described on the list previously and should be in the archives. You might consider changing the column type to TEXT so that you don't have to go through this again. If you really need it limited to keep the app from barfing, use a constraint. That will be much easier to update in the future.