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.klaver@xxxxxxxxxxx