diff --git a/src/bin/pg_upgrade/file.c b/src/bin/pg_upgrade/file.c new file mode 100644 index 79d9390..37eb832 *** a/src/bin/pg_upgrade/file.c --- b/src/bin/pg_upgrade/file.c *************** copyAndUpdateFile(pageCnvCtx *pageConver *** 34,40 **** { if (pageConverter == NULL) { ! if (pg_copy_file(src, dst, force) == -1) return getErrorText(errno); else return NULL; --- 34,44 ---- { if (pageConverter == NULL) { ! #ifndef WIN32 ! if (copy_file(src, dst, force) == -1) ! #else ! if (CopyFile(src, dst, force) == 0) ! #endif return getErrorText(errno); else return NULL; diff --git a/src/bin/pg_upgrade/pg_upgrade.h b/src/bin/pg_upgrade/pg_upgrade.h new file mode 100644 index 13aa891..fa4661b *** a/src/bin/pg_upgrade/pg_upgrade.h --- b/src/bin/pg_upgrade/pg_upgrade.h *************** extern char *output_files[]; *** 70,76 **** #ifndef WIN32 - #define pg_copy_file copy_file #define pg_mv_file rename #define pg_link_file link #define PATH_SEPARATOR '/' --- 70,75 ---- *************** extern char *output_files[]; *** 82,88 **** #define ECHO_QUOTE "'" #define ECHO_BLANK "" #else - #define pg_copy_file CopyFile #define pg_mv_file pgrename #define pg_link_file win32_pghardlink #define PATH_SEPARATOR '\\' --- 81,86 ----