+#define SERVER_LOG_FILE "pg_upgrade_server.log"
+#define RESTORE_LOG_FILE "pg_upgrade_restore.log"
+#define UTILITY_LOG_FILE "pg_upgrade_utility.log"
+#define INTERNAL_LOG_FILE "pg_upgrade_internal.log"
+
+#define NUM_LOG_FILES 4
+extern char *output_files[];
+
+/*
+ * WIN32 files do not accept writes from multiple processes
+ *
+ * On Win32, we can't send both pg_upgrade output and command output to the
+ * same file because we get the error: "The process cannot access the file
+ * because it is being used by another process." so send the pg_ctl
+ * command-line output to the utility log file on Windows, rather than
+ * into the server log file.
+ *
+ * We could use the Windows pgwin32_open() flags to allow shared file
+ * writes but is unclear how all other tools would use those flags, so
+ * we just avoid it and log a little differently on Windows; we adjust
+ * the error message appropriately.
+ */
+#ifndef WIN32
+#define SERVER_LOG_FILE2 SERVER_LOG_FILE
+#else
+#define SERVER_LOG_FILE2 UTILITY_LOG_FILE
+#endif
+