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 - 1.15
--- src/bin/scripts/vacuumdb.c 13 Feb 2007 17:37:09 -
***
*** 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