From: | Jeff Boes <jboes(at)nexcerpt(dot)com> |
---|---|
To: | pgsql-admin(at)postgresql(dot)org |
Subject: | Re: HELP - need way to restore only blobs |
Date: | 2004-02-18 12:54:23 |
Message-ID: | c68c6dbaf66141ab10437a911f9f5a30@news.teranews.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-admin |
At some point in time, wlittle(at)securitylending(dot)com (Warren Little) wrote:
>I migrated my database from 7.3 to 7.4 this weekend using the pg_dumpall
>tool which I now realize does not capture blobs.
>
>I now need to move only the blob data to the 7.4 database.
>The problem with redoing the dump with pg_dump -b is the database is now
>in production and writing over the top of changes to the database is not
>exceptable. The blob data is very static so if there was some way to
>copy the physical files from disk and modify some records in the system
>tables to properly locate the blob records that would be best. Another
>option I was looking at was to restore the archived database with the
>blobs intact and then restore the production version over the top
>without destroying the blob data.
In a similar situation, we wrote a script that constructs "\lo_export" commands
to dump each large object to a file. The file name for each contains the
information needed to reconstruct the object at the other end. For instance, if
you have a table like this:
CREATE TABLE foobar (primary_id INTEGER PRIMARY KEY, large_obj OID, ...)
you'd want a series of commands that look like this:
\lo_export <large_obj> <primary_id>.dmp
Then, given a directory full of such files, you construct another series of
commands that look like this:
\lo_import <primary_id>.dmp
UPDATE foobar SET large_obj = <new_value> WHERE primary_id = <primary_id>;
The trick is capturing the output of the \lo_import command and parsing it to
get the large object OID after it is created.
I don't know if I have permission to post or email the script, but if you
contact me offline I should know by then.
jboes at n/e/x/c/e/r/p/t/d/o/t/c/o/m
--
~~~~~~~~~~~~~~~~| Genius may have its limitations, but stupidity is not
Jeff Boes | thus handicapped.
jboes(at)qtm(dot)net | --Elbert Hubbard (1856-1915), American author
From | Date | Subject | |
---|---|---|---|
Next Message | Bethany A.Benzur | 2004-02-18 14:10:18 | Re: pg_user does not exist |
Previous Message | Tom Lane | 2004-02-18 04:06:00 | Re: pg_user does not exist |