Search Postgresql Archives

Re: Testing 9.0beta3 and pg_upgrade

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxx>        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);
-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux