public inbox for [email protected]  
help / color / mirror / Atom feed
From: veem v <[email protected]>
To: pgsql-general <[email protected]>
Subject: Alter table fast
Date: Thu, 9 Jan 2025 21:55:09 +0530
Message-ID: <CAB+=1TUcgyKXDKFS-G5GNjJHpP1cHyiXha1pAHc0HG5ZPPu9FQ@mail.gmail.com> (raw)

Hello,
It's postgres version 16.1, we want to convert an existing column data type
from integer to numeric and it's taking a long time. The size of the table
is ~50GB and the table has ~150million rows in it and it's not partitioned.
We tried running the direct alter and it's going beyond hours, so wanted to
understand from experts what is the best way to achieve this?

1)Should we go with below
Alter table <table_name> alter column <column_name> type numeric(15,0)
USING <column_name>::NUMERIC(15,0);
OR
We should add a new not null column.
update the data in that column from the existing column.
drop the old column
rename the new column to the old column.

Regards
Veem


view thread (6+ messages)  latest in thread

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected]
  Subject: Re: Alter table fast
  In-Reply-To: <CAB+=1TUcgyKXDKFS-G5GNjJHpP1cHyiXha1pAHc0HG5ZPPu9FQ@mail.gmail.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox