diff --git a/contrib/pg_upgrade/file.c b/contrib/pg_upgrade/file.c
index f8f7233593d5ae4dfaf30c955b6c7fc660ac602f..0552541c2447e7f043e9aa54acecf4289b291bfe 100644
--- a/contrib/pg_upgrade/file.c
+++ b/contrib/pg_upgrade/file.c
@@ -12,9 +12,10 @@
 #include <fcntl.h>
 
 
-static int	copy_file(const char *fromfile, const char *tofile, bool force);
 
-#ifdef WIN32
+#ifndef WIN32
+static int	copy_file(const char *fromfile, const char *tofile, bool force);
+#else
 static int	win32_pghardlink(const char *src, const char *dst);
 #endif
 
@@ -126,6 +127,7 @@ linkAndUpdateFile(pageCnvCtx *pageConverter,
 }
 
 
+#ifndef WIN32
 static int
 copy_file(const char *srcfile, const char *dstfile, bool force)
 {
@@ -220,6 +222,7 @@ copy_file(const char *srcfile, const char *dstfile, bool force)
 
 	return 1;
 }
+#endif
 
 
 /*