From: | Reece Hart <reece(at)harts(dot)net> |
---|---|
To: | Pedro Doria Meunier <pdoria(at)netmadeira(dot)com> |
Cc: | Postgresql Mailing List <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: Copying data from a table to another database |
Date: | 2008-05-25 19:38:23 |
Message-ID: | 1211744303.6958.183.camel@snafu |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Sun, 2008-05-25 at 12:24 +0100, Pedro Doria Meunier wrote:
> Now I've migrated the entire 'shebang' to another server and need to
> update the history table on the new server with data from the old
> server
> for every different record.
I'm not sure I understand this completely. Would COPY work? For example:
$ psql -h <oldhost> -d <olddb> -c 'copy <schema>.<table> to stdout' |
psql -h <newhost> -d <newdb> -c 'copy <schema>.<table> from stdin'
This presumes that a table with the same structure already exists in the
new database.
If you have made schema changes, or you need only a subset of rows, you
can specify an appropriate select statement to the copy command on "old"
database. See documentation for COPY.
Also consider a statement like this:
=> INSERT INTO newtable SELECT * FROM oldtable EXCEPT SELECT * FROM
newtable;
I'm assuming that you populate a temporary oldtable in the new db
(perhaps using the COPY method above). This won't work if there are
intentional identical rows in your table.
The pipe assumes a Unix-ish box.
-Reece
--
Reece Hart, http://harts.net/reece/, GPG:0x25EC91A0
From | Date | Subject | |
---|---|---|---|
Next Message | Shane Ambler | 2008-05-25 19:51:58 | Re: Copying data from a table to another database |
Previous Message | Roberts, Jon | 2008-05-25 18:15:49 | Re: Copying data from a table to another database |