diff --git a/doc/src/sgml/ref/checkpoint.sgml b/doc/src/sgml/ref/checkpoint.sgml
index 83df9e6537f58682f085c4570c5cd763f960aeb5..021035888b44a334947765b1c383db3c8a6b0ffd 100644
--- a/doc/src/sgml/ref/checkpoint.sgml
+++ b/doc/src/sgml/ref/checkpoint.sgml
@@ -1,4 +1,4 @@
-<!-- $Header: /cvsroot/pgsql/doc/src/sgml/ref/checkpoint.sgml,v 1.2 2001/01/24 21:56:23 petere Exp $ -->
+<!-- $Header: /cvsroot/pgsql/doc/src/sgml/ref/checkpoint.sgml,v 1.3 2001/01/27 10:19:52 petere Exp $ -->
 
 <refentry id="sql-checkpoint">
  <docinfo>
@@ -40,6 +40,11 @@ CHECKPOINT
    <citetitle>PostgreSQL Administrator's Guide</citetitle> for more
    information about the WAL system.
   </para>
+
+  <para>
+   Only superusers may call <command>CHECKPOINT</command>.  The command is
+   not intended for use during normal operation.
+  </para>
  </refsect1>
 
  <refsect1>
diff --git a/src/backend/tcop/utility.c b/src/backend/tcop/utility.c
index c886140c4530c200c10d8c75ab329be11d34bdb3..65b6baf535e12112c1b650ac032606b1dbaa9fc7 100644
--- a/src/backend/tcop/utility.c
+++ b/src/backend/tcop/utility.c
@@ -10,7 +10,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/tcop/utility.c,v 1.106 2001/01/24 19:43:11 momjian Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/tcop/utility.c,v 1.107 2001/01/27 10:19:52 petere Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -18,6 +18,7 @@
 
 #include "access/heapam.h"
 #include "catalog/catalog.h"
+#include "catalog/pg_shadow.h"
 #include "commands/async.h"
 #include "commands/cluster.h"
 #include "commands/command.h"
@@ -851,6 +852,8 @@ ProcessUtility(Node *parsetree,
 			{
 				set_ps_display(commandTag = "CHECKPOINT");
 
+				if (!superuser())
+					elog(ERROR, "permission denied");
 				CreateCheckPoint(false);
 			}
 			break;