Hoy os traigo un tutorial donde voy a enseñaros a instalar un motor de bases de datos PostgreSQL sobre Ubuntu 22.04.
Requisitos
Para seguir este tutorial es necesario disponer de los siguientes requisitos:
- Ubuntu 22.04.
- Usuario con privilegios de sudo.
- Conexión a Internet para descargar los paquetes a instalar.
Como siempre os dejaré el tutorial en 2 formatos, en video y en imágenes para que elijáis el método que prefiráis 😉
Videotutorial
Si te gusta este tipo de contenido te agradecería tu apoyo suscribiéndote al canal de Youtube para poder seguir creando contenido que seguro te será de mucha utilidad y te ayudará en tu día a día.
Tutorial paso a paso en imágenes
Instalación de PostgreSQL
El primer paso es actualizar nuestros repositorios.
sudo apt update
A continuación vamos a instalar PostgreSQL desde los repositorios oficiales de Ubuntu.
sudo apt install -y postgresql
Una vez tenemos instalado PostgreSQL con todas sus dependencias vamos a comprobar que el servicio del motor de base de datos se encuentra en ejecución.
systemctl status postgresql
Nota: por defecto en la instalación PostgreSQL se auto configura para que se inicie automáticamente con cada arranque del sistema.
Como podemos comprobar, en nuestro caso, se encuentra activo así que vamos bien 🙂
Conectar a PostgreSQL desde el propio servidor con el usuario administrador por defecto
Una vez hemos hecho la instalación vamos a acceder a nuestra instancia de PostgreSQL utilizando para ello el usuario administrador que trae por defecto.
Para acceder a PostgreSQL vamos a utilizar el cliente de consola psql que viene incluido en PostgreSQL y vamos a utilizar para logarnos el usuario administrador que trae por defecto. Este usuario no utiliza contraseña para su acceso sino que funciona por socket de Unix por lo que es necesario que utilicemos sudo a la hora de ejecutar el siguiente comando:
sudo -iu postgres psql
Una vez estamos dentro del cliente psql vamos a crear nuestra primera base de datos y un primer usuario que será el que utilizaremos a partir de ahora para trabajar con PostgreSQL.
Creación de una base de datos
Crear una base de datos en PostgreSQL es un muy sencillo simplemente tenemos que ejecutar lo siguiente:
postgres=# create database nombre_base_de_datos;
Crear usuarios en PostgreSQL
Lo siguiente que vamos a hacer es crear nuestro primer usuario y darle permisos sobre la base de datos que hemos creado en el paso anterior.
postgres=# create user usuario with encrypted password 'micontrasena';
Para darle permisos sobre una base de datos al usuario que acabamos de crear usaremos el siguiente comando.
Nota: Los permisos que podemos dar son los siguientes:
- ALL: otorga todos los permisos sobre la base de datos.
- ALTER: permite modificar tablas, secuencias, etc..
- CREATE: permite crear tablas, secuencias, etc…
- DROP: permite borrar tablas, secuencias, etc…
- DELETE: permite eliminar tablas, secuencias, etc…
- INSERT: permite insertar registros en tablas.
- UPDATE: permite actualizar registros en tablas.
- SELECT: permite consultar tablas, secuencias, etc…
postgres=# grant all privileges on database nombre_base_de_datos to nombre_usuario;
Nota: Si nos interesara que el usuario tenga privilegios de super usuario por algún motivo tendríamos que ejecutar el siguiente comando, aunque esto es opcional.
alter role nombre_usuario with superuser;
Activar el acceso por conexiones remotas
Si necesitamos acceder de forma remota a nuestro motor de PostgreSQL, algo muy común, tenemos que editar el siguiente fichero de configuración:
sudo nano /etc/postgresql/14/main/pg_hba.conf
Localizar la siguiente sección:
# IPv4 local connections: host all all 127.0.0.1/32 scram-sha-256 # IPv6 local connections: host all all ::1/128 scram-sha-256
Añadir la siguiente directiva:
# Acceso remoto host all all all scram-sha-256
Guardar este fichero de configuración y modificar este otro fichero:
sudo nano /etc/postgresql/14/main/postgresql.conf
Localizamos la siguiente línea:
# - Connection Settings - #listen_addresses = 'localhost' # what IP address(es) to listen on;
Des comentamos la línea quitando la # y cambiamos localhost por un *.
# - Connection Settings - listen_addresses = '*' # what IP address(es) to listen on;
Guardamos el fichero y reiniciamos el servicio de postgreSQL para que se apliquen los cambios.
sudo systemctl restart postgresql
En el caso de tener activado el Firewall UFW de Ubuntu debemos añadir la siguiente regla.
sudo ufw allow postgresql
Y ya deberíamos de poder conectarnos de forma remota a nuestro PostgreSQL :).
Como siempre espero que os haya sido de utilidad.
Me dedico a la Administración de Sistemas y he creado este blog para compartir mis conocimientos con toda la comunidad y así aportar mi granito de arena y ayudar a todo el que lo necesite.