summaryrefslogtreecommitdiff
path: root/doc/src/sgml/ref/revoke.sgml
diff options
context:
space:
mode:
Diffstat (limited to 'doc/src/sgml/ref/revoke.sgml')
-rw-r--r--doc/src/sgml/ref/revoke.sgml767
1 files changed, 396 insertions, 371 deletions
diff --git a/doc/src/sgml/ref/revoke.sgml b/doc/src/sgml/ref/revoke.sgml
index 5fc793ea1da..ad6184cca79 100644
--- a/doc/src/sgml/ref/revoke.sgml
+++ b/doc/src/sgml/ref/revoke.sgml
@@ -1,384 +1,409 @@
-<REFENTRY ID="SQL-REVOKE">
-<REFMETA>
-<REFENTRYTITLE>
-REVOKE
-</REFENTRYTITLE>
-<REFMISCINFO>SQL - Language Statements</REFMISCINFO>
-</REFMETA>
-<REFNAMEDIV>
-<REFNAME>
-REVOKE
-</REFNAME>
-<REFPURPOSE>
-Revokes access privilege from a user, a group or all users.
-</REFPURPOSE>
- </refnamediv>
-<REFSYNOPSISDIV>
-<REFSYNOPSISDIVINFO>
-<DATE>1998-09-24</DATE>
-</REFSYNOPSISDIVINFO>
-<SYNOPSIS>
-<REPLACEABLE CLASS="PARAMETER">
-</REPLACEABLE>
-REVOKE <REPLACEABLE CLASS="PARAMETER">privilege</REPLACEABLE> [, ...]
- ON <REPLACEABLE CLASS="PARAMETER">object</REPLACEABLE> [, ...]
- FROM { PUBLIC | GROUP <REPLACEABLE CLASS="PARAMETER">group</REPLACEABLE> | <REPLACEABLE CLASS="PARAMETER">username</REPLACEABLE> }
-</SYNOPSIS>
+<refentry id="SQL-REVOKE">
+ <refmeta>
+ <refentrytitle>
+ REVOKE
+ </refentrytitle>
+ <refmiscinfo>SQL - Language Statements</refmiscinfo>
+ </refmeta>
+ <refnamediv>
+ <refname>
+ REVOKE
+ </refname>
+ <refpurpose>
+ Revokes access privilege from a user, a group or all users.
+ </refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <refsynopsisdivinfo>
+ <date>1998-09-24</date>
+ </refsynopsisdivinfo>
+ <synopsis>
+REVOKE <replaceable class="PARAMETER">privilege</replaceable> [, ...]
+ ON <replaceable class="PARAMETER">object</replaceable> [, ...]
+ FROM { PUBLIC | GROUP <replaceable class="PARAMETER">ER">g</replaceable>BLE> | <replaceable class="PARAMETER">username</replaceable> }
+ </synopsis>
- <REFSECT2 ID="R2-SQL-REVOKE-1">
- <REFSECT2INFO>
- <DATE>1998-09-24</DATE>
- </REFSECT2INFO>
- <TITLE>
- Inputs
- </TITLE>
- <PARA>
-
- <VARIABLELIST>
- <VARLISTENTRY>
- <TERM>
- <REPLACEABLE CLASS="PARAMETER">privilege</REPLACEABLE>
- </TERM>
- <LISTITEM>
- <PARA>
- The possible privileges are:
- </para>
- </listitem>
- </varlistentry>
+ <refsect2 id="R2-SQL-REVOKE-1">
+ <refsect2info>
+ <date>1998-09-24</date>
+ </refsect2info>
+ <title>
+ Inputs
+ </title>
+ <para>
- <VARLISTENTRY>
- <TERM>
- SELECT
- </TERM>
- <LISTITEM>
- <PARA>
- Privilege to access all of the columns of a specific
- table/view.
- </PARA>
- </LISTITEM>
- </VARLISTENTRY>
-
- <VARLISTENTRY>
- <TERM>
- INSERT
- </TERM>
- <LISTITEM>
- <PARA>
- Privilege to insert data into all columns of a
- specific table.
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- UPDATE
- </TERM>
- <LISTITEM>
- <PARA>
- Privilege to update all columns of a specific
- table.
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- DELETE
- </TERM>
- <LISTITEM>
- <PARA>
- Privilege to delete rows from a specific table.
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- RULE
- </TERM>
- <LISTITEM>
- <PARA>
- Privilege to define rules on table/view.
- (See <command>CREATE RULE</command>).
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- ALL
- </TERM>
- <LISTITEM>
- <PARA>
- Rescind all privileges.
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- <REPLACEABLE CLASS="PARAMETER">object</REPLACEABLE>
- </TERM>
- <LISTITEM>
- <PARA>
- The name of an object from which to revoke access.
- The possible objects are:
- <itemizedlist mark="bullet" spacing="compact">
- <listitem>
- <para>
- table
- </para>
- </listitem>
-
- <listitem>
- <para>
- view
- </para>
- </listitem>
-
- <listitem>
- <para>
- sequence
- </para>
- </listitem>
-
- <listitem>
- <para>
- index
- </para>
- </listitem>
- </itemizedlist>
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- <REPLACEABLE CLASS="PARAMETER">group</REPLACEABLE>
- </TERM>
- <LISTITEM>
- <PARA>
- The name of a group from whom to revoke privileges.
- </PARA>
- </LISTITEM>
- </VARLISTENTRY>
-
- <VARLISTENTRY>
- <TERM>
- <REPLACEABLE CLASS="PARAMETER">username</REPLACEABLE>
- </TERM>
- <LISTITEM>
- <PARA>
- The name of a user from whom revoke privileges. Use the PUBLIC keyword
- to specify all users.
- </PARA>
- </LISTITEM>
- </VARLISTENTRY>
-
- <VARLISTENTRY>
- <TERM>
- PUBLIC
- </TERM>
- <LISTITEM>
- <PARA>
- Rescind the specified privilege(s) for all users.
- </para>
- </LISTITEM>
- </VARLISTENTRY>
- </VARIABLELIST>
- </para>
- </REFSECT2>
+ <variablelist>
+ <varlistentry>
+ <term>
+ <replaceable class="PARAMETER">privilege</replaceable>
+ </term>
+ <listitem>
+ <para>
+ The possible privileges are:
+ </para>
+ </listitem>
+ </varlistentry>
- <REFSECT2 ID="R2-SQL-REVOKE-2">
- <REFSECT2INFO>
- <DATE>1998-09-24</DATE>
- </REFSECT2INFO>
- <TITLE>
- Outputs
- </TITLE>
- <PARA>
-
- <VARIABLELIST>
- <VARLISTENTRY>
- <TERM>
- CHANGE
- </TERM>
- <LISTITEM>
- <PARA>
- Message returned if successfully.
- </para>
- </listitem>
- </varlistentry>
-
- <VARLISTENTRY>
- <TERM>
- ERROR
- </TERM>
- <LISTITEM>
- <PARA>
- Message returned if object is not available or impossible
- to revoke privileges from a group or users.
- </para>
- </listitem>
- </varlistentry>
- </VARIABLELIST>
- </para>
- </REFSECT2>
- </REFSYNOPSISDIV>
-
- <REFSECT1 ID="R1-SQL-REVOKE-1">
- <REFSECT1INFO>
- <DATE>1998-09-24</DATE>
- </REFSECT1INFO>
- <TITLE>
- Description
- </TITLE>
- <PARA>
- REVOKE allows creator of an object to revoke permissions granted
- before, from all users (via PUBLIC) or a certain user or group.
- </para>
+ <varlistentry>
+ <term>
+ SELECT
+ </term>
+ <listitem>
+ <para>
+ Privilege to access all of the columns of a specific
+ table/view.
+ </para>
+ </listitem>
+ </varlistentry>
- <REFSECT2 ID="R2-SQL-REVOKE-3">
- <REFSECT2INFO>
- <DATE>1998-09-24</DATE>
- </REFSECT2INFO>
- <TITLE>
- Notes
- </TITLE>
- <PARA>
- Refer to psql \z command for further information about permissions
- on existing objects:
-
- <programlisting>
- Database = lusitania
- +------------------+---------------------------------------------+
- | Relation | Grant/Revoke Permissions |
- +------------------+---------------------------------------------+
- | mytable | {"=rw","miriam=arwR","group todos=rw"} |
- +------------------+---------------------------------------------+
- Legend:
- uname=arwR -- privileges granted to a user
- group gname=arwR -- privileges granted to a GROUP
- =arwR -- privileges granted to PUBLIC
-
- r -- SELECT
- w -- UPDATE/DELETE
- a -- INSERT
- R -- RULE
- arwR -- ALL
- </programlisting>
- </para>
- <tip>
- <para>
- Currently, to create a GROUP you have to insert
- data manually into table pg_group as:
- <programlisting>
- INSERT INTO pg_group VALUES ('todos');
- CREATE USER miriam IN GROUP todos;
- </programlisting>
- </para>
- </tip>
+ <varlistentry>
+ <term>
+ INSERT
+ </term>
+ <listitem>
+ <para>
+ Privilege to insert data into all columns of a
+ specific table.
+ </para>
+ </listitem>
+ </varlistentry>
- </REFSECT2>
- </refsect1>
+ <varlistentry>
+ <term>
+ UPDATE
+ </term>
+ <listitem>
+ <para>
+ Privilege to update all columns of a specific
+ table.
+ </para>
+ </listitem>
+ </varlistentry>
- <REFSECT1 ID="R1-SQL-REVOKE-2">
- <TITLE>
- Usage
- </TITLE>
- <PARA>
- <ProgramListing>
- -- revoke insert privilege from all users on table films:
- --
- REVOKE INSERT ON films FROM PUBLIC;
-
- -- revoke all privileges from user manuel on view kinds:
- --
- REVOKE ALL ON kinds FROM manuel;
- </ProgramListing>
- </para>
- </REFSECT1>
-
- <REFSECT1 ID="R1-SQL-REVOKE-3">
- <TITLE>
- Compatibility
- </TITLE>
-
- <REFSECT2 ID="R2-SQL-REVOKE-4">
- <REFSECT2INFO>
- <DATE>1998-09-01</DATE>
- </REFSECT2INFO>
- <TITLE>
- SQL92
- </TITLE>
- <PARA>
- The SQL92 syntax for <command>REVOKE</command>
- has additional capabilities for rescinding
- privileges, including those on individual columns in tables:
+ <varlistentry>
+ <term>
+ DELETE
+ </term>
+ <listitem>
+ <para>
+ Privilege to delete rows from a specific table.
+ </para>
+ </listitem>
+ </varlistentry>
- <variablelist>
- <varlistentry>
- <term>
- <synopsis>
- REVOKE { SELECT | DELETE | USAGE | ALL PRIVILEGES } [, ...]
- ON <replaceable class="parameter">object</replaceable>
- FROM { PUBLIC | <replaceable class="parameter">username</replaceable> [, ...] } { RESTRICT | CASCADE }
- REVOKE { INSERT | UPDATE | REFERENCES } [, ...] [ ( <replaceable class="parameter">column</replaceable> [, ...] ) ]
- ON <replaceable class="parameter">object</replaceable>
- FROM { PUBLIC | <replaceable class="parameter">username</replaceable> [, ...] } { RESTRICT | CASCADE }
- </synopsis>
- </term>
- <listitem>
- <para>
- Refer to the <command>GRANT</command> command for details on individual fields.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>
- <synopsis>
- REVOKE GRANT OPTION FOR <replaceable class="parameter">privilege</replaceable> [, ...]
- ON <replaceable class="parameter">object</replaceable>
- FROM { PUBLIC | <replaceable class="parameter">username</replaceable> [, ...] } { RESTRICT | CASCADE }
- </synopsis>
- </term>
- <listitem>
- <para>
- Rescinds authority for a user to grant the specified privilege to others.
- Refer to the <command>GRANT</command> command for details on individual fields.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
+ <varlistentry>
+ <term>
+ RULE
+ </term>
+ <listitem>
+ <para>
+ Privilege to define rules on table/view.
+ (See <command>CREATE RULE</command>).
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ ALL
+ </term>
+ <listitem>
+ <para>
+ Rescind all privileges.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ <replaceable class="PARAMETER">object</replaceable>
+ </term>
+ <listitem>
+ <para>
+ The name of an object from which to revoke access.
+ The possible objects are:
+ <itemizedlist spacing="compact" mark="bullet">
+ <listitem>
+ <para>
+ table
</para>
+ </listitem>
+
+ <listitem>
<para>
- The possible objects are:
- <simplelist>
- <member> [ TABLE ] table/view
- </member>
- <member> CHARACTER SET character-set
- </member>
- <member> COLLATION collation
- </member>
- <member> TRANSLATION translation
- </member>
- <member> DOMAIN domain
- </member>
- </simplelist>
+ view
</para>
- <para>
- If user1 gives a privilege WITH GRANT OPTION to user2,
- and user2 gives it to user3 then user1 can revoke
- this privilege in cascade using the CASCADE keyword.
+ </listitem>
+
+ <listitem>
+ <para>
+ sequence
</para>
+ </listitem>
+
+ <listitem>
<para>
- If user1 gives a privilege WITH GRANT OPTION to user2,
- and user2 gives it to user3 then if user1 try revoke
- this privilege it fails if he/she specify the RESTRICT
- keyword.
+ index
</para>
- </refsect2>
- </refsect1>
-</REFENTRY>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ <replaceable class="PARAMETER">group</replaceable>
+ </term>
+ <listitem>
+ <para>
+ The name of a group from whom to revoke privileges.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ <replaceable class="PARAMETER">username</replaceable>
+ </term>
+ <listitem>
+ <para>
+ The name of a user from whom revoke privileges. Use the PUBLIC keyword
+ to specify all users.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ PUBLIC
+ </term>
+ <listitem>
+ <para>
+ Rescind the specified privilege(s) for all users.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ </refsect2>
+
+ <refsect2 id="R2-SQL-REVOKE-2">
+ <refsect2info>
+ <date>1998-09-24</date>
+ </refsect2info>
+ <title>
+ Outputs
+ </title>
+ <para>
+
+ <variablelist>
+ <varlistentry>
+ <term>
+ CHANGE
+ </term>
+ <listitem>
+ <para>
+ Message returned if successfully.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ ERROR
+ </term>
+ <listitem>
+ <para>
+ Message returned if object is not available or impossible
+ to revoke privileges from a group or users.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ </refsect2>
+ </refsynopsisdiv>
+
+ <refsect1 id="R1-SQL-REVOKE-1">
+ <refsect1info>
+ <date>1998-09-24</date>
+ </refsect1info>
+ <title>
+ Description
+ </title>
+ <para>
+ REVOKE allows creator of an object to revoke permissions granted
+ before, from all users (via PUBLIC) or a certain user or group.
+ </para>
+
+ <refsect2 id="R2-SQL-REVOKE-3">
+ <refsect2info>
+ <date>1998-09-24</date>
+ </refsect2info>
+ <title>
+ Notes
+ </title>
+ <para>
+ Refer to psql \z command for further information about permissions
+ on existing objects:
+
+ <programlisting>
+Database = lusitania
++------------------+---------------------------------------------+
+| Relation | Grant/Revoke Permissions |
++------------------+---------------------------------------------+
+| mytable | {"=rw","miriam=arwR","group todos=rw"} |
++------------------+---------------------------------------------+
+Legend:
+ uname=arwR -- privileges granted to a user
+ group gname=arwR -- privileges granted to a GROUP
+ =arwR -- privileges granted to PUBLIC
+
+ r -- SELECT
+ w -- UPDATE/DELETE
+ a -- INSERT
+ R -- RULE
+ arwR -- ALL
+ </programlisting>
+ </para>
+ <tip>
+ <para>
+ Currently, to create a GROUP you have to insert
+ data manually into table pg_group as:
+ <programlisting>
+INSERT INTO pg_group VALUES ('todos');
+CREATE USER miriam IN GROUP todos;
+ </programlisting>
+ </para>
+ </tip>
+
+ </refsect2>
+ </refsect1>
+
+ <refsect1 id="R1-SQL-REVOKE-2">
+ <title>
+ Usage
+ </title>
+ <para>
+ <programlisting>
+-- revoke insert privilege from all users on table films:
+--
+REVOKE INSERT ON films FROM PUBLIC;
+ </programlisting>
+
+ <programlisting>
+-- revoke all privileges from user manuel on view kinds:
+--
+REVOKE ALL ON kinds FROM manuel;
+ </programlisting>
+ </para>
+ </refsect1>
+
+ <refsect1 id="R1-SQL-REVOKE-3">
+ <title>
+ Compatibility
+ </title>
+
+ <refsect2 id="R2-SQL-REVOKE-4">
+ <refsect2info>
+ <date>1998-09-01</date>
+ </refsect2info>
+ <title>
+ SQL92
+ </title>
+ <para>
+ The SQL92 syntax for <command>REVOKE</command>
+ has additional capabilities for rescinding
+ privileges, including those on individual columns in tables:
+
+ <variablelist>
+ <varlistentry>
+ <term>
+ <synopsis>
+REVOKE { SELECT | DELETE | USAGE | ALL PRIVILEGES } [, ...]
+ ON <replaceable class="parameter">object</replaceable>
+ FROM { PUBLIC | <replaceable class="parameter">username</replaceable> [, ...] } { RESTRICT | CASCADE }
+REVOKE { INSERT | UPDATE | REFERENCES } [, ...] [ ( <replaceable class="parameter">column</replaceable> [, ...] ) ]
+ ON <replaceable class="parameter">object</replaceable>
+ FROM { PUBLIC | <replaceable class="parameter">username</replaceable> [, ...] } { RESTRICT | CASCADE }
+ </synopsis>
+ </term>
+ <listitem>
+ <para>
+ Refer to <command>GRANT</command> for details on individual fields.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ <synopsis>
+REVOKE GRANT OPTION FOR <replaceable class="parameter">privilege</replaceable> [, ...]
+ ON <replaceable class="parameter">object</replaceable>
+ FROM { PUBLIC | <replaceable class="parameter">username</replaceable> [, ...] } { RESTRICT | CASCADE }
+ </synopsis>
+ </term>
+ <listitem>
+ <para>
+ Rescinds authority for a user to grant the specified privilege
+ to others.
+ Refer to the <command>GRANT</command> command for details
+ on individual fields.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ <para>
+ The possible objects are:
+ <simplelist>
+ <member>
+ [ TABLE ] table/view
+ </member>
+ <member>
+ CHARACTER SET character-set
+ </member>
+ <member>
+ COLLATION collation
+ </member>
+ <member>
+ TRANSLATION translation
+ </member>
+ <member>
+ DOMAIN domain
+ </member>
+ </simplelist>
+ </para>
+
+ <para>
+ If user1 gives a privilege WITH GRANT OPTION to user2,
+ and user2 gives it to user3 then user1 can revoke
+ this privilege in cascade using the CASCADE keyword.
+ </para>
+ <para>
+ If user1 gives a privilege WITH GRANT OPTION to user2,
+ and user2 gives it to user3 then if user1 try revoke
+ this privilege it fails if he/she specify the RESTRICT
+ keyword.
+ </para>
+ </refsect2>
+ </refsect1>
+</refentry>
+
+<!-- Keep this comment at the end of the file
+Local variables:
+mode: sgml
+sgml-omittag:nil
+sgml-shorttag:t
+sgml-minimize-attributes:nil
+sgml-always-quote-attributes:t
+sgml-indent-step:1
+sgml-indent-data:t
+sgml-parent-document:nil
+sgml-default-dtd-file:"../reference.ced"
+sgml-exposed-tags:nil
+sgml-local-catalogs:"/usr/lib/sgml/catalog"
+sgml-local-ecat-files:nil
+End:
+-->