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.kla...@aklaver.com


Reply via email to