Вы находитесь на странице: 1из 5

GRANT

http://es.tldp.org/Postgresql-es/web/navegable/todopostg...

PostgreSQL Anterior Siguiente

GRANT
Nombre
GRANT -- otorga privilegios de acceso a un usuario, un grupo o a todos los usuarios

Synopsis
GRANT privilege [, ...] ON object [, ...] TO { PUBLIC | GROUP group | username }

Entradas
privilege

Los posibles privilegios son: SELECT Acceso a todas las columnas de una tabla/vista especca. INSERT Inserta datos en todas las columnas de una tabla especca. UPDATE Actualiza todas las columnas de una tabal especca. DELETE Elimina las de una tabla especca. RULE Dene las reglas de la tabla(vista (cer sentencia CREATE RULE). ALL Otorga todos los privilegiosobject

El nombre de un objeto al que se quiere conceder el acceso. Los posibles objetos

1 de 5

22/08/13 17:22

GRANT

http://es.tldp.org/Postgresql-es/web/navegable/todopostg...

son: tabla vista secuencia indice PUBLIC Una abreviacin para representar a todos los usuarios. GROUP
group

Un grupo al que se otorgan privilegios. En la actual versin, el grupo debe haber sido creado explcitamente como se describe ms adelante.
username

El nombre de un usuario al que se quiere conceder privilegios. PUBLIC es una abreviatura para representar a todos los usuarios.

Salidas
CHANGE

Mensaje devuelto se la accin se ha realizado satisfactoriamente.


ERROR: ChangeAcl: class "object" not found

Mensaje devuelto si el objeto especicado no est disponible o si es imposible dar los provilegios a grupo o usuarios especicado.

Descripcin
GRANT permite al creador de un objeto el dar permisos especcos a todos los usuarios (PUBLIC) o a un cierto usuario o grupo. Usuarios distintos al creador pueden no tener permisos de acceso a menos que el creador se los conceda, una vez que el objeto ha sido creado. Una vez que un usuario tiene privilegios sobre un objeto, tiene posibilidad de ejecutar ese privilegio. No hay necesidad de conceder privilegios al creador de un objeto; el creador obtiene automticamente TODOS los privilegios, y puede tambin eliminar el objeto.

Notas
Actualmente, para conceder prvilegios en Postgres a solo algunas columnas, he de crear una vista que contenga las columnas deseadas, y conceder provilegios sobre esa vista.
2 de 5 22/08/13 17:22

GRANT

http://es.tldp.org/Postgresql-es/web/navegable/todopostg...

Use psql \z para obtener ms informacin sobre los permisos de los objetos existentes:
Database = lusitania +------------------+---------------------------------------------+ | Relacion | Conceder/Eliminar Permisos | +------------------+---------------------------------------------+ | mytable | {"=rw","miriam=arwR","group todos=rw"} | +------------------+---------------------------------------------+ Leyenda: uname=arwR -- se conceden privilegios a un usuario group gname=arwR -- se conceen privilegios al un GRUPO =arwR -- se conceden privilegios a PUBLIC r w a R arwR -----SELECT UPDATE/DELETE INSERT RULE ALL

Sugerencia

Actualmente, para crear un GRUPO ha de insertar los datos manualmente en la tabla pg_group como sigue:
INSERT INTO pg_group VALUES ('todos'); CREATE USER miriam IN GROUP todos;

Vase la sentencia REVOKE para ver como eliminar los privilegios de acceso.

Uso
Concede privilegios de insercin a todos los usuarios de la tabla 'lms':
GRANT INSERT ON films TO PUBLIC;

Concede todos los privilegiso al usuario 'manuel' sobre la vista 'kinds':


GRANT ALL ON kinds TO manuel;

Compatibilidad
SQL92
La sintaxis de SQL92 para GRANT permite establecer derechos sobre columnas

3 de 5

22/08/13 17:22

GRANT

http://es.tldp.org/Postgresql-es/web/navegable/todopostg...

individuales, y permite establecer el privilegio de conceder el mismo privilegio a otros:


GRANT privilege [, ...] ON object [ ( column [, ...] ) ] [, ...] TO { PUBLIC | username [, ...] } [ WITH GRANT OPTION ]

Los campos son compatibles con los de la implementacin de Postgres, con las siguientes incorporaciones:
privilege

SQL92 permite privilegios adicionales a los mencionados: SELECT REFERENCES Permitido para hacer referencia a alguna o todas las columnas de una tabla/vista especca en limitaciones de integridad. USAGE Permitido para usar un dominio, un conjunto de caracteres, cotejo o traduccin. Si un objeto especica algo que no sea una tabla/vista, privilegio ha de especicar solo USAGE.
object

[ TABLE ]

table TABLE.

SQL92 permite adicionalmente la palabra clave no funcional CHARACTER SET Se permite usar el juego de caracteres especicado. COLLATION Se permite usar la secuencia de cotejo especicada. TRANSLATION

Se permite usar la conversin de juego de caracters especicada. DOMAIN Se permite usar el dominio especicado. WITH GRANT OPTION Se permite conceder el mismo privilegio a otros.

4 de 5

22/08/13 17:22

GRANT

http://es.tldp.org/Postgresql-es/web/navegable/todopostg...

Anterior FETCH

Inicio Subir

Siguiente INSERT

5 de 5

22/08/13 17:22

Вам также может понравиться