]> granicus.if.org Git - postgresql/commitdiff
Update GRANT example and discussion to match current sources.
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 22 Apr 2002 19:17:40 +0000 (19:17 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 22 Apr 2002 19:17:40 +0000 (19:17 +0000)
doc/src/sgml/ref/grant.sgml

index 70e9d581c8339b68edd811079582ecb52622e500..13e19042f50ea58c76b1fed91291d3719478d393 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/grant.sgml,v 1.22 2002/04/21 00:26:42 tgl Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/grant.sgml,v 1.23 2002/04/22 19:17:40 tgl Exp $
 PostgreSQL documentation
 -->
 
@@ -157,11 +157,10 @@ GRANT { { CREATE | USAGE } [,...] | ALL [ PRIVILEGES ] }
      <term>CREATE</term>
      <listitem>
       <para>
-       For databases, allows new schemas to be created in the database.
+       For databases, allows new schemas to be created within the database.
       </para>
       <para>
-       For schemas, allows new objects to be created within the specified
-       schema.
+       For schemas, allows new objects to be created within the schema.
       </para>
      </listitem>
     </varlistentry>
@@ -196,9 +195,9 @@ GRANT { { CREATE | USAGE } [,...] | ALL [ PRIVILEGES ] }
        of privilege that is applicable to procedural languages.
       </para>
       <para>
-       For schemas, allows the use of objects contained in the specified 
+       For schemas, allows access to objects contained in the specified 
        schema (assuming that the objects' own privilege requirements are
-       met).  Essentially this allows the grantee to <quote>look up</>
+       also met).  Essentially this allows the grantee to <quote>look up</>
        objects within the schema.
       </para>
      </listitem>
@@ -226,6 +225,11 @@ GRANT { { CREATE | USAGE } [,...] | ALL [ PRIVILEGES ] }
  <refsect1 id="SQL-GRANT-notes">
   <title>Notes</title>
 
+   <para>
+    The <xref linkend="sql-revoke" endterm="sql-revoke-title"> command is used
+    to revoke access privileges.
+   </para>
+
    <para>
     It should be noted that database <firstterm>superusers</> can access
     all objects regardless of object privilege settings.  This
@@ -243,19 +247,19 @@ GRANT { { CREATE | USAGE } [,...] | ALL [ PRIVILEGES ] }
 
    <para>
     Use <xref linkend="app-psql">'s <command>\z</command> command
-    to obtain information about privileges
-    on existing objects:
+    to obtain information about existing privileges, for example:
+<programlisting>
+lusitania=> \z mytable
+    Access privileges for database "lusitania"
+  Table  |           Access privileges
+---------+---------------------------------------
+ mytable | {=r,miriam=arwdRxt,"group todos=arw"}
+</programlisting>
+    The entries shown by <command>\z</command> are interpreted thus:
 <programlisting>
-          Database    = lusitania
-   +------------------+---------------------------------------------+
-   |  Relation        |        Grant/Revoke Permissions             |
-   +------------------+---------------------------------------------+
-   | mytable          | {"=rw","miriam=arwdRxt","group todos=rw"}   |
-   +------------------+---------------------------------------------+
-   Legend:
-         uname=arwR -- privileges granted to a user
-   group gname=arwR -- privileges granted to a group
-              =arwR -- privileges granted to PUBLIC
+              =xxxx -- privileges granted to PUBLIC
+         uname=xxxx -- privileges granted to a user
+   group gname=xxxx -- privileges granted to a group
 
                   r -- SELECT ("read")
                   w -- UPDATE ("write")
@@ -269,12 +273,25 @@ GRANT { { CREATE | USAGE } [,...] | ALL [ PRIVILEGES ] }
                   C -- CREATE
                   T -- TEMPORARY
             arwdRxt -- ALL PRIVILEGES (for tables)
+</programlisting>
+
+    The above example display would be seen by user <literal>miriam</> after
+    creating table <literal>mytable</> and doing
+
+<programlisting>
+GRANT SELECT ON mytable TO PUBLIC;
+GRANT SELECT,UPDATE,INSERT ON mytable TO GROUP todos;
 </programlisting>
    </para>
 
    <para>
-    The <xref linkend="sql-revoke" endterm="sql-revoke-title"> command is used to revoke access
-    privileges.
+   If the <quote>Access privileges</> column is empty for a given object,
+it means the object has default privileges (that is, its privileges field
+is NULL).  Currently, default privileges are interpreted the same way
+for all object types: all privileges for the owner and no privileges for
+anyone else.  The first <command>GRANT</> on an object will instantiate
+this default (producing, for example, <literal>{=,miriam=arwdRxt}</>)
+and then modify it per the specified request.
    </para>
  </refsect1>