Moving Specific Data Across Schemas Including FKs

From: Cory Tucker <cory(dot)tucker(at)gmail(dot)com>
To: "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Moving Specific Data Across Schemas Including FKs
Date: 2015-04-23 17:09:20
Message-ID: CAG_=8kBjMrqwqphgFxKAivzNJHmrNa=QWESLvM13DzfjBRLKDQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

I have the need to move a specific set of data from one schema to another.
These schemas are on the same database instance and have all of the same
relations defined. The SQL to copy data from one table is relatively
straightforward:

INSERT INTO schema_b.my_table
SELECT * FROM schema_a.my_table WHERE ...

What I am trying to figure out is that if I also have other relations that
have foreign keys into the data I am moving, how would I also move the data
from those relations and maintain the FK integrity?

The tables are setup to use BIGSERIAL values for the id column which is the
primary key, and the foreign keys reference these id columns. Ideally each
schema would use it's own serial for the ID values, but I'm open to clever
alternatives.

I am using PG 9.3.5 (Amazon RDS), but with an option to move to 9.4 should
the situation call for it.

thanks
--Cory

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Marc-André Goderre 2015-04-23 17:21:14 Re: function returning a merge of the same query executed X time
Previous Message Bruce Momjian 2015-04-23 16:11:57 Re: Fwd: [GENERAL] 4B row limit for CLOB tables