Index: src/bin/pg_dump/pg_backup_archiver.c
===================================================================
RCS file: /cvsroot/pgsql-server/src/bin/pg_dump/pg_backup_archiver.c,v
retrieving revision 1.67
diff -c -c -r1.67 pg_backup_archiver.c
*** src/bin/pg_dump/pg_backup_archiver.c	1 Feb 2003 22:06:59 -0000	1.67
--- src/bin/pg_dump/pg_backup_archiver.c	14 Feb 2003 19:39:08 -0000
***************
*** 206,212 ****
  		sav = SetOutput(AH, ropt->filename, ropt->compression);
  
  	ahprintf(AH, "--\n-- PostgreSQL database dump\n--\n\n");
! 
  	/*
  	 * Drop the items at the start, in reverse order
  	 */
--- 206,213 ----
  		sav = SetOutput(AH, ropt->filename, ropt->compression);
  
  	ahprintf(AH, "--\n-- PostgreSQL database dump\n--\n\n");
! 	ahprintf(AH, "SET autocommit TO 'on';\n\n");
! 	
  	/*
  	 * Drop the items at the start, in reverse order
  	 */
***************
*** 2109,2115 ****
  						  dbname ? fmtId(dbname) : "-");
  		appendPQExpBuffer(qry, " %s\n\n",
  						  fmtId(user));
! 
  		ahprintf(AH, qry->data);
  
  		destroyPQExpBuffer(qry);
--- 2110,2117 ----
  						  dbname ? fmtId(dbname) : "-");
  		appendPQExpBuffer(qry, " %s\n\n",
  						  fmtId(user));
! 		appendPQExpBuffer(qry, "SET autocommit TO 'on';\n\n");
! 		
  		ahprintf(AH, qry->data);
  
  		destroyPQExpBuffer(qry);
Index: src/bin/pg_dump/pg_backup_db.c
===================================================================
RCS file: /cvsroot/pgsql-server/src/bin/pg_dump/pg_backup_db.c,v
retrieving revision 1.45
diff -c -c -r1.45 pg_backup_db.c
*** src/bin/pg_dump/pg_backup_db.c	13 Feb 2003 04:54:15 -0000	1.45
--- src/bin/pg_dump/pg_backup_db.c	14 Feb 2003 19:39:09 -0000
***************
*** 213,218 ****
--- 213,233 ----
  	if (password)
  		free(password);
  
+ 	/* check for version mismatch */
+ 	_check_database_version(AH, true);
+ 
+ 	/* Turn autocommit on */
+ 	if (AH->public.remoteVersion >= 70300)
+ 	{
+ 		PGresult   *res;
+ 
+ 		res = PQexec(AH->connection, "SET autocommit TO 'on'");
+ 		if (!res || PQresultStatus(res) != PGRES_COMMAND_OK)
+ 			die_horribly(AH, NULL, "SET autocommit TO 'on' failed: %s",
+ 						  PQerrorMessage(AH->connection));
+ 		PQclear(res);
+ 	}
+ 
  	PQsetNoticeProcessor(newConn, notice_processor, NULL);
  
  	return newConn;
Index: src/bin/pg_dump/pg_dumpall.c
===================================================================
RCS file: /cvsroot/pgsql-server/src/bin/pg_dump/pg_dumpall.c,v
retrieving revision 1.13
diff -c -c -r1.13 pg_dumpall.c
*** src/bin/pg_dump/pg_dumpall.c	16 Jan 2003 15:27:59 -0000	1.13
--- src/bin/pg_dump/pg_dumpall.c	14 Feb 2003 19:39:09 -0000
***************
*** 190,195 ****
--- 190,196 ----
  	printf("-- PostgreSQL database cluster dump\n");
  	printf("--\n\n");
  	printf("\\connect \"template1\"\n\n");
+ 	printf("SET autocommit TO 'on';\n\n");
  
  	dumpUsers(conn);
  	dumpGroups(conn);
***************
*** 552,557 ****
--- 553,559 ----
  			fprintf(stderr, _("%s: dumping database \"%s\"...\n"), progname, dbname);
  
  		printf("\\connect %s\n", fmtId(dbname));
+ 		printf("SET autocommit TO 'on';\n\n");
  		ret = runPgDump(dbname);
  		if (ret != 0)
  		{
***************
*** 676,681 ****
--- 678,691 ----
  		}
  	}
  	PQclear(res);
+ 
+ 	if (server_version >= 70300)
+ 	{
+ 		PGresult   *res;
+ 
+ 		res = executeQuery(conn, "SET autocommit TO 'on';SELECT 1;");
+ 		PQclear(res);
+ 	}
  
  	return conn;
  }
