Re: Change column type from int to bigint - quickest way

From: Merlin Moncure <mmoncure(at)gmail(dot)com>
To: Andreas Brandl <mail(at)andreas-brandl(dot)de>
Cc: pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Re: Change column type from int to bigint - quickest way
Date: 2016-11-16 14:49:21
Message-ID: CAHyXU0xDCvKYy0eDyArembDbcy8EAo8FhDBhSJDkCB7q2NazNA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Fri, Nov 11, 2016 at 9:30 AM, Andreas Brandl <mail(at)andreas-brandl(dot)de> wrote:
> Hi,
>
> we have a pretty big table with an integer-type primary key. I'm looking for the quickest way to change the column type to bigint to avoid hitting the integer limit. We're trying to avoid prolonged lock situations and full table rewrites.
>
> I know I can hack this with an UPDATE on pg_attribute:
>
> -- change id type to bigint
> update pg_attribute set atttypid=20 where attrelid=264782 and attname = 'id';
>
> After that I'd need to reflect the change on dependent objects like views as well.
>
> Is this safe to do? Are there any unwanted consequences to this?
>
> This is still on 9.1 unfortunately - upgrade is going to follow soon after this.

You just posted the same question a few days ago -- were the answers
there unsatisfactory?

merlin

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Rich Shepard 2016-11-16 15:33:13 Re: Upgrade from 9.5.4 to 9.6.1
Previous Message cen 2016-11-16 08:54:22 Full text search tsv column aproach vs concat confusion