postgres pg_restore append data

Started by dhanuj hippieover 9 years ago2 messagesgeneral
Jump to latest
#1dhanuj hippie
dhanuj.hippie@gmail.com

Hi,
I have a pg backup created using pg_dump custom format. I'm trying to
restore into a DB which already has some data, using pg_restore data-only.
This fails in scenarios where same data (some rows) is present in DB as
well as dump. Is there a way to ignore such rows and proceed with restoring
the rest of data ? I don't want to lose the present data in DB. I need to
append the backup onto current content in DB.

Thanks,
Dhanuj

#2Melvin Davidson
melvin6925@gmail.com
In reply to: dhanuj hippie (#1)
Re: postgres pg_restore append data

On Mon, Dec 5, 2016 at 4:36 AM, dhanuj hippie <dhanuj.hippie@gmail.com>
wrote:

Hi,
I have a pg backup created using pg_dump custom format. I'm trying to
restore into a DB which already has some data, using pg_restore data-only.
This fails in scenarios where same data (some rows) is present in DB as
well as dump. Is there a way to ignore such rows and proceed with restoring
the rest of data ? I don't want to lose the present data in DB. I need to
append the backup onto current content in DB.

Thanks,
Dhanuj

*The best I can advise you is this.1. Create a new database x.2. Restore
the backup to the new database.3. Rename the table to something like
table_old.4. Rename the primary index and any other index so that they
will not be the same as ones in the original table.5. Dump table_old only
-> pg_dump -t table_old x > table_old.sql6. Restore table_old to your
database with your original table (table_orig).Then you can:INSERT INTO
table_orig SELECT * FROM table_old WHERE your_primary_key NOT IN
(SELECT your_primary_key FROM table_orig );*

--
*Melvin Davidson*
I reserve the right to fantasize. Whether or not you
wish to share my fantasy is entirely up to you.