Para crear un esquema basta con usar el comando:
CREATE SCHEMA esquema1;
Si queremos crear una tabla en nuestro nuevo esquema haremos lo siguiente:
CREATE TABLE esquema1.tabla1(id_tabla1 integer,nombre text);
Ahora para la creación de usuarios con postgres usaremos lo siguiente:
CREATE USER daniel;
Se pueden asignar a los usuarios varios tipos de autorización para diferentes partes de la base de datos. Por ejemplo:
* La autorizacion de lectura.
* La autorizacion de insercion.
* La autorizacion de actualizacion.
* La autorizacion de borrado.
grant -lista de privilegios- on -nombre de relación o de vista- to -lista de usuarios o de roles-
grant select on esquema1.tabla1 to daniel
la autorización update puede concederse sobre todos los atributos de la relación o solo sobre algunos. Si se incluye la autorización update en una instrucción grant, la lista de atributos sobre los que se concede la autorización update puede aparece entre paréntesis justo después de la palabra clave update, si se omite la lista de atributos, el privilegio update se concede sobre todos los atributos de la relación.
grant update(nombre) on esquema1.tabla1 to daniel
El privilegio insert también puede especificar una lista de atributos; cualquier inserción en la relación debe especificarse solo esos atributos y el sistema asigna el resto de los valores predeterminados ( si hay alguno para ellos ) o los define como nulos.
Ahora para retirar una autorización se emplea la instrucción revoke. es muy similar a grant su sintaxis es la siguiente:
revoke -lista de privilegios- on -nombre de la relación o nombre de la vista- from -lista de usuarios o de roles-
por lo tanto para retirar los privilegios anteriores se haría de la siguiente manera:
revoke select on esquema1.tabla1 to daniel
revoke update(nombre) on esquema1.tabla1 to daniel
Hasta aquí este articulo de introducción, hay mucho que tratar aun, espero seguir con estos artículos sobre los usuarios, esquemas y privilegios.
Saludos !
Fuentes:
Fundamentos de base de datos. quinta edicion Silberschatz , Korth , Sudarshan
Lista Oficial de postgres
http://www.postgresql.org/
Muy interesante, sobre todo para los novatos como yo, te agradeceria mas informacion.
ResponderEliminarJorge galán galanj@gmail.com