1. Curso Básico de PostgreSQL – Ing. Eddie Malca Vicente
Creación de Roles en
PostgreSQL
Ing. Eddie Malca Vicente
Email: emalca@gmail.com
Twitter: @emalca
2. Curso Básico de PostgreSQL – Ing. Eddie Malca Vicente
Qué son los Roles
• Al instalar PostgreSQL, se crea un
usuario del sistema operativo
llamado postgres. Adicionalmente, se
crea un rol y una base de datos con el
mismo nombre (postgres) en el sistema
de bases de datos.
• En PostgreSQL, el concepto de rol
puede pensarse como un usuario de
bases de datos o como un grupo de
usuarios de bases de datos.
• El rol postgres tiene cualidades de
superusuario .
3. Curso Básico de PostgreSQL – Ing. Eddie Malca Vicente
Creación de Roles
• Un rol puede ser pensado como un usuario
o como un grupo de usuarios, no están
ligados a una base de datos, son generales
a todo el cluster de base de datos.
• Los roles se guardan en una tabla de
catálogo del sistema PostGreSQL llamada
pg_roles. Su sintaxis es:
CREATE ROLE nombre [PRIVILEGIOS];
4. Curso Básico de PostgreSQL – Ing. Eddie Malca Vicente
Privilegios de Roles
• SUPERUSER: Puede crear y destruir objetos, asignar roles,
iniciar replicas. Le está permitido todo, por eso debe asignarse
con cuidado.
• CREATEDB : Puede crear bases de datos.
• CREATEROLE: Puede crear roles.
• REPLICATION : Puede iniciar replicas.
• NOREPLICATION: No puede iniciar replicas.
• PASSWORD: Asigna una clave al rol.
• LOGIN: Para que pueda iniciar sesión en el servidor
• VALID UNTIL: Se especifica una fecha y hora hasta la cual es
válido el rol creado. Sino se especifica no hay inconveniente,
significa que no expira la cuenta.
5. Curso Básico de PostgreSQL – Ing. Eddie Malca Vicente
Crear Roles
• CREATE ROLE mirol LOGIN PASSWORD
‘qwerty’;
• CREATE ROLE otrorol LOGIN PASSWORD
‘12345678‘ SUPERUSER;
• CREATE ROLE masrol LOGIN PASSWORD
‘abcd1234‘ VALID UNTIL ‘2013-08-30’;
6. Curso Básico de PostgreSQL – Ing. Eddie Malca Vicente
Listar Roles
• Para listar los Roles existentes:
• SELECT rolname FROM pg_roles;
7. Curso Básico de PostgreSQL – Ing. Eddie Malca Vicente
Modificar un Rol
• Podemos modificar las opciones de
un rol previamente creado con la
siguiente sintaxis:
ALTER ROLE nombre WITH nuevos privilegios;
8. Curso Básico de PostgreSQL – Ing. Eddie Malca Vicente
Modificar Roles
• ALTER ROLE eddie WITH CREATE
ROLE;
• ALTER ROLE mirol WITH VALID
UNTIL ‘2013-08-30’;
9. Curso Básico de PostgreSQL – Ing. Eddie Malca Vicente
Eliminar un Rol
• Podemos eliminar un rol previamente
creado con la siguiente sintaxis:
DROP ROLE nombre-rol;
10. Curso Básico de PostgreSQL – Ing. Eddie Malca Vicente
Eliminar Roles
• DROP ROLE eddie;
• DROP ROLE mirol;
11. Curso Básico de PostgreSQL – Ing. Eddie Malca Vicente
Creación de Roles en
PostgreSQL
Ing. Eddie Malca Vicente
Email: emalca@gmail.com
Twitter: @emalca