Request for Insights on ID Column Migration Approach

From: Aditya Singh <aditya(dot)singh(at)lji(dot)io>
To: pgsql-www(at)lists(dot)postgresql(dot)org
Cc: Mastan Basha Shaik <mastan(dot)shaik(at)lji(dot)io>
Subject: Request for Insights on ID Column Migration Approach
Date: 2024-09-26 10:44:11
Message-ID: 2B69513D-94A7-45A2-942F-BCAC32B56639@lji.io
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-www

I am just contacting you to talk about a current issue with our database. We have run out of a positive sequence in one of our tables and are now operating with negative sequences. To address this, we plan to migrate from the int4 ID column to an int8 ID column.

The plan involves renaming the int8 column to the id column and setting it as the primary key. However, this process will require downtime, which may be substantial in a production environment. Fortunately, we have noted that other tables do not use the id column as a foreign key, which may help mitigate some concerns.

Our Approach:

Create a Unique Index: We will first create a unique index on the new ID column before renaming it and altering it to be non-nullable. This step will necessitate scanning the entire table to verify uniqueness.

Add Primary Key: After ensuring the uniqueness, we will add the ID column as the primary key. By doing this, we hope to bypass the additional scanning for uniqueness and nullability, as the column will already be set as not nullable and will have the uniqueness constraint from the unique index.

We want to confirm if this approach will work as expected. If we should be aware of any potential pitfalls or considerations, could you please provide insights or point us toward relevant documentation?

Thank you so much for your help, and I look forward to your guidance.

Best regards,

Aditya Narayan Singh
Loyalty Juggernaut Inc.

--

*Confidentiality Warning:*
This message and any attachments are intended
only for the use of the intended recipient(s), are confidential, and may be
privileged. If you are not the intended recipient, you are hereby notified
that any disclosure, copying, distribution, or other use of this message
and any attachments is strictly prohibited. If received in error, please
notify the sender immediately and permanently delete it.

Responses

Browse pgsql-www by date

  From Date Subject
Next Message Jimmy Angelakos 2024-09-26 11:43:22 Re: Request for Insights on ID Column Migration Approach
Previous Message Andreas 'ads' Scherbaum 2024-09-23 19:08:46 Add Hacker Discord to Community page