La instalación de PostgreSQL en Rocky Linux 9, una distribución de Linux que está basada en Red Hat Enterprise Linux 9 (RHEL) y pretende ser un reemplazo de CentOS, es una tarea relativamente sencilla ya que la base de datos está disponible a través del canal oficial. Por lo que no es necesario agregar repositorios como en versiones anteriores (como CentOS 7). En esta entrada se van a mostrar los pasos para instalar y configurar PostgreSQL en Rocky Linux 9 (o cualquier distribución basada en RHEL).
Tabla de contenidos
Instalación de PostgreSQL
Antes de instalar PostgreSQL es aconsejable comprobar la versión de la base de datos que se va a instalar, para ello se puede ejecutar el siguiente comando en la terminal
dnf module list postgresql
Lo que mostrará todas las versiones de PostgreSQL disponibles en el canal, la que se encuentra configurada por defecto y, en el caso de tener alguna instalada, las versiones ya instaladas. A fecha de publicación la única versión que se encuentra disponible en Rocky Linux 9 es la 15 PostgreSQL, pero si estuviese más de una disponible esta se podría cambiar mediante el siguiente comando
sudo dnf module enable postgresql:15
Indicando al final del comando la versión. Una vez hecho esto para instalar la base de datos solamente se tiene que ejecutar el siguiente comando
sudo dnf install postgresql-server
Lo que mostrará la lista de paquetes a instalar y pedirá confirmación para continuar con el proceso de instalación. Al confirmar la operación, los paquetes se descargarán e instalarán de forma inmediata.
Configuración de la base de datos
El proceso anterior solamente ha instalado el software en el sistema, para trabajar con PostgreSQL es necesario crear una base de datos y configurar el acceso. Para lo que se deberá ejecutar el comando
sudo postgresql-setup –initdb
con el que se creará una base de datos en la ruta /var/lib/pgsql/data
.
Permitir el acceso remoto a PostgreSQL
La configuración por defecto de PostgreSQL no admite llamadas remotas, solamente se puede acceder desde el propio ordenador. Si se desea acceder desde otras máquinas será necesario cambiar la configuración. Para eso primero se debe abrir el archivo /var/lib/pgsql/data/postgresql.conf
y cabiando la línea
listen_addresses = 'localhost'
por
listen_addresses = '*'
Lo que hará que la base de datos escuche desde cualquier dirección.
Además, también se tiene que indicar la dirección IP o el rango de IP desde el que se desea acceder a la base de datos. Lo que se configura en el archivo /var/lib/pgsql/data/pg_hba.conf
. En este archivo se debe agregar una línea como la siguiente
host all all 192.168.1.39/24 md5
en la que se indica que se accede desde puede acceder a todas las bases de datos, por parte de todos los usuarios, desde cualquier IP en el rango 192.168.1.39/24 mediante autenticación scram-sha-256. Solamente se debe reemplazar el rango de IP por aquel en el que se encuentre la máquina.
Crear una regla para el cortafuegos de Rocky Linux 9
En Rocky Linux 9 el cortafuegos está activado por defecto y es necesario crear una regla para que se pueda acceder a la base de datos. Para lo que es necesario permitir el paso a través del puerto 5432, salvo que se hubiese cambiado el puerto por defecto. Primero es necesario comprobar que el puerto no está activo ya, para lo que se pueden listar la lista de puertos con el comando
firewall-cmd --zone=public --list-ports
tras comprobar que no está activo se puede activar mediante el comando
sudo firewall-cmd --zone=public --add-port 5432/tcp --permanent
Sin olvidar reiniciar el servicio del cortafuegos para que se apliquen los cambios.
sudo systemctl restart firewalld
Iniciar el servicio PostgreSQL
Ahora se puede iniciar la base de datos con el demonio, sin olvidar activar este para que se reinicie con el sistema. Lo que se puede conseguir con los suguites comandos
sudo systemctl start postgresql
sudo systemctl enable postgresql
Una vez hecho esto se puede comprobar que el demonio se ha inciado de forma correcta con el comando
systemctl status postgresql
Configurar la base de datos
Durante el proceso de instalación de PostgreSQL se crea un usuario postgres
para la configuración de la base de datos. Ahora es necesario cambiar a este usuario para crear usuarios de la base de datos y asignar contraseñas, lo que se puede hacer mediante el comando
su postgres
Al iniciar sesión con este usuario se puede crear un nuevo usuario mediante el comando
createuser –interactive
Una vez creado el usuario se puede cambiar la contraseña desde la propia base de datos a la que se accede con el comando
psql
En lo que se debe ejecutar un comando como el siguiente en el que se reemplazará myuser
por el nombre del usuario y mypassword
por la contraseña que se desea usar.
ALTER USER myuser PASSWORD 'mypassword';
Acceso a la base de datos
Ahora ya se puede usar pgAdmin o cualquier otro software para acceder a la base de datos con el usuario creado.
Conclusiones
En esa entrada se han visto los pasos para la instalación de PostgreSQL en Rocky Linux 9 y su posterior configuración. Siendo los mismos pasos que se deben seguir para instalar en la base de datos RHEL 9 o cualquier distribución compatible como podría ser el caso de AlmaLinux 9.
Este ejercicio se ha realizado en una máquina virtual de VirtualBox con Rocky Linux 9 instalado tal como se explicó en una publicación anterior.
Image by Rohit Gupta from Pixabay
Deja una respuesta