diff --git a/src/interfaces/ecpg/pgtypeslib/dt.h b/src/interfaces/ecpg/pgtypeslib/dt.h
index ce40bf9a759dae5ec4d4301946d19df50633b26d..5f68620233756db122dd874fe3d6c82ffb907208 100644
--- a/src/interfaces/ecpg/pgtypeslib/dt.h
+++ b/src/interfaces/ecpg/pgtypeslib/dt.h
@@ -247,14 +247,23 @@ extern int	day_tab[2][13];
  || (((y) == UTIME_MAXYEAR) && (((m) < UTIME_MAXMONTH) \
   || (((m) == UTIME_MAXMONTH) && ((d) <= UTIME_MAXDAY))))))
 
+#ifdef HAVE_INT64_TIMESTAMP
+
+#define DT_NOBEGIN		(-INT64CONST(0x7fffffffffffffff) - 1)
+#define DT_NOEND		(INT64CONST(0x7fffffffffffffff))
+
+#else
+
 #ifdef HUGE_VAL
-#define DT_NOBEGIN              (-HUGE_VAL)
-#define DT_NOEND                (HUGE_VAL)
+#define DT_NOBEGIN		(-HUGE_VAL)
+#define DT_NOEND		(HUGE_VAL)
 #else
-#define DT_NOBEGIN              (-DBL_MAX)
-#define DT_NOEND                (DBL_MAX)
+#define DT_NOBEGIN		(-DBL_MAX)
+#define DT_NOEND		(DBL_MAX)
 #endif
 
+#endif   /* HAVE_INT64_TIMESTAMP */
+
 #define TIMESTAMP_NOBEGIN(j)    do {j = DT_NOBEGIN;} while (0)
 #define TIMESTAMP_NOEND(j)          do {j = DT_NOEND;} while (0)
 #define TIMESTAMP_IS_NOBEGIN(j) ((j) == DT_NOBEGIN)