Обсуждение: ...

Поиск
Список
Период
Сортировка

...

От
Kees Leune
Дата:
First of all, let me apologize if this question has been answered in a FAQ.

I have a problem with upgrading postgresql 6.1 to 6.3.2. Compilation and
installation of the database system is no problem, the trouble start when I
try to move the contents of the old database to the new one.

This is the procedure I followed.

0. Platform is:
   SunOS epidemix 5.5 Generic_103093-06 sun4m sparc SUNW,SPARCstation-4
1. compile version 6.3.2
2. run 6.3.2 version of pg_dumpall to dump the contents of the old database.
   The old poster is still running

   This will lead to a number of warnings/errors about the pg_shadow table, i.e.
that it does not exist. From the documentation , I understand that this is
correct since 6.1 doesn't have this table.

   When I check the captured output of pg_dumpall, none of my users has been
saved to the output. Needless to say, I also dumped the database with the old
version of pg_dumpall. During the dump process, no errors or warnings occur.

3. kill the postmaster. Renamed postgres directory to postgres.old, created new
postgres directory. Went back to source and did gnu-make install, followed by
initdb. No problems occured.

4. When I try to reload my old data from the dump that has been made with the
6.3.2 version of pg_dumpall, no users are created and the restore process stops.
If I create the users manually and then remove the first few lines from db.out
that are responsible for deleting the body of pg_shadow, the restore process
stops with an error that mentions a buffer overflow

When I try to reload my old data from the dump that has been made with the 6.1
version of pg_dumpall, my users are created, but I get an error that the users
are not listed in pg_shadow and the restore process stops.

From the documentation, I understood that pg_user now is a view of pg_shadow,
how is it possible then that when I update pg_user, the changes are not made to
pg_shadow?

Anyhow, I've been trying for a day and a half to restore my database and nothing
works. Since it is a more-or-less production database, I restored the 6.1 copy
so that we could continue our work.

What is wrong? And more importantly, how do I fix it?!

Thanks in advance for your reactions!




Kees Leune, Researcher at the Infolab        | Email: kees@kub.nl
Tilburg University, The Netherlands          | Phone: +31 13 466 2688
http://infolab.kub.nl/people/kees/           | HAM: PA3HFB


Re:

От
Terence Dixon
Дата:
Have you tried adding CREATE USER queries to the db.out script?
- Terry

 Terence Dixon
 The Rochester Group
 Rochester NY USA

Kees Leune wrote:
>
> First of all, let me apologize if this question has been answered in a FAQ.
>
> I have a problem with upgrading postgresql 6.1 to 6.3.2. Compilation and
> installation of the database system is no problem, the trouble start when I
> try to move the contents of the old database to the new one.
>
> This is the procedure I followed.
>
> 0. Platform is:
>    SunOS epidemix 5.5 Generic_103093-06 sun4m sparc SUNW,SPARCstation-4
> 1. compile version 6.3.2
> 2. run 6.3.2 version of pg_dumpall to dump the contents of the old database.
>    The old poster is still running
>
>    This will lead to a number of warnings/errors about the pg_shadow table, i.e.
> that it does not exist. From the documentation , I understand that this is
> correct since 6.1 doesn't have this table.
>
>    When I check the captured output of pg_dumpall, none of my users has been
> saved to the output. Needless to say, I also dumped the database with the old
> version of pg_dumpall. During the dump process, no errors or warnings occur.
>
> 3. kill the postmaster. Renamed postgres directory to postgres.old, created new
> postgres directory. Went back to source and did gnu-make install, followed by
> initdb. No problems occured.
>
> 4. When I try to reload my old data from the dump that has been made with the
> 6.3.2 version of pg_dumpall, no users are created and the restore process stops.
> If I create the users manually and then remove the first few lines from db.out
> that are responsible for deleting the body of pg_shadow, the restore process
> stops with an error that mentions a buffer overflow
>
> When I try to reload my old data from the dump that has been made with the 6.1
> version of pg_dumpall, my users are created, but I get an error that the users
> are not listed in pg_shadow and the restore process stops.
>
> >From the documentation, I understood that pg_user now is a view of pg_shadow,
> how is it possible then that when I update pg_user, the changes are not made to
> pg_shadow?
>
> Anyhow, I've been trying for a day and a half to restore my database and nothing
> works. Since it is a more-or-less production database, I restored the 6.1 copy
> so that we could continue our work.
>
> What is wrong? And more importantly, how do I fix it?!
>
> Thanks in advance for your reactions!
>
>
>
> Kees Leune, Researcher at the Infolab        | Email: kees@kub.nl
> Tilburg University, The Netherlands          | Phone: +31 13 466 2688
> http://infolab.kub.nl/people/kees/           | HAM: PA3HFB