Administración de Usuarios y
Mantenimiento de las Bases de Datos
Crear usuario
CREATE USER <usuario> PASSWORD 'password';
Eliminar usuario
DROP USER <usuario>
ALTER ROLE
SUPERUSER/NOSUPERUSER. Super usuario, privilegios para crear bases de datos y usuarios
ALTER ROLE <usuario> WITH SUPERUSER;
CREATEDB/NOCREATEDB. Permite crear bases de datos.
CREATE DATABASE base_datos WITH OWNER <usuario>;
CREATEROLE/NOCREATEROLE. Permite crear roles.
CREATEUSER/NOCREATEUSER. Permite crear usuarios.
VALID UNTIL. Expiración de 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.
ALTER ROLE <usuario> WITH PASSWORD 'nuevopassword';
Crear Grupo
create group migrupo;
Para añadir o quitar usuarios de un grupo, debemos usar:
alter group migrupo add user marc, ... ; alter group migrupo drop user marc, ... ;
Permisos
grant all privileges on proveedores to marc; grant select on precios to manuel; grant update on
precios to group migrupo; revoke all privileges on precios to manuel; grant select on ganacias from
public;
Copias de Seguridad
En el primer caso, disponemos de la utilidad pg_dump, que realiza un volcado de la base de datos
solicitada de la siguiente manera
$ pg_dump demo > fichero_salida.sql
Para restaurar un volcado realizado con pg_dump, podemos utilizar directamente
el cliente psql:
$ psql demo < fichero_salida.sql
Mantenimiento rutinario de la base de datos
vacuum
Para llevar a cabo un vacuum,
deberemos ejecutar
periódicamente las sentencias
vacuum y analyze.
demo=# VACUUM;
demo=# VACUUM VERBOSE ANALYZE;
Ficheros de registro
Es una buena práctica mantener archivos de registro de
la actividad del servidor. Por lo menos, de los errores
que origina. Durante el desarrollo de aplicaciones puede
ser muy útil disponer también de un registro de las
consultas efectuadas, aunque en bases de datos de
mucha actividad, disminuye el rendimiento del gestor y
no es de mucha utilidad.