> For the complete documentation index, see [llms.txt](https://b4zh.gitbook.io/b4zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://b4zh.gitbook.io/b4zh/metasploit-framework/base-de-datos.md).

# BASE DE DATOS

Desde la versión 5.0 de MSF ya no es necesario como tal crear la base de datos, aunque si es indispensable si queremos crear Workspaces/Espacios de trabajo.

A continuación los comandos que ejecute para iniciar el SGBD PostgreSQL en ArchLinux:

```bash
sudo pacman -Sy postgresql
sudo systemctl start postgresl #-> me devolvio un error y una posible solución

 #Pero antes tenia que saber la contraseña del usuario postgres que se creo con la
 #instalación del usuario postgresql.
 su - #cambiar al usuario root
 passwd postgres #establecer una nueva contraseña para el usuario postgres
 exit #salir del usuario root
 
 # Ahora si ejecutamos el comando que nos aparecio en la salida erronea.
 su -l postgres -c "init.db --locale=C.UTF8 --encoding=UTF8 -D '/var/lib/postgres/data'"
 # se nos solicitará la contraseña del usuario postgres.
 
 # Perfecto, ahora volvemos a intentar iniciar PostgreSQL
 sudo systemctl start postgresql
 # Y verificamos el estado para ver que todo salio bien
 sudo systemctl status postgresql
 
 # Ahora iniciamos la base de datos de MSF
 msfdb init #primero intente ejecutarlo con sudo pero en la salida se me solicitaba que
 # ejecute el mismo comando pero con un usuario no-root.
 # Crea el usuario y la base de datos si no fueron creados previamente. Y genera
 # un fichero de configuración con extensión .yml
 # En mi caso, este fichero se creo en /home/$USER/.msf4/database.yml
 
 # Comprobar que MSF está conectado a la base de datos
 # Entramos a la msfconsole
 msfconsole
 # Y ejecutamos el sigiuente comando
 db_status
 
 # Para detener el uso de la base de datos, matamos el servicio del SGBD postgresql
 sudo systemctl stop postgresql
   
```
