Una de las tareas indispensables al implementar un sistema informático, es la creación de la base de datos y su usuario asociado, algo que muchas herramientas ya realizan de forma automática como parte de sus procesos, igualmente la idea en este caso es saber como se hace a mano y eventualmente analizar como automatizarlo dentro de la lógica de trabajo.
Que comandos usar
Bien, vamos manos a la obra, lo primero a realizar es claramente, conectarse al servidor (usualmente por SSH).
Primero hay que logearse con el usuario admin, por defecto luego de instalar Postgres dicho usuario es “postgres” y el mismo no tiene contraseña asociada (se recomienda definir una):
# su postgres
Luego se deberá ingresar a la consola de Postgres:
$ psql
Dentro de la consola Postgres, deberemos crear el usuario en cuestión con:
postgres=# create user pepe password ‘I7lKL@6c5GF9u7JjvdCv6fulFvxayUY0tuKUoliy0V&1FPXU‘;
En este caso “pepe” y la contraseña “yUY0tuKUoliy0V&1FPXU…”.
Si todo va bien, la consola responderá “CREATE ROLE”
Luego podemos crear la base de datos:
postgres=# create database tomate with owner pepe;
En este caso “tomate” es el nombre de la base de datos.
Si todo va bien, la consola responderá “CREATE DATABASE”
Ahora el último paso sería otorgar al usuario pepe los permisos para operar sobre la base de datos creada.
postgres=# GRANT ALL PRIVILEGES ON DATABASE tomate to pepe;
Si todo va ok, la consola responderá “GRANT”.
Y listo! Ya hemos creado el usuario y contraseña para una nueva base de datos Postgres!
Recomendaciones básicas
Si la base de datos que crearás es parte de una implementación de software en producción, por cuestiones de seguridad:
- NUNCA deben usarse usuarios con acceso de tipo administrador.
- Se debe crear un nuevo usuario para cada base de datos e instancia, lo ideal sería que cada usuario tenga solo permisos sobre una sola base de datos.
- Usar nombres no descriptivos tanto para usuarios como bases de datos, la idea es hacer mas tedioso el trabajo para cualquier posible intruso del sistema.