Guía paso a paso: Instalación de PostgreSQL en AlmaLinux 9

PostgreSQL es un sistema de gestión de bases de datos gratuito y de código abierto que se centra en la extensibilidad y el cumplimiento de SQL. PostgreSQL es un RDBMS (Sistema de Gestión de Bases de Datos Relacionales) avanzado y de clase empresarial que admite consultas SQL (relacionales) y JSON (no relacionales).

Es un sistema de gestión de bases de datos muy estable, respaldado por más de 20 años de desarrollo por parte de la comunidad de código abierto, y goza de una gran reputación entre desarrolladores y administradores de sistemas por su fiabilidad, flexibilidad, solidez de funciones y rendimiento.

PostgreSQL se utiliza como base de datos principal para aplicaciones web, móviles y analíticas. Algunos usuarios notables de PostgreSQL en todo el mundo son Reddit, Skype, Instagram, Disqus, The Guardian, Yandex, Bloomberg, Nokia, BMW, etc.

En este tutorial, aprenderás a instalar PostgreSQL en AlmaLinux 9. Además, también aprenderás a configurar la autenticación PostgreSQL, el uso básico de PostgreSQL para crear base de datos y usuario, y algunas consultas básicas para crear tablas, insertar y recuperar datos, actualizar y eliminar.

Requisitos previos

Para empezar, debes tener los siguientes requisitos:

  • Un servidor AlmaLinux 9.
  • Un usuario no root con privilegios de administrador sudo/root.

Añadir Repositorio PostgreSQL

Por defecto, el repositorio AlamLinux proporciona paquetes PostgreSQL. Pero, para aprovechar al máximo PostgreSQL, puedes instalar PostgreSQL desde el repositorio PostgreSQL. Así te asegurarás de que también puedes instalar la última versión de PostgreSQL.

En el primer paso, añadirás el repositorio PostgreSQL a tu servidor AlmaLinux 9. Puedes seleccionar el rpositorio PostgreSQL en la página de descargas de PostgreSQL.

seleccionar repositorio

Añade el repositorio PostgreSQL para RHEL 9 utilizando el siguiente comando. Este repositorio se puede utilizar para distribuciones Linux derivadas de RHEL 9, incluyendo CentOS 9 y AlmaLinux 9.

sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm

añadir repositorio

Una vez añadido el repositorio, ejecuta el siguiente comando para verificar la lista de repositorios disponibles en tu sistema. Si tienes éxito, deberías obtener varios paquetes PostgreSQL para diferentes versiones de PostgreSQL.

sudo dnf repolist

listado de repositorios

Ahora, ejecuta el siguiente comando para actualizar los repositorios AlmaLinux y obtener la última versión de la información de la caché de paquetes.

sudo dnf makecache -y

Instalación de PostgreSQL

Después de añadir el repositorio PostgreSQL, puedes instalar los paquetes del servidor PostgreSQL. Puedes instalar PostgreSQL 11, 12, 13, 14 y la última versión 15 a través de la página oficial de PostgreSQL.

El segundo paso aquí es instalar la última versión de PostgreSQL 15 en el servidor AlmaLinux 9.

Ejecuta el siguiente comando dnf para instalar PostgreSQL 15 en tu servidor AlmaLinux. Introduce y cuando se te pida y pulsa ENTER para proceder a la instalación.

sudo dnf install postgresql15 postgresql15-server postgresql15-contrib

instalación de postgresql 15

Después de instalar PostgreSQL, ejecuta el siguiente comando para inicializar los datos y configuraciones de PostgreSQL.

sudo /usr/pgsql-15/bin/postgresql-15-setup initdb

inicializar base de datos

Ahora, ejecuta el siguiente comando systemctl para iniciar y habilitar el servicio PostgreSQL 15. Esto iniciará el servicio PostgreSQL en el puerto predeterminado 5432 y permitirá que el servicio PostgreSQL se ejecute automáticamente al iniciar el sistema.

sudo systemctl start postgresql-15
sudo systemctl enable postgresql-15

Por último, ejecuta el siguiente comando para verificar el servicio PostgreSQL y asegurarte de que se está ejecutando.

sudo systemctl status postgresql-15

Si se está ejecutando, deberías ver una salida como«activo (en ejecución)«.

comprobar el servicio postgresql

Autenticación básica de PostgreSQL

Es esencial que conozcas la autenticación PostgreSQL para que puedas asegurarte de que los usuarios de tu aplicación PostgreSQL pueden iniciar sesión y acceder a la base de datos. Existen varios métodos de autenticación PostgreSQL, como peer, trust, md5 y scram-sha-256. Y puedes configurar y ajustar la autenticación PostgreSQL mediante la configuración ‘pg_hba.conf’ que se encuentra en el directorio ‘/var/lib/pgsql/VERSION/data/’.

Ejecuta el comando cat que aparece a continuación para mostrar el archivo ‘pg_hba.conf’ por defecto.

cat /var/lib/pgsql/15/data/pg_hba.conf

En la línea inferior, deberías tener la configuración por defecto así:

contraseña por defecto autenticación postgresql

Esto significa que para cada conexión local, se utilizará el método de autenticación de pares, que es utilizando un socket Unix. Si te conectas a PostgreSQL utilizando el siguiente comando, se realizará la conexión local mediante el método de autenticación de pares y el socket Unix.

sudo -u postgres psql

Pero, si especificas el host del servidor PostgreSQL como‘-h localhost‘ y el usuario‘-U postgres‘, te conectarás mediante la autenticación por contraseña scram-sha-256, como el siguiente comando.

sudo -u postgres psql -h localhost -U postgres

Como no tienes la contraseña para el usuario postgres por defecto, te aparecerá un error como éste:

comprobación de la autenticación

Cambiar contraseña usuario postgres

En esta sección, configurarás y cambiarás la contraseña del usuariopostgres por defecto de PostgreSQL.

En primer lugar, inicia sesión en el servidor PostgreSQL mediante autenticación local.

sudo -u postgres psql

Ahora, ejecuta la siguiente consulta para configurar la contraseña del usuario por defecto ‘postgres‘, y luego escribe‘quit‘ para salir. Además, asegúrate de cambiar la siguiente contraseña por la tuya.

ALTER ROLE postgres WITH PASSWORD 'NewP4ssw0rd';
quit

cambiar contraseña por defecto postgres

Con la contraseña cambiada para el usuario ‘postgres‘, ejecuta el siguiente comando para verificar tu contraseña. Cuando se te solicite, introduce tu contraseña para el usuario «postgres«.

sudo -u postgres psql -h localhost -U postgres

Una vez conectado, ejecuta la siguiente consulta para comprobar la conexión detallada. Deberías ver que te has conectado al servidor PostgreSQL‘localhost‘ con el usuario ‘postgres‘ a la base de datos de destino‘postgres‘.

\conninfo

comprobar la autentificación de la contraseña

Crear usuario y base de datos en PostgreSQL

En esta sección aprenderás a crear un nuevo usuario y una nueva base de datos en PostgreSQL, así que empecemos.

Debes asegurarte de que has iniciado sesión en PostgreSQL mediante el cliente ‘psql’. Puedes conectarte utilizando el siguiente comando.

sudo -u postgres psql -h localhost -U postgres

Ahora, ejecuta la siguiente consulta para crear un nuevo PostgreSQL llamado‘appuser‘ con la contraseña‘p4ssAppuser‘. Si lo consigues, deberías obtener una salida como‘CREAR ROLE‘.

CREATE USER appuser LOGIN CREATEDB PASSWORD 'p4ssAppuser';

Ejecuta la siguiente consulta para verificar la lista de usuarios en PostgreSQL. Si tienes éxito, deberías ver el nuevo usuario‘appuser‘ disponible en la lista de usuarios.

\du

crear rol postgresql

Escribe‘quit‘ para salir del servidor PostgreSQL.

quit

A continuación, ejecuta el siguiente comando para conectarte al servidor PostgreSQL utilizando el nuevo usuario ‘appuser‘ a la base de datos de destino‘postgres‘. Cuando se te solicite, introduce la contraseña del usuario «appuser«.

sudo -u postgres psql -h localhost -U appuser -d postgres

Una vez conectado, ejecuta la siguiente consulta para verificar la conexión actual. Deberías ver que te has conectado a PostgreSQL mediante un nuevo usuario ‘appuser‘ a la base de datos‘postgres‘.

\conninfo

comprobar usuario postgresql

Ahora, ejecuta la siguiente consulta para crear una nueva base de datos‘appdb‘ con el propietario por defecto ‘appuser‘.

CREATE DATABASE appdb OWNER appuser;

A continuación, comprueba la lista de bases de datos disponibles en tu servidor PostgreSQL. Si es correcta, deberías ver la base de datos ‘appdb‘ disponible en PostgreSQL con el propietario ‘appuser‘.

\l

crear y verificar la base de datos

Ahora puedes cambiar de la base de datos ‘postgres‘ a la nueva base de datos ‘appdb‘ utilizando la consulta‘\connect‘. A continuación, verifica tu conexión actual.

\connect appdb;
\conninfo

En este punto, ya deberías estar conectado a la nueva base de datos «appdb«.

cambiar base de datos

Escribe ‘quit’ para salir del servidor PostgreSQL y, a continuación, verifica la conexión a la nueva base de datos ‘appdb‘ mediante el usuario ‘appuser‘ utilizando el siguiente comando.

sudo -u postgres psql -h localhost -U appuser -d appdb

Introduce tu contraseña para ‘appuser’ cuando se te solicite. Tras conectarte, comprueba el estado de la conexión.

\conninfo

Deberías ver que te has conectado a la nueva base de datos «appdb» a través del usuario «appuser«.

conectar a nueva base de datos con nuevo usuario

En este punto, has creado una base de datos y un usuario en PostgreSQL que está listo para tu aplicación. Además, también aprenderás a crear una tabla, insertar y recuperar datos en PostgreSQL en la siguiente sección.

Crear una tabla

Tras crear una nueva base de datos, aprenderás a crear tablas en PostgreSQL.

Con la base de datos‘appdb‘, ejecuta la siguiente consulta para crear una nueva tabla ‘profesores’ con las columnas‘nombre’, ‘edad’, ‘dirección’ y ‘salario’.

CREATE TABLE teachers (
   id INT PRIMARY KEY     NOT NULL,
   name           TEXT    NOT NULL,
   age            INT     NOT NULL,
   address        CHAR(50),
   salary         REAL
);

Ahora, ejecuta la siguiente consulta para mostrar todas las tablas disponibles en la base de datos ‘appdb‘, y deberías ver la tabla ‘profesores‘ que has creado.

\dt

crear y mostrar tabla

Por último, comprueba las columnas disponibles en la tabla «profesores» mediante la siguiente consulta. Deberías ver columnas como id, nombre, edad, dirección y salario.

\d+ teachers

mostrar columnas en la tabla

Insertar datos en la tabla

Con la tabla ‘profesores’ creada, ahora aprenderás a insertar datos en PostgreSQL.

Ejecuta las siguientes consultas para insertar nuevos datos en la tabla ‘profesores‘. Si lo consigues, deberías obtener un resultado como INSERT 0 1.

INSERT INTO teachers (id,name,age,address,salary) VALUES (1, 'Lea', 25, 'California', 20000.00);
INSERT INTO teachers (id,name,age,address,salary) VALUES (2, 'Lin', 35, 'Germany', 30000.00);
INSERT INTO teachers (id,name,age,address,salary) VALUES (3, 'Lisa', 27, 'Canada', 40000.00);

insertar datos postgresql

Recuperar datos en PostgreSQL

A continuación, ejecuta la consulta SELECT para recuperar datos de la tabla ‘profesores‘. Esto recuperará todos los datos disponibles de las columnas disponibles en la tabla.

SELECT * FROM teachers;

recuperar datos postgresql

También puedes utilizar SELECT para recuperar datos de columnas concretas, de esta forma En el siguiente ejemplo recuperarás datos de la columna nombre y salario.

SELECT name,salary FROM teachers;

recuperar datos columna específica

Actualizar datos en PostgreSQL

Ejecuta la siguiente consulta para actualizar los datos actuales de la tabla‘profesores‘. Esto actualizará la columna ‘dirección‘, donde la columnanombre’ es‘Lisa‘. Si se realiza correctamente, deberías obtener una salida como ACTUALIZAR 1.

UPDATE teachers SET address = 'France' WHERE name = 'Lisa';

Ahora ejecuta la siguiente consulta para verificar los datos recién actualizados. Y deberías ver que la columna ‘dirección‘ ha cambiado a‘Francia’ para el nombreLisa’.

SELECT * FROM teachers WHERE name = 'Lisa';

actualizar datos postgresql

Borrar Base de Datos y Usuario

Para limpiar tu entorno, borrarás la base de datos y el usuario que creaste. Borrarás la base de datos ‘appdb’ y el usuario ‘appuser’ de tu servidor PostgreSQL.

En primer lugar, debes cambiar a la base de datos ‘postgres‘ utilizando la siguiente consulta.

\connect postgres

Ejecuta la siguiente consulta para eliminar la base de datos ‘appdb‘, después comprueba la lista de bases de datos de tu servidor PostgreSQL, y la base de datos‘appdb‘ debería estar eliminada.

DROP DATABASE appdb
\l

soltar base de datos

Ahora escribe‘quit‘ para salir de tu sesión actual como‘appuser‘. Esto es necesario antes de eliminar el usuario ‘appuser‘ de PostgreSQL.

quit

A continuación, inicia sesión como el usuario predeterminado‘postgres‘ de PostgreSQL utilizando el siguiente comando.

sudo -u postgres psql

Una vez conectado, elimina el usuario «appuser» utilizando la siguiente consulta. Si tienes éxito, deberías obtener una salida como DROP ROLE.

DROP user appuser;

Ahora comprueba la lista de usuarios disponibles en PostgreSQL utilizando la siguiente consulta. El usuario‘appuser‘ debería ser eliminado de PostgreSQL.

eliminar usuario

Con esto, habrás limpiado la instalación de tu servidor PostgreSQL.

Conclusión

¡Enhorabuena! Con este tutorial, ya has instalado PostgreSQL en AlmaLinux 9. Has instalado la última versión de PostgreSQL 15 en AlmaLinux 9 desde el repositorio oficial de PostgreSQL. Además de eso, también has aprendido el método básico de autenticación en PostgreSQL, cómo conectarse a PostgreSQL a través de la línea de comandos psql cliente PostgreSQL, y cómo configurar una contraseña para el usuario PostgreSQL por defecto‘postgres‘. Por último, y no menos importante, también has aprendido algunas consultas básicas en PostgreSQL para crear bases de datos, usuarios y tablas, insertar y recuperar datos, y actualizar y eliminar datos.

También te podría gustar...