REVOKE

Nombre

REVOKE  --  Revoca el privilegio de acceso a un usuario, a un grupo o a todos los usuarios.

Synopsis

REVOKE privilegio [, ...]
    ON objeto [, ...]
    FROM { PUBLIC | GROUP ER">gBLE> | nombre_usuario }
  

Entradas

privilegio

Los posibles privilegios son:

SELECT

Privilegio para acceder a todas las columnas de una tabla o vista espec�fica.

INSERT

Privilegio de insertar datos en todas las columnas de una tabla espec�fica.

UPDATE

Privilegio para actualizar todas las columnas de tabla.

DELETE

Privilegio para borrar filas de una tabla espec�fica.

RULE

Privilegio para definir reglas en una tabla o vista. (Ve�se CREATE RULE).

ALL

Rescinde todos los privilegios.

objeto

El nombre de un objeto sobre el que revocar el acceso. Los posibles objetos son:

  • tablea

  • vista

  • secuencia

  • �ndice

grupo

El nombre de un grupo al cual se revocan privilegios.

nombre_usuario

El nombre de un usuario al cual se revocan privilegios. Utilice la palabra clave PUBLIC para especificar todos los usuarios.

PUBLIC

Rescinde el/los privilegio(s) especificado(s) a todos los usuarios.

Salidas

CHANGE

Mensaje devuelto si ha tenido �xito.

ERROR

Mensaje que se devuelve si el objeto no est� disponible o si es imposible revocar privilegios al grupo o a los usuarios.

Descripci�n

REVOKE permite al creador de una objeto revocar permisos asignados anteriormente a todos los usuarios (mediante PUBLIC) o a un usuario o a un grupo.

Notas

Consulte el comando psql \z para obtener m�s informaci�n sobre permisos en objetos existentes:

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
    

Sugerencia

Actualmente, para crear un grupo debe insertar los datos manualmente en la tabla table pg_group de este modo:

INSERT INTO pg_group VALUES ('todos');
CREATE USER miriam IN GROUP todos;
     

Utilizaci�n

Revoca el privilegio de inserci�n a todos los usuarios en la tabla films:

REVOKE INSERT ON films FROM PUBLIC;
  

Revoca todos los privilegios al usuario manuel en la vista kinds:

  
REVOKE ALL ON kinds FROM manuel;
   

Compatibilidad

SQL92

La sintaxis de SQL92 para el comando REVOKE tiene capacidades adicionales para rescindir privilegios, incluso aquellos en columnas individuales en tablas:

REVOKE { SELECT | DELETE | USAGE | ALL PRIVILEGES } [, ...]
    ON objeto
    FROM { PUBLIC | nombre_usuario [, ...] } { RESTRICT | CASCADE }
REVOKE { INSERT | UPDATE | REFERENCES } [, ...] [ ( columna [, ...] ) ]
    ON objeto
    FROM { PUBLIC | nombre_usuario [, ...] } { RESTRICT | CASCADE }
       

Vea GRANT para m�s detalles en campos individuales.

REVOKE GRANT OPTION FOR privilegio [, ...]
    ON objeto
    FROM { PUBLIC | nombre_usuario [, ...] } { RESTRICT | CASCADE }
       

Rescinde a un usuario la autoridad para garantizar el privilegio especificado a otros usuarios. Ve�se GRANT para los detalles en campos individuales.

Los objetos posibles son:

[ TABLE ] tabla/vista
CHARACTER SET conjunto_caracteres
COLLATION colecci�n
TRANSLATION traslaci�n
DOMAIN dominio

Si user1 da un privilegio con la opci�n GRANT a user2 y user2 se lo da a user3, entonces user1 puede revocar este privilegio en cascada usando la palabra clave CASCADE.

Si user1 da un privilegio con GRANT a user2 y user2 se lo da a user3, entonces si user1 intenta revocar este privilegio, fallar� si ha especificado la palabra clave RESTRICT.