OSDN Git Service

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

index 83df9e6..0210358 100644 (file)
@@ -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>
index c886140..65b6baf 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;