diff --git a/configure b/configure
index e461bacf073a468795181b9e519020bf046b0e49..72e4f5435395b5680528fdf7da2a12b625aceaf9 100755
--- a/configure
+++ b/configure
@@ -18999,7 +18999,8 @@ done
 
 case $host_os in
 	# BSD/OS & NetBSD use a custom fseeko/ftello built on fsetpos/fgetpos
-	bsdi*|netbsd*)
+	# Mingw uses macros to access Win32 API calls
+	bsdi*|netbsd*|mingw*)
 
 cat >>confdefs.h <<\_ACEOF
 #define HAVE_FSEEKO 1
diff --git a/configure.in b/configure.in
index 4f7198915ef258a69c1e8eca45f68e8eaf625e9f..89d58adf831e16e1887cd687548fc43297e25c7d 100644
--- a/configure.in
+++ b/configure.in
@@ -1,5 +1,5 @@
 dnl Process this file with autoconf to produce a configure script.
-dnl $PostgreSQL: pgsql/configure.in,v 1.582 2009/01/06 17:27:06 tgl Exp $
+dnl $PostgreSQL: pgsql/configure.in,v 1.583 2009/01/07 03:39:33 momjian Exp $
 dnl
 dnl Developers, please strive to achieve this order:
 dnl
@@ -1319,7 +1319,8 @@ AC_CHECK_FUNCS(atexit, [],
 AC_REPLACE_FUNCS(fseeko)
 case $host_os in
 	# BSD/OS & NetBSD use a custom fseeko/ftello built on fsetpos/fgetpos
-	bsdi*|netbsd*)
+	# Mingw uses macros to access Win32 API calls
+	bsdi*|netbsd*|mingw*)
 		AC_DEFINE(HAVE_FSEEKO, 1, [Define to 1 because replacement version used.])
 		ac_cv_func_fseeko=yes;;
 	*)
diff --git a/src/bin/pg_dump/pg_dump.h b/src/bin/pg_dump/pg_dump.h
index 3bb3f47f5d42f1e4f50587ac71ad6c4b36273d1e..0e938c851ecebdac1880870a02eeea81d9959e54 100644
--- a/src/bin/pg_dump/pg_dump.h
+++ b/src/bin/pg_dump/pg_dump.h
@@ -6,7 +6,7 @@
  * Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $PostgreSQL: pgsql/src/bin/pg_dump/pg_dump.h,v 1.145 2009/01/01 17:23:54 momjian Exp $
+ * $PostgreSQL: pgsql/src/bin/pg_dump/pg_dump.h,v 1.146 2009/01/07 03:39:33 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -16,25 +16,6 @@
 
 #include "postgres_fe.h"
 
-/*
- * WIN32 does not provide 64-bit off_t, but does provide the functions operating
- * with 64-bit offsets.
- */
-#ifdef WIN32
-#define pgoff_t __int64
-#undef fseeko
-#undef ftello
-#ifdef WIN32_ONLY_COMPILER
-#define fseeko(stream, offset, origin) _fseeki64(stream, offset, origin)
-#define ftello(stream) _ftelli64(stream)
-#else
-#define fseeko(stream, offset, origin) fseeko64(stream, offset, origin)
-#define ftello(stream) ftello64(stream)
-#endif
-#else
-#define pgoff_t off_t
-#endif
-
 /*
  * pg_dump uses two different mechanisms for identifying database objects:
  *
diff --git a/src/include/port.h b/src/include/port.h
index 4ccf410f60004d5e454567b390fec1911b9000f6..ff139468be76bdf4586cababf856b525b3ee5425 100644
--- a/src/include/port.h
+++ b/src/include/port.h
@@ -6,7 +6,7 @@
  * Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $PostgreSQL: pgsql/src/include/port.h,v 1.123 2009/01/01 17:23:55 momjian Exp $
+ * $PostgreSQL: pgsql/src/include/port.h,v 1.124 2009/01/07 03:39:33 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -341,10 +341,14 @@ extern int	gettimeofday(struct timeval * tp, struct timezone * tzp);
 extern char *crypt(const char *key, const char *setting);
 #endif
 
+/* WIN32 handled in port/win32.h */
+#ifndef WIN32
+#define pgoff_t off_t
 #if defined(bsdi) || defined(netbsd)
 extern int	fseeko(FILE *stream, off_t offset, int whence);
 extern off_t ftello(FILE *stream);
 #endif
+#endif
 
 #ifndef HAVE_FSEEKO
 #define fseeko(a, b, c) fseek(a, b, c)
diff --git a/src/include/port/win32.h b/src/include/port/win32.h
index d670576787eb54f122c19f9aed110fb08058c251..58baa59bffca24e1c7d13f3ba8339efcda276f77 100644
--- a/src/include/port/win32.h
+++ b/src/include/port/win32.h
@@ -1,4 +1,4 @@
-/* $PostgreSQL: pgsql/src/include/port/win32.h,v 1.84 2008/02/17 02:09:31 tgl Exp $ */
+/* $PostgreSQL: pgsql/src/include/port/win32.h,v 1.85 2009/01/07 03:39:33 momjian Exp $ */
 
 #if defined(_MSC_VER) || defined(__BORLANDC__)
 #define WIN32_ONLY_COMPILER
@@ -190,6 +190,18 @@ struct itimerval
 
 int			setitimer(int which, const struct itimerval * value, struct itimerval * ovalue);
 
+/*
+ * WIN32 does not provide 64-bit off_t, but does provide the functions operating
+ * with 64-bit offsets.
+ */
+#define pgoff_t __int64
+#ifdef WIN32_ONLY_COMPILER
+#define fseeko(stream, offset, origin) _fseeki64(stream, offset, origin)
+#define ftello(stream) _ftelli64(stream)
+#else
+#define fseeko(stream, offset, origin) fseeko64(stream, offset, origin)
+#define ftello(stream) ftello64(stream)
+#endif
 
 /*
  * Supplement to <sys/types.h>.