Dan Thomas wrote:
> Hiya,
> 
> I've been having trouble running vacuumdb -a and pg_dumpall
> concurrently because they run through the databases in a different
> order (so dumpall was getting stuck behind vacuum's lock, and my
> firewall was rather unhelpfully closing the idle connection). I can't
> see a good reason for them to be using a different order, and as it
> will only affect those that have created new databases since restoring
> from a dump, may not be instantly obvious. It appears slightly more
> thought has gone into pg_dumpall's code (in that it actually includes
> an ORDER BY), so I elected to fiddle with vacuumdb.
> 
> I hope this is in the correct format (this is the first patch I've
> submitted for anything), please let me know if I've done something
> daft.
> 
> Dan
> 
> 237c237
> <       result = executeQuery(conn, "SELECT datname FROM pg_database
> WHERE datallowconn;", progname, echo);
> ---
> >       result = executeQuery(conn, "SELECT datname FROM pg_database WHERE 
> > datallowconn ORDER BY 1;", progname, echo);

OK, ORDER BY added for 8.3.

-- 
  Bruce Momjian  <[EMAIL PROTECTED]>          http://momjian.us
  EnterpriseDB                               http://www.enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +
Index: src/bin/scripts/vacuumdb.c
===================================================================
RCS file: /cvsroot/pgsql/src/bin/scripts/vacuumdb.c,v
retrieving revision 1.15
diff -c -c -r1.15 vacuumdb.c
*** src/bin/scripts/vacuumdb.c	5 Jan 2007 22:19:50 -0000	1.15
--- src/bin/scripts/vacuumdb.c	13 Feb 2007 17:37:09 -0000
***************
*** 234,240 ****
  	int			i;
  
  	conn = connectDatabase("postgres", host, port, username, password, progname);
! 	result = executeQuery(conn, "SELECT datname FROM pg_database WHERE datallowconn;", progname, echo);
  	PQfinish(conn);
  
  	for (i = 0; i < PQntuples(result); i++)
--- 234,240 ----
  	int			i;
  
  	conn = connectDatabase("postgres", host, port, username, password, progname);
! 	result = executeQuery(conn, "SELECT datname FROM pg_database WHERE datallowconn ORDER BY 1;", progname, echo);
  	PQfinish(conn);
  
  	for (i = 0; i < PQntuples(result); i++)
---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?

               http://archives.postgresql.org

Reply via email to