Re: Testing 9.0beta3 and pg_upgrade

Поиск
Список
Период
Сортировка
От Bruce Momjian
Тема Re: Testing 9.0beta3 and pg_upgrade
Дата
Msg-id 201007131619.o6DGJvZ18258@momjian.us
обсуждение исходный текст
Ответ на Testing 9.0beta3 and pg_upgrade  (Thomas Kellerer <spam_eater@gmx.net>)
Список pgsql-general
Thomas Kellerer wrote:
> Hi,
>
> I'm trying pg_upgrade on my Windows installation and I have two
> suggestions  for the manual regarding pg_upgrade:
>
> When specifying directories, pg_upgrade *requires* a forward slash as
> the path separator. This is (still) uncommon in the Windows world
> (although Windows does support it) and even though the example in the
> manual does show forward slashes, I think it would be a good idea to
> specifically mention the fact that it will *not* work with a backslash.

Are you sure this is not the behavior of all Postgres commands?  For
example, if you use 'psql -f filename dbname', does 'filename' have the
same behavior as the pg_upgrade directory specifications?

> The "cannot run inside a transaction block" rang a bell, and once I
> removed "\set AUTOCOMMIT off" from my psqlrc.conf, pg_upgrade went
> through without problems.
>
> I would suggest to either manually change the autocommit mode from
> within pg_upgrade or to add a note in the manual to disable/remove this
> setting from psqlrc.conf before running pg_upgrade. Personally I think
> the first option would be the better one.

I have applied the attached patch so .psqlrc is no longer read by psql.
That should fix this problem.  I can't imagine anything pg_upgrade needs
in .pgsqlrc.

--
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + None of us is going to be here forever. +
Index: contrib/pg_upgrade/check.c
===================================================================
RCS file: /cvsroot/pgsql/contrib/pg_upgrade/check.c,v
retrieving revision 1.11
diff -c -c -r1.11 check.c
*** contrib/pg_upgrade/check.c    6 Jul 2010 19:18:55 -0000    1.11
--- contrib/pg_upgrade/check.c    13 Jul 2010 15:56:43 -0000
***************
*** 152,160 ****
          {
              prep_status(ctx, "Adjusting sequences");
              exec_prog(ctx, true,
!                   SYSTEMQUOTE "\"%s/psql\" --set ON_ERROR_STOP=on --port %d "
!                    "--username \"%s\" -f \"%s\" --dbname template1 >> \"%s\""
!                       SYSTEMQUOTE,
                        ctx->new.bindir, ctx->new.port, ctx->user,
                        sequence_script_file_name, ctx->logfile);
              unlink(sequence_script_file_name);
--- 152,160 ----
          {
              prep_status(ctx, "Adjusting sequences");
              exec_prog(ctx, true,
!                   SYSTEMQUOTE "\"%s/psql\" --set ON_ERROR_STOP=on "
!                   "--no-psqlrc --port %d --username \"%s\" "
!                   "-f \"%s\" --dbname template1 >> \"%s\"" SYSTEMQUOTE,
                        ctx->new.bindir, ctx->new.port, ctx->user,
                        sequence_script_file_name, ctx->logfile);
              unlink(sequence_script_file_name);
Index: contrib/pg_upgrade/pg_upgrade.c
===================================================================
RCS file: /cvsroot/pgsql/contrib/pg_upgrade/pg_upgrade.c,v
retrieving revision 1.10
diff -c -c -r1.10 pg_upgrade.c
*** contrib/pg_upgrade/pg_upgrade.c    6 Jul 2010 19:18:55 -0000    1.10
--- contrib/pg_upgrade/pg_upgrade.c    13 Jul 2010 15:56:43 -0000
***************
*** 202,210 ****
       */
      prep_status(ctx, "Creating databases in the new cluster");
      exec_prog(ctx, true,
!               SYSTEMQUOTE "\"%s/psql\" --port %d --username \"%s\" "
!            "--set ON_ERROR_STOP=on -f \"%s/%s\" --dbname template1 >> \"%s\""
!               SYSTEMQUOTE,
                ctx->new.bindir, ctx->new.port, ctx->user, ctx->cwd,
                GLOBALS_DUMP_FILE, ctx->logfile);
      check_ok(ctx);
--- 202,211 ----
       */
      prep_status(ctx, "Creating databases in the new cluster");
      exec_prog(ctx, true,
!               SYSTEMQUOTE "\"%s/psql\" --set ON_ERROR_STOP=on "
!               /* --no-psqlrc prevents AUTOCOMMIT=off */
!               "--no-psqlrc --port %d --username \"%s\" "
!               "-f \"%s/%s\" --dbname template1 >> \"%s\"" SYSTEMQUOTE,
                ctx->new.bindir, ctx->new.port, ctx->user, ctx->cwd,
                GLOBALS_DUMP_FILE, ctx->logfile);
      check_ok(ctx);
***************
*** 225,233 ****

      prep_status(ctx, "Restoring database schema to new cluster");
      exec_prog(ctx, true,
!               SYSTEMQUOTE "\"%s/psql\" --port %d --username \"%s\" "
!            "--set ON_ERROR_STOP=on -f \"%s/%s\" --dbname template1 >> \"%s\""
!               SYSTEMQUOTE,
                ctx->new.bindir, ctx->new.port, ctx->user, ctx->cwd,
                DB_DUMP_FILE, ctx->logfile);
      check_ok(ctx);
--- 226,234 ----

      prep_status(ctx, "Restoring database schema to new cluster");
      exec_prog(ctx, true,
!               SYSTEMQUOTE "\"%s/psql\" --set ON_ERROR_STOP=on "
!               "--no-psqlrc --port %d --username \"%s\" "
!               "-f \"%s/%s\" --dbname template1 >> \"%s\"" SYSTEMQUOTE,
                ctx->new.bindir, ctx->new.port, ctx->user, ctx->cwd,
                DB_DUMP_FILE, ctx->logfile);
      check_ok(ctx);

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

Предыдущее
От: Tim Landscheidt
Дата:
Сообщение: Re: Postgresql 8.4, XPath and name() function
Следующее
От: Bruce Momjian
Дата:
Сообщение: Re: Testing 9.0beta3 and pg_upgrade