diff --git a/contrib/pg_upgrade/check.c b/contrib/pg_upgrade/check.c
index 144fcdc..0492657 100644
--- a/contrib/pg_upgrade/check.c
+++ b/contrib/pg_upgrade/check.c
@@ -416,6 +416,11 @@ create_script_for_old_cluster_deletion(migratorContext *ctx,
 			int			dbnum;
 
 			fprintf(script, "\n");
+			/* remove PG_VERSION? */
+			if (GET_MAJOR_VERSION(ctx->old.major_version) <= 804)
+				fprintf(script, RM_CMD " %s%s/PG_VERSION\n",
+						ctx->tablespaces[tblnum], ctx->old.tablespace_suffix);
+
 			for (dbnum = 0; dbnum < ctx->new.dbarr.ndbs; dbnum++)
 			{
 				fprintf(script, RMDIR_CMD " %s%s/%d\n",
diff --git a/contrib/pg_upgrade/pg_upgrade.h b/contrib/pg_upgrade/pg_upgrade.h
index 73070c6..52d4a82 100644
--- a/contrib/pg_upgrade/pg_upgrade.h
+++ b/contrib/pg_upgrade/pg_upgrade.h
@@ -38,6 +38,7 @@
 #define pg_copy_file		copy_file
 #define pg_mv_file			rename
 #define pg_link_file		link
+#define RM_CMD				"rm -f"
 #define RMDIR_CMD			"rm -rf"
 #define EXEC_EXT			"sh"
 #else
@@ -45,6 +46,7 @@
 #define pg_mv_file			pgrename
 #define pg_link_file		win32_pghardlink
 #define sleep(x)			Sleep(x * 1000)
+#define RM_CMD				"DEL /q"
 #define RMDIR_CMD			"RMDIR /s/q"
 #define EXEC_EXT			"bat"
 #define EXE_EXT				".exe"
