diff -Naur postgresql-fe7337f/src/backend/utils/error/elog.c postgresql-fe7337f.new/src/backend/utils/error/elog.c
--- postgresql-fe7337f/src/backend/utils/error/elog.c	2014-06-06 11:57:44.000000000 +0900
+++ postgresql-fe7337f.new/src/backend/utils/error/elog.c	2014-06-06 13:10:51.000000000 +0900
@@ -580,7 +580,8 @@
 	 * can stop a query emitting tons of notice or warning messages, even if
 	 * it's in a loop that otherwise fails to check for interrupts.
 	 */
-	CHECK_FOR_INTERRUPTS();
+	if (IsTransactionState()) 
+		CHECK_FOR_INTERRUPTS();
 }
 
 
