Add permission check for CHECKPOINT.
authorPeter Eisentraut
Sat, 27 Jan 2001 10:19:52 +0000 (10:19 +0000)
committerPeter Eisentraut
Sat, 27 Jan 2001 10:19:52 +0000 (10:19 +0000)
doc/src/sgml/ref/checkpoint.sgml
src/backend/tcop/utility.c

index 83df9e6537f58682f085c4570c5cd763f960aeb5..021035888b44a334947765b1c383db3c8a6b0ffd 100644 (file)
@@ -1,4 +1,4 @@
-
+
 
 
  
@@ -40,6 +40,11 @@ CHECKPOINT
    PostgreSQL Administrator's Guide for more
    information about the WAL system.
   
+
+  
+   Only superusers may call CHECKPOINT.  The command is
+   not intended for use during normal operation.
+  
  
 
  
index c886140c4530c200c10d8c75ab329be11d34bdb3..65b6baf535e12112c1b650ac032606b1dbaa9fc7 100644 (file)
@@ -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;