diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c
index 18e2f571283efb660cc2819689f08fac6dcc6cdc..2ed8125fd6b168ca1a5201b67e41ea67dd0a6679 100644
--- a/src/backend/commands/tablecmds.c
+++ b/src/backend/commands/tablecmds.c
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/backend/commands/tablecmds.c,v 1.330 2010/04/28 16:10:41 heikki Exp $
+ *	  $PostgreSQL: pgsql/src/backend/commands/tablecmds.c,v 1.331 2010/07/01 14:10:21 rhaas Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -7049,6 +7049,9 @@ copy_relation_data(SMgrRelation src, SMgrRelation dst,
 
 	for (blkno = 0; blkno < nblocks; blkno++)
 	{
+        /* If we got a cancel signal during the copy of the data, quit */
+        CHECK_FOR_INTERRUPTS();
+        
 		smgrread(src, forkNum, blkno, buf);
 
 		/* XLOG stuff */