Re: Finding Max Value in a Row - Mailing list pgsql-sql

From Thomas Kellerer
Subject Re: Finding Max Value in a Row
Date
Msg-id jojq4e$ogj$1@dough.gmane.org
Whole thread Raw
In response to Re: Finding Max Value in a Row  (Carlos Mennens <carlos.mennens@gmail.com>)
Responses Re: Finding Max Value in a Row
List pgsql-sql
Carlos Mennens wrote on 11.05.2012 21:30:
> Thanks for all the help thus far everyone! I sadly didn't
> create/design the table and would love to create a SEQUENCE on that
> particular field but not sure how unless I DROP the table and create
> from scratch.
>
> Currently the data TYPE on the primary key field (users_id) is CHAR
> and I have no idea why...it should be NUMERIC or SERIAL but it's not
> so my question is if I want to ALTER the column and create a sequence,
> would I simply do:
>
> ALTER TABLE users
> ALTER COLUMN users_id TYPE serial
> ;
>
> Obviously if any of the data stored in users_id is actual CHAR, I'm
> guessing the database would reject that request to change type as the
> existing data would match. However the data type is CHAR but the field
> values are all numeric from 1000000010 - 1000000301 so I'm hoping that
> would work for SERIAL which is just INTEGER, right?

Use this:

alter table users    alter column users_id type integer using to_number(users_id, '99999');

(Adjust the '99999' to the length of the char column)

Then create and "assign" the new sequence as I have shown in my other post.



 




pgsql-sql by date:

Previous
From: Adrian Klaver
Date:
Subject: Re: pg_dump: aborting because of server version mismatch
Next
From: Adrian Klaver
Date:
Subject: Re: Finding Max Value in a Row