diff --git a/src/backend/utils/error/excid.c b/src/backend/utils/error/excid.c
index bef1c00856b2827db1dcd8ef8969b4c5d98d899b..877610176a30683dd17dcfc86037961cbc99e388 100644
--- a/src/backend/utils/error/excid.c
+++ b/src/backend/utils/error/excid.c
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/utils/error/Attic/excid.c,v 1.9 2001/01/24 19:43:15 momjian Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/utils/error/Attic/excid.c,v 1.10 2001/02/06 01:53:53 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -42,18 +42,6 @@ Exception	BadArg = {"Bad Argument to Function Call"};
  *	 Specific Recoverable Exceptions										 *
  *****************************************************************************/
 
-/*
- * BadAllocSize
- *		Indicates that an allocation request is of unreasonable size.
- */
-Exception	BadAllocSize = {"Too Large Allocation Request"};
-
-/*
- * ExhaustedMemory
- *		Indicates an dynamic memory allocation failed.
- */
-Exception	ExhaustedMemory = {"Memory Allocation Failed"};
-
 /*
  * Unimplemented
  *		Indicates a function call request requires unimplemented code.
diff --git a/src/backend/utils/mmgr/mcxt.c b/src/backend/utils/mmgr/mcxt.c
index 0520cb6d0a67bb295b4bd1281a1bfd50dc8a9deb..ab8434a05817023980619103fa3f6f23c3880f53 100644
--- a/src/backend/utils/mmgr/mcxt.c
+++ b/src/backend/utils/mmgr/mcxt.c
@@ -14,7 +14,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/utils/mmgr/mcxt.c,v 1.26 2001/01/24 19:43:16 momjian Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/utils/mmgr/mcxt.c,v 1.27 2001/02/06 01:53:53 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -417,8 +417,9 @@ MemoryContextAlloc(MemoryContext context, Size size)
 {
 	AssertArg(MemoryContextIsValid(context));
 
-	LogTrap(!AllocSizeIsValid(size), BadAllocSize,
-			("size=%d [0x%x]", size, size));
+	if (!AllocSizeIsValid(size))
+		elog(ERROR, "MemoryContextAlloc: invalid request size %lu",
+			 (unsigned long) size);
 
 	return (*context->methods->alloc) (context, size);
 }
@@ -474,8 +475,9 @@ repalloc(void *pointer, Size size)
 
 	AssertArg(MemoryContextIsValid(header->context));
 
-	LogTrap(!AllocSizeIsValid(size), BadAllocSize,
-			("size=%d [0x%x]", size, size));
+	if (!AllocSizeIsValid(size))
+		elog(ERROR, "repalloc: invalid request size %lu",
+			 (unsigned long) size);
 
     return (*header->context->methods->realloc) (header->context,
 												 pointer, size);
diff --git a/src/include/utils/excid.h b/src/include/utils/excid.h
index 88ba06dc2a8e2c8633f654b2b37a420554abc081..d1bbcbb21bdf023d086095fe004000d1df34e2a3 100644
--- a/src/include/utils/excid.h
+++ b/src/include/utils/excid.h
@@ -7,7 +7,7 @@
  * Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $Id: excid.h,v 1.8 2001/01/24 19:43:28 momjian Exp $
+ * $Id: excid.h,v 1.9 2001/02/06 01:53:52 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -18,8 +18,6 @@
 extern Exception FailedAssertion;
 extern Exception BadState;
 extern Exception BadArg;
-extern Exception BadAllocSize;
-extern Exception ExhaustedMemory;
 extern Exception Unimplemented;
 
 extern Exception CatalogFailure;/* XXX inconsistent naming style */
diff --git a/src/include/utils/memutils.h b/src/include/utils/memutils.h
index 28cf6b3354990e6065f71582047e6bda8851b779..7ba0719dcb55897b439400ea58ec1db92cdca482 100644
--- a/src/include/utils/memutils.h
+++ b/src/include/utils/memutils.h
@@ -10,7 +10,7 @@
  * Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $Id: memutils.h,v 1.41 2001/01/24 19:43:28 momjian Exp $
+ * $Id: memutils.h,v 1.42 2001/02/06 01:53:52 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -22,16 +22,17 @@
 
 /*
  * MaxAllocSize
- *		Arbitrary limit on size of allocations.
+ *		Quasi-arbitrary limit on size of allocations.
  *
  * Note:
  *		There is no guarantee that allocations smaller than MaxAllocSize
  *		will succeed.  Allocation requests larger than MaxAllocSize will
  *		be summarily denied.
  *
- * XXX This should be defined in a file of tunable constants.
+ * XXX This is deliberately chosen to correspond to the limiting size
+ * of varlena objects under TOAST.  See VARATT_MASK_SIZE in postgres.h.
  */
-#define MaxAllocSize	((Size) 0xfffffff)		/* 16G - 1 */
+#define MaxAllocSize	((Size) 0x3fffffff)	/* 1 gigabyte - 1 */
 
 #define AllocSizeIsValid(size)	(0 < (size) && (size) <= MaxAllocSize)