Re: HELP - need way to restore only blobs
От | Jeff Boes |
---|---|
Тема | Re: HELP - need way to restore only blobs |
Дата | |
Msg-id | c68c6dbaf66141ab10437a911f9f5a30@news.teranews.com обсуждение исходный текст |
Ответ на | HELP - need way to restore only blobs (Warren Little <wlittle@securitylending.com>) |
Ответы |
Re: HELP - need way to restore only blobs
|
Список | pgsql-admin |
At some point in time, wlittle@securitylending.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@qtm.net | --Elbert Hubbard (1856-1915), American author
В списке pgsql-admin по дате отправления: