Re: Restore data to an existing populated table

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

 



Renato Oliveira <renato.oliveira@xxxxxxxxxxx> wrote:
 
> I would like to know if it is possible to restore data to a
> pre-populated db/table.
 
Yes.
 
> Does that mean the table can exist and can be populated with
> data, pg_restore will append the data to the db/table without
> deleting/dropping the existing data?
 
Unless you explicitly use the "clean" option, yes.
 
> What I need to achieve is:
> 1 - Download the schema from an old DB
 
pg_dump -s
 
> 2 - Restore the schema to a new DB
 
psql or pg_restore (depending on dump format)
 
> 3 - Point my application to the new DB, it will populate with new
> data
> 4 - at later date do a pg_dump to dump the data from old DB -
> (Should I use 'COPY' statement instead of pg_dump?
 
pg_dump -a
(It will use COPY statements.)
 
> 5 - Restore the data only to the new DB - as in copying the data
> and appending it to existing db/tables.
 
psql or pg_restore (depending on dump format)
(You'll have problems if there are duplicates on primary key or
unique indexes or constraints.)
 
> What is the natural behaviour of pg_restore, does it wipe the
> existing data on the existing DB, or it displays 'errors' and
> carries on copying the data?
 
It never destroys data unless you explicitly tell it to do so.  If
it hits and error attempting to add data to a table (due to schema
mismatch or duplicate rows, for example) the entire copy in to the
table fails.
 
I hope this helps.
 
-Kevin

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

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux