Re: Fw: Postgres 7.3, pg_dump, pg_restore and "lo" type

Поиск
Список
Период
Сортировка
От Juan Miguel
Тема Re: Fw: Postgres 7.3, pg_dump, pg_restore and "lo" type
Дата
Msg-id 200304300001.35071.juanmime@ono.com
обсуждение исходный текст
Ответ на Fw: Postgres 7.3, pg_dump, pg_restore and "lo" type  ("John M. Layman" <jml@frijid.net>)
Список pgsql-admin
> Juan - if you look back in the posts to 4/21, you'll see a thread titled
> "[ADMIN] trouble migrating large objects from 7.1.3 to 7.3.2".  In there,
> you'll see I was having a similar problem.  I discovered that using the -o
> option of pg_dump was causing the tar archiver error.  As it turns out,
> most people don't need the -o option.
>
> If you can, I'd try re-running pg_dump & pg_restore without the -o option.
> If you can't rerun pg_dump or you really need the -o option for pg_dump,
> then I'm not sure how to proceed.  I couldn't get it to work either, but
> luckily I didn't need it.

First, thanks to everybody who tried to help me in this trouble.

After thinking a long time, I have found one solution. This solution has steps
that are individuals for each database, but are very simple. I remember that
I use the version 7.3.0, I think that in 7.3.2, some steps could be jumped.

Here is, how to restore a database dump, in Postgres 7.3, that uses the "lo"
type of the contrib dir. I explain the steps of this "algorithm" for
everybody who have the same problem as me.

MAKING THE BACKUP
-----------------------------------
1. We have the dump in a tar file, made with something similar to:
    pg_dump -Ft -o -b -U myuser mydb > backup.tar

THE RESTORING PROCESS
--------------------------------------------
2. We drop de database, if it exists.
    dropdb -U myuser mydb

3. We restore the structure of the database and create it. Use something
similiar to:
    pg_restore -Ft -v -s -C -U myuser -d test backup.tar

4. We access with "psql" to the database and create a implicit cast of the
types "lo" and "oid" on both directions.

5. We delete the triggers in the tables with "lo" columns, that calls the
function "lo_manage".

6.- We restore the data of the database.
    pg_restore -Ft -v -a  -U myuser -d mydb backup.tar

7.- We create the triggers (again) deleted, in the step 5.

I said that this "algorithm" depends on the particular database that we used,
because the steps (5 and 7).

I think that these steps (5 and 7) could be converted to an database
sistematic database independient step. Therefore if someone can improve this
solution, write to me and we'll speak.

Bye.

Juan Miguel Moreno Escar
     juanmime@ono.com


В списке pgsql-admin по дате отправления:

Предыдущее
От: Andrew Sullivan
Дата:
Сообщение: Re: vacuuming and freed disk space
Следующее
От: "Josh Goldberg"
Дата:
Сообщение: backups and restores: -Fc vs. -Ft