Thread: How do I change column details

How do I change column details

From
Simon Windsor
Date:
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.


Re: How do I change column details

From
Bruce Momjian
Date:
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

Re: How do I change column details

From
Bruno Wolff III
Date:
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.