From c6cf3060d69dc65b9f6b4f6d3ea712b7a1a0604f Mon Sep 17 00:00:00 2001
From: Robert Haas <rhaas@postgresql.org>
Date: Thu, 1 Jul 2010 14:10:21 +0000
Subject: [PATCH] Allow ALTER TABLE .. SET TABLESPACE to be interrupted.

Backpatch to 8.0, where tablespaces were introduced.

Guillaume Lelarge
---
 src/backend/commands/tablecmds.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c
index 18e2f571283..2ed8125fd6b 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 */
-- 
GitLab