11<!--
2- $Header: /cvsroot/pgsql/doc/src/sgml/ref/revoke.sgml,v 1.17 2001/11/18 20:35:02 petere Exp $
2+ $Header: /cvsroot/pgsql/doc/src/sgml/ref/revoke.sgml,v 1.18 2001/11/19 19:03:56 tgl Exp $
33Postgres documentation
44-->
55
@@ -27,9 +27,19 @@ REVOKE { { SELECT | INSERT | UPDATE | DELETE | RULE | REFERENCES | TRIGGER } [,.
2727
2828 <para>
2929 <command>REVOKE</command> allows the creator of an object to revoke
30- permissions granted before, from a users or a group of users. The
31- key word <literal>PUBLIC</literal> means to revoke this privilege
32- from all users.
30+ previously granted permissions from one or more users or groups of users.
31+ The key word <literal>PUBLIC</literal> refers to the implicitly defined
32+ group of all users.
33+ </para>
34+
35+ <para>
36+ Note that any particular user will have the sum
37+ of privileges granted directly to him, privileges granted to any group he
38+ is presently a member of, and privileges granted to
39+ <literal>PUBLIC</literal>. Thus, for example, revoking SELECT privilege
40+ from <literal>PUBLIC</literal> does not necessarily mean that all users
41+ have lost SELECT privilege on the object: those who have it granted
42+ directly or via a group will still have it.
3343 </para>
3444
3545 <para>
@@ -52,7 +62,7 @@ REVOKE { { SELECT | INSERT | UPDATE | DELETE | RULE | REFERENCES | TRIGGER } [,.
5262 <title>Examples</title>
5363
5464 <para>
55- Revoke insert privilegefrom all users on table
65+ Revoke insert privilegefor the public on table
5666 <literal>films</literal>:
5767
5868<programlisting>
@@ -93,7 +103,7 @@ REVOKE [ GRANT OPTION FOR ] { SELECT | INSERT | UPDATE | DELETE | REFERENCES }
93103 this privilege in cascade using the CASCADE keyword.
94104 If user1 gives a privilege WITH GRANT OPTION to user2,
95105 and user2 gives it to user3, then if user1 tries to revoke
96- this privilege it fails if hespecify the RESTRICT
106+ this privilege it fails if hespecifies the RESTRICT
97107 keyword.
98108 </para>
99109 </refsect2>