Index: src/backend/tcop/postgres.c
===================================================================
RCS file: /home/alvherre/Code/cvs/pgsql/src/backend/tcop/postgres.c,v
retrieving revision 1.538
diff -c -p -c -4 -r1.538 postgres.c
*** src/backend/tcop/postgres.c	15 Nov 2007 21:14:38 -0000	1.538
--- src/backend/tcop/postgres.c	4 Dec 2007 17:02:35 -0000
*************** ProcessInterrupts(void)
*** 2577,2584 ****
--- 2577,2588 ----
  		if (cancel_from_timeout)
  			ereport(ERROR,
  					(errcode(ERRCODE_QUERY_CANCELED),
  					 errmsg("canceling statement due to statement timeout")));
+ 		else if (IsAutoVacuumWorkerProcess())
+ 			ereport(ERROR,
+ 					(errcode(ERRCODE_QUERY_CANCELED),
+ 					 errmsg("autovacuum task cancelled")));
  		else
  			ereport(ERROR,
  					(errcode(ERRCODE_QUERY_CANCELED),
  					 errmsg("canceling statement due to user request")));
