Re: pg_upgrade automatic testing

Поиск
Список
Период
Сортировка
От Peter Eisentraut
Тема Re: pg_upgrade automatic testing
Дата
Msg-id 1316405173.2549.4.camel@vanquo.pezone.net
обсуждение исходный текст
Ответ на Re: pg_upgrade automatic testing  (Peter Eisentraut <peter_e@gmx.net>)
Ответы Re: pg_upgrade automatic testing
Re: pg_upgrade automatic testing
Список pgsql-hackers
On mån, 2011-09-05 at 23:42 +0300, Peter Eisentraut wrote:
> On lör, 2011-09-03 at 19:58 -0400, Tom Lane wrote:
> > Anyway, after giving up on that I went back to plan A, namely install
> > regress.so and friends into $libdir.  That turns out to be really quite
> > straightforward, though I had to hack pg_regress.c a bit to get its idea
> > of $libdir to match up exactly with the way the backend sees it.
> > (The only reason this matters is that there's one error report in the
> > regression tests where the full expansion of $libdir is reported.
> > Maybe we should just drop that one test case instead of maintaining
> > the infrastructure for replacing @libdir@ in pg_regress.c.)
> >
> > Attached is a draft patch for HEAD.  It passes "make check" and "make
> > installcheck" on Unix, but I've not touched the MSVC scripts.
> > Comments?
>
> I'll try to integrate this with my pg_upgrade test runner to see if it
> gets the job done.

I found a simpler way to get this working.  Just hack up the catalogs
for the new path directly.  So I can now run this test suite against
older versions as well, like this:

contrib/pg_upgrade$ make installcheck oldsrc=somewhere oldbindir=elsewhere

The status is:

master -> master works.

9.1 -> master works.

9.0 -> master kind of works.  The upgrade succeeds, but the dump has
differences because the languages are now dumped as extension commands.
It's easy to inspect manually, but won't work for any kind of automated
test runs.

8.4 -> master upgrade fails like this:

Restoring user relation files
Mismatch of relation names in database "regression": old name "pg_toast.pg_toast_27437", new name
"pg_toast.pg_toast_27309"
Failure, exiting

This has been 100% reproducible for me.

8.3 -> master upgrade doesn't work at all, because the regression test
database contains columns of type "name" and pg_upgrade won't upgrade
those from this version.


Вложения

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

Предыдущее
От: Robert Haas
Дата:
Сообщение: Re: unite recovery.conf and postgresql.conf
Следующее
От: Jeff Davis
Дата:
Сообщение: Re: Range Types - typo + NULL string constructor