Duncan McDonald wrote:
> Hi All,
>
> I was wondering whether there was a way to back up partial sets of data
> as INSERT statements? Pg_dump seems only to handle whole databases or
> tables.
>
> I have two identical databases (primary and backup) and I need to
> transfer a small portion of missing data from one to the other. Is there
> an easier way to do this rather than SELECT-ing the interval then
> parsing the ouput to look like INSERT statements?
>
I can think of a couple of ways -
COPY (SELECT * FROM myPrimaryTable WHERE id<200) TO '/tmp/myData';
you can then
COPY myBackupTable FROM '/tmp/myData';
Another option is to create a table to hold the selected rows then
SELECT * INTO myTempTable FROM myPrimaryTable WHERE id<200;
then use pg_dump --table=myTempTable > /tmp/myData
the --inserts option of pg_dump will export as INSERT's if that is the
way you want to do it. You will need to do a find and replace on the
INSERT's to change the table name though.
--
Shane Ambler
pgSQL@007Marketing.com
Get Sheeky @ http://Sheeky.Biz