From: | Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com> |
---|---|
To: | Marcelo Fernandes <marcefern7(at)gmail(dot)com>, pgsql-general(at)lists(dot)postgresql(dot)org |
Subject: | Re: Best Approach for Swapping a Table with its Copy |
Date: | 2025-02-12 21:02:44 |
Message-ID: | 8ac6a1dd-db82-4ea7-8186-0c354d79049f@aklaver.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On 2/12/25 12:57 PM, Marcelo Fernandes wrote:
> Hi folks,
>
> I have a scenario where I need to swap an original table with a copy of that
> table.
>
> The copy has an exclusion constraint that the original does not have. The main
> challenge is to ensure that the swap does not break any existing foreign keys
> to the original table and handles the associated TOAST tables correctly.
>
> Both tables are fairly large and exist in a system where there are no
> maintenance time windows where the application is shut down.
This needs more information:
1) Postgres version.
2) The table definition.
3) The exclusion constraint definition.
4) Definition of what 'fairly large' is.
5) How is the application interfacing with the database?
>
> My key questions are:
>
> - What is the best process for swapping the original table with the copy in
> such a way that the foreign key relations are preserved?
>
> - Are there any special considerations for managing the TOAST tables during
> this swap?
>
> - Should I perform this operation in multiple steps, or is there a
> straightforward way to achieve this atomically?
>
> - Are there any risks of potential issues I should be aware of when doing this
> swap? Specifically related to foreign key integrity and TOAST data?
>
> Thank you!
> - Marcelo
>
>
--
Adrian Klaver
adrian(dot)klaver(at)aklaver(dot)com
From | Date | Subject | |
---|---|---|---|
Next Message | Adrian Klaver | 2025-02-12 21:04:38 | Re: Best Approach for Swapping a Table with its Copy |
Previous Message | Marcelo Fernandes | 2025-02-12 20:57:36 | Best Approach for Swapping a Table with its Copy |