Search Postgresql Archives

Re: Moving Specific Data Across Schemas Including FKs

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

 





On Thu, Apr 23, 2015 at 10:27 AM Steve Atkins <steve@xxxxxxxxxxx> wrote:

On Apr 23, 2015, at 10:09 AM, Cory Tucker <cory.tucker@xxxxxxxxx> wrote:

> 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 ...

Would ALTER TABLE ... SET SCHEMA do what you need? A schema is mostly just a name space, so there's no need to create new tables or copy data around.

Cheers,
  Steve

If I were moving all of the contents from these table(s) then it might work, but I only want to move a specific selection of it based on a where clause.

--Cory
 

>
> 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



--
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux