Re: Change from BIGINT to INT in prod.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Nov 5, 2020 at 1:03 PM Walters Che Ndoh <chendohw@xxxxxxxxx> wrote:
>
> Dear All,
>
> I am trying to change some specific columns on some tables in prod and looking at the best ways to do it with very minimal downtime.
>
> So when i try running alter table table_name alter column column_name type INT; , it is hanging and starts providing a lock on the table.
>
> I have this option in mind with but with a doubt.
>
> - Stop postgres and application connections
> - take a schema dump of the specific tables (it takes few seconds)
> - take a complete dump of those table or take just a data dump only (-a option) -- (This takes 3 to 5 mins)
> - drop all the specific tables from prod DB
> - restore the schema dump
> - run the script to change from BIGINT to INT
> - Then restore the data. Since the data will take more than 30 mins to restore, i wanted to allow the application to start accessing the DB while the restore is ongoing.
>
> So my question is will it be a good idea to bring back up the DB with applications connecting and same time restoring the data from those specific tables?
>
> If this is not  a good idea...any suggestions on how i can make these changes to the LIVE DB with minimal downtime?
>

If you really want to do it with minimal downtime, I'd suggest
following a process more like this:
https://doordash.engineering/2020/10/21/hot-swapping-production-data-tables/


Robert Treat
https://xzilla.net





[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux