Re: How to move data from 1 database to another?

From: Nick Barr <nicky(at)chuckie(dot)co(dot)uk>
To: Thomas LeBlanc <thomasatiem(at)hotmail(dot)com>
Cc: scott(dot)marlowe(at)ihs(dot)com, pgsql-general(at)postgresql(dot)org
Subject: Re: How to move data from 1 database to another?
Date: 2004-05-11 16:38:05
Message-ID: 40A1016D.6050003@chuckie.co.uk
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Thomas LeBlanc wrote:

> Actually, the database db2 has all ready been created, plus the table
> names are the same, so I can not use pg_dump and restore.
>
> INSERT INTO db1.public.tables SELECT * FROM db2.public.table1
>
> Thanks,
> Thomas
>
>
>> From: "scott.marlowe" <scott(dot)marlowe(at)ihs(dot)com>
>> To: Thomas LeBlanc <thomasatiem(at)hotmail(dot)com>
>> CC: <pgsql-general(at)postgresql(dot)org>
>> Subject: Re: [GENERAL] How to move data from 1 database to another?
>> Date: Tue, 11 May 2004 10:13:22 -0600 (MDT)
>>
>> On Tue, 11 May 2004, Thomas LeBlanc wrote:
>>
>> > I have 2 databases. I want to move data from table table1 in
>> database db1 to
>> > table2 in db2.
>> >
>> > When I query 1 table from another database, I get a cross-database
>> > references are not implemented.
>> >
>> > server1% psql db1
>> > emdata=# select * from db2.public.table1;
>> > ERROR: Cross-database references are not implemented
>> >
>> >
>> > What can I do to get the data into another database?
>>
>> You can usually use pg_dump to accomplish such tasks. It's not something
>> likely to be implemented any time soon now that schemas have been
>> implemented. If you have no great reason to have two seperate databases
>> versus two schemas, you may want to investigate using schemas in the
>> future.
>>
>> For now, you can do something like:
>>
>> pg_dump -d db1 -t table1 |psql db2
>>
>> then psql and do
>>
>> insert into table2 (select * from table1);
>>
>>
>
> _________________________________________________________________
> FREE pop-up blocking with the new MSN Toolbar – get it now!
> http://toolbar.msn.com/go/onm00200415ave/direct/01/
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
>
> http://www.postgresql.org/docs/faqs/FAQ.html

Yes in fact you can. Use pg_dump to dump the whole database. Then just
do a data only pg_restore (--data-only is the command line switch). Bear
in mind if the restore goes wrong then you are going to have to
dropdb/createdb and then run in the schema again. I hope you have that
schema in a file.

Nick

In response to

Browse pgsql-general by date

  From Date Subject
Next Message scott.marlowe 2004-05-11 16:42:28 Re: How to move data from 1 database to another?
Previous Message Jonathan Bartlett 2004-05-11 16:30:15 Re: bytea