Usuario BD pgsql

De Wiki Informatica Gobierno Regional
Revisión del 10:28 6 sep 2016 de Soporte Gobierno Regional de La Araucanía (discusión | contribs.) (Página creada con «== Cómo crear un usuario y asignarle permisos en PostgreSQL == Tutorial de PostgreSQL para crear usuarios, crear bases de datos con un usuario específico como propietari...»)
(difs.) ← Revisión anterior | Revisión actual (difs.) | Revisión siguiente → (difs.)
Ir a la navegación Ir a la búsqueda

Cómo crear un usuario y asignarle permisos en PostgreSQL[editar]

Tutorial de PostgreSQL para crear usuarios, crear bases de datos con un usuario específico como propietario y asignación de permisos a una base de datos.

Este tutorial enseña cómo crear un usuario en el motor de base de datos PostgreSQL, así como crear bases de datos y asignación de permisos a nuevos usuarios.

PostgreSQL es unos de los motores de base de datos más robusto en el mundo de Open Source. Su flexibilidad y estabilidad le hacen una de las mejores alternativas a utilizar.

Algo muy importante en cualquier motor de base de datos son los privilegios de usuarios, veamos a continuación algunas de las opciones posibles.

Abrir un cliente de PostgreSQL[editar]

Para poder desarrollar este tutorial necesitamos tener disponible una sesión cliente en un servidor PostgreSQL. Para esto debemos iniciar el cliente con el siguiente comando:

psql -U postgres -h localhost -W

Crear usuario[editar]

Para crear un usuario lo haremos con el siguiente comando:

CREATE USER gore_devel PASSWORD 'password';

Eliminar usuario[editar]

Si deseamos eliminar un usuario debemos ejecutar el siguiente comando:

DROP USER gore_devel;

ALTER ROLE[editar]

El manejo de roles en PostgreSQL permite diferentes configuraciones, entre ellas estan:

SUPERUSER/NOSUPERUSER. Super usuario, privilegios para crear bases de datos y usuarios.
CREATEDB/NOCREATEDB. Permite crear bases de datos.
CREATEROLE/NOCREATEROLE. Permite crear roles.
CREATEUSER/NOCREATEUSER. Permite crear usuarios.
LOGIN/NOLOGIN. Este atributo hace la diferencia entre un rol y usuario. Ya que el usuario tiene  permisos para acceder a la base de datos a traves de un cliente.
PASSWORD. Permite alterar la contraseña.
VALID UNTIL. Expiración de usuarios.

Para cambiar la configuracion de un usuario o rol debemos ejecutar el siguiente comando.

ALTE ROLE <nombre del rol> WITH <opciones>

Asignar permisos de super usuario a un usuario[editar]

El permiso de super usuario es el mas alto. Con este usuario se podrán administrar todos los objetos del motor de base de datos.

Para asignar este privilegio a un rol lo hacemos con el siguiente comando:

ALTER ROLE gore_devel WITH SUPERUSER;

Para cambiar la contraseña de un usuario es necesario ejecutar el siguiente comando:

ALTER ROLE gore_devel WITH PASSWORD 'nuevopassword';

Crear una base de datos con un usuario específico como propietario[editar]

Todas las bases de datos que creamos con un usuario que tenga los privilegios CREATEDB automáticamente asignan como propietario al usuario mismo. Si lo que queremos crear es un usuario limitado, la forma de crearlo con una base de datos específica será:

CREATE DATABASE gore_devel_db WITH OWNER gore_devel;

Para la codificación del gore como es en latin1, se utiliza lo siguiente:

CREATE DATABASE gore_devel_db WITH TEMPLATE=template0 ENCODING='LATIN1' OWNER=gore_devel LC_COLLATE='C' LC_CTYPE='C';"

Asignar todos los permisos a un usuario a una base de datos existente[editar]

Cuando recien hemos creado un usuario y queremos darle permisos a una base de datos existente, podemos utilizar el siguiente comando:

GRANT ALL PRIVILEGES ON DATABASE gore_devel_db TO gore_devel;