Cómo instalar PostgreSQL 15 en Rocky Linux 9

PostgreSQL es un sistema de gestión de bases de datos gratuito y de código abierto centrado 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, aplicaciones móviles y aplicaciones analíticas. Algunos usuarios notables de PostgreSQL en todo el mundo son Reddit, Skype, Instagram, Disqus, The Guardian, Yandex, Bloomberg, Nokia, BMW, etc.

Este tutorial te guiará en la instalación de la última versión de PostgreSQL 15 en un servidor Rocky Linux 9. También te guiará en el uso básico de PostgreSQL para crear usuarios/roles, gestionar bases de datos, crear tablas, insertar y recuperar datos.

Requisitos previos

Necesitarás los siguientes requisitos para completar esta guía:

  • Un servidor Rocky Linux 9 – En este ejemplo se utilizará el Rocky Linux con nombre de host‘postgresql-rocky‘.
  • Un usuario no root con privilegios de administrador sudo/root.
  • Un SELinux ejecutándose en modo permisivo.

Pasemos a la instalación de PostgreSQL 15.

Configuración del repositorio

En el momento de realizar este cableado, PostgreSQL 15 no está disponible en el repositorio de Rocky Linux. Así que, para instalar PostgreSQL 15, debes utilizar el repositorio oficial de PostgreSQL.

El primer paso será instalar y añadir repositorios PostgreSQL a tu servidor Rocky Linux 9.

Ejecuta el siguiente comando para añadir el repositorio oficial de PostgreSQL a tu sistema. Este repositorio se puede utilizar para varias versiones de distribución basadas en RHEL 9.

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

Durante el proceso, recibirás la siguiente salida:

añadir repo

Ahora comprueba la lista de repositorios disponibles mediante el comando dnf que aparece a continuación.

sudo dnf repolist

Recibirás una salida similar a esta captura de pantalla – Has añadido varias versiones de repositorios PostgreSQL a tu Rocky Linux, incluida la última versión de PostgreSQL 15.

lista repo

Con el repositorio PostgreSQL añadido, en el siguiente paso verás cómo instalar y configurar PostgreSQL 15.

Instalar PostgreSQL 15

En este paso, instalarás PostgreSQL 15 en Rocky Linux, inicializarás la base de datos PostgreSQL y las configuraciones, y luego iniciarás y habilitarás el servicio PostgreSQL 15.

Ejecuta el siguiente comando dnf para instalar el servidor PostgreSQL 15. Introduce y cuando se te pida la configuración, y pulsa ENTER para continuar.

sudo dnf install postgresql15-server postgresql15-contrib

instalar postgresql 15

Además, cuando se te pida que aceptes las claves GPG para el repositorio PostgreSQL, introduce y para confirmar y pulsa ENTER para continuar.

aceptar clave gpg

Una vez instalado PostgreSQL 15, ejecuta el siguiente comando para inicializar la base de datos y la configuración de PostgreSQL.

sudo postgresql-15-setup initdb

Con esto, recibirás una salida como ‘Inicializando base de datos … OK‘.

Ahora ejecuta el siguiente comando systemctl para iniciar y habilitar el servicio PostgreSQL 15.

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

inicializar e iniciar postgresql

Por último, verifica el servicio PostgreSQL 15 mediante el siguiente comando systemctl. Esto garantizará que tu servidor PostgreSQL 15 está habilitado y en funcionamiento.

sudo systemctl status postgresql-15

Recibirás una salida como la de esta captura de pantalla – El estado de PostgreSQL 15 es en ejecución, y está habilitado, lo que significa que el servicio se iniciará automáticamente al arrancar.

verificar postgresql

Ahora que has instalado el servidor PostgreSQL 15 y está habilitado y en ejecución. En el siguiente paso, configurarás el método de autenticación para los usuarios de PostgreSQL.

Configurar la autenticación de usuarios y el cifrado de contraseñas

Con PostgreSQL 15 instalado y en funcionamiento, ahora puedes repasar la configuración de la autenticación PostgreSQL. Esto se puede configurar a través del archivo de configuración ‘pg_hba.conf’ en el directorio de configuración de PostgreSQL.

Accede al shell de PostgreSQL mediante el siguiente comando.

sudo -u postgres psql

Después de iniciar sesión, ejecuta las siguientes consultas para verificar la configuración predeterminada de PostgreSQL que almacena los métodos de autenticación y verificar el cifrado de contraseña actual que utilizas en tu servidor PostgreSQL.

SHOW hba_file;
SHOW password_encryption;

Recibirás una salida similar a ésta – El archivo de configuración PostgreSQL por defecto para la autenticación es ‘/var/lib/pgsql/15/data/pg_hba.conf‘ y la autenticación de contraseña por defecto habilitada es‘scram-sha-256‘.

mostrar contraseña por defecto configuración de aencriptación y autenticación

Ahora abre el archivo de configuración PostgreSQL ‘/var/lib/pgsql/15/data/pg_hba. conf’ utilizando el siguiente comando del editor nano.

sudo nano /var/lib/pgsql/15/data/pg_hba.conf

Cambia la configuración por defecto con las siguientes líneas. Esto cambiará la autenticación de contraseña de localhost a‘scram-sha-256‘. Para la contraseña ‘localpuedes utilizar el valor por defecto‘peer‘ o utilizar la autenticación de contraseña ‘scram-sha-256‘.

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# 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

Guarda el archivo y sal del editor cuando hayas terminado.

configurar el método de autenticación del usuario

A continuación, ejecuta el siguiente comando systemctl para reiniciar el servicio PostgreSQL 15 y aplicar los cambios.

sudo systemctl restart postgresql-15

Por último, para verificar la configuración, inicia sesión en el shell de PostgreSQL mediante el siguiente comando.

sudo -u postgres psql

Comprueba los detalles de la conexión mediante la siguiente consulta. Deberías ver que te has conectado al PostgreSQL a través de la conexión local unix_socket‘peer‘.

\conninfo

verificar conexión

Ahora, si especificas el host PostgreSQL al localhost de 127.0.0.1, deberías ver la conexión mediante la autenticación por contraseña utilizando scram-sha-256.

sudo -u postgres psql -U postgres -h 127.0.0.1
\conninfo

Configurar la contraseña para el usuario PostgreSQL

Por defecto, el PostgreSQL creó un nuevo usuario del sistema y el usuario PostgreSQL con el nombre ‘postgres‘. Y en este paso, configurarás una nueva contraseña tanto para el usuario ‘postgres‘ a través de la línea de comandos y para el usuario PostgreSQL ‘postgresa través del intérprete de comandos PostgreSQL.

Para empezar, ejecuta el siguiente comando para crear una nueva contraseña para el usuario ‘postgres’. Introduce la nueva contraseña y repítelo, asegúrate de utilizar una contraseña segura para el usuario ‘postgres‘.

sudo passwd postgres

A continuación, inicia sesión en el intérprete de comandos PostgreSQL mediante el comando siguiente.

sudo -u postgres psql

Ejecuta la siguiente consulta para cambiar la contraseña del usuario por defecto de PostgreSQL ‘postgres‘. Y asegúrate de utilizar la contraseña en la siguiente consulta.

ALTER USER postgres WITH PASSWORD 'p4ssw0rdPostgreSQL15';
exit

Escribe ‘salir depara salir del intérprete de comandos PostgreSQL.

configurar contraseña usuario postgres

Por último, vuelve a entrar en el servidor PostgreSQL mediante el siguiente comando.

sudo -u postgres psql -U postgres -h 127.0.0.1

Cuando te pida la contraseña, introduce la contraseña del servidor PostgreSQL que has creado. A continuación, pulsa INTRO.

Si todo va bien, deberías ver el intérprete de comandos PostgreSQL de la captura de pantalla siguiente. También puedes verificar el estado de la conexión mediante la siguiente consulta.

\conninfo

verificar usuario postgres

En este paso, has cambiado y configurado la contraseña del usuario PostgreSQL por defecto‘postgres‘. También has creado una nueva contraseña para el usuario UNIX por defecto ‘postgres‘. En el siguiente paso, aprenderás a crear un nuevo usuario PostgreSQL y a crear una nueva base de datos para tu aplicación.

Crear una nueva base de datos y un nuevo usuario en PostgreSQL

En este paso, aprenderás a crear un nuevo usuario y base de datos PostgreSQL a través del shell PostgreSQL. También aprenderás a comprobar la lista de bases de datos y usuarios disponibles en el servidor PostgreSQL.

En primer lugar, asegúrate de que has iniciado sesión en el intérprete de comandos PostgreSQL. o puedes iniciar sesión mediante el siguiente comando.

sudo -u postgres psql

Crea un nuevo usuario PostgreSQL utilizando la siguiente consulta. Este ejemplo creará un nuevo usuario ‘alice‘ con los privilegios ‘CREATEDB‘ para crear bases de datos y el privilegio ‘CREATEROLE«para crear roles en PostgreSQL.

CREATE USER alice WITH CREATEDB CREATEROLE PASSWORD 'p4ssw0rdAlice';

A continuación, crea una nueva base de datos utilizando la siguiente consulta PostgreSQL. Para este ejemplo, crearás dos bases de datos, la base de datos‘alice‘ y la base de datos‘testdb‘. Ambas bases de datos tendrán el mismo propietario, que es el usuario alice.

CREATE DATABASE alice OWNER alice;
CREATE DATABASE testdb OWNER alice;

crear usuario y daatbases

Ahora comprueba la lista de usuarios y la lista de bases de datos en tu servidor PostgreSQL.

\du
\l

La salida del comando \du para mostrar la lista de usuarios en el servidor PostgreSQL. El nuevo usuario ‘alice‘ se crea con los privilegios CREADOB y CREATEROLE.

listar usuarios

La salida de la función ‘\l’ para mostrar la lista de bases de datos del servidor PostgreSQL. Verás que se han creado las nuevas bases de datos alice y testdb.

listar bases de datos

Por último, para verificar el nuevo usuario PostgreSQL, iniciarás sesión en el shell PostgreSQL a través del nuevo usuario ‘alice’.

Ejecuta el siguiente comando para acceder al shell PostgreSQL a través del usuario ‘alice‘. Cuando se te pida la contraseña, introdúcela y pulsa INTRO para confirmar.

sudo -u postgres psql -U alice -h 127.0.0.1

Tras acceder al shell PostgreSQL, ejecuta la siguiente consulta para mostrar el detalle de las conexiones actuales.

\conninfo

Deberías recibir una salida similar a ésta – Te has conectado al servidor PostgreSQL a través del usuario ‘alicey te has conectado a la base de datos ‘alice‘.

acceder al usuario

Con esto, ya has creado usuarios y bases de datos PostgreSQL. Además, te has conectado al shell de PostgreSQL a través del nuevo usuario. En el siguiente paso, aprenderás a crear una tabla y a insertar algunos datos en ella.

Crear tabla e insertar datos

Tras crear un nuevo usuario y una nueva base de datos PostgreSQL, ahora aprenderás a crear una tabla y a insertar datos en PostgreSQL. También aprenderás a cambiar a otra base de datos en PostgreSQL y a comprobar las tablas de la lista en la base de datos PostgreSQL.

Antes de empezar, asegúrate de que has iniciado sesión en el shell de PostgreSQL como usuario ‘alice‘.

Comprueba la lista de bases de datos para asegurarte de que la base de datos ‘testdb‘ está disponible.

\l

listar base de datos

Ahora pasa a la base de datos ‘testdb‘ mediante la siguiente consulta. Puedes utilizar‘\connect‘ o simplemente utilizar‘\c‘.

\connect testdb

Después de cambiar a la base de datos ‘testdb’, tu shell PostgreSQL debería ser así testdb=>‘.

A continuación, ejecuta la siguiente consulta para crear una nueva tabla ‘usuarios‘ con algunas columnas id, nombre, edad, direccióny salario.

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

La salida‘CREAR TABLA‘ confirma que se ha creado la nueva tabla en tu base de datos.

crear tabla

Ahora comprueba la lista de la tabla en la base de datos actual mediante la siguiente consulta. Deberías ver la tabla ‘usuarioscreada.

\dt

listar tablas

Después de crear la nueva tabla, insertarás algunos datos en ella mediante la consulta INSERT.

Ejecuta la siguiente consulta INSERT para añadir algunos datos a la tabla ‘usuarios‘.

INSERT INTO users (id,name,age,address,salary) VALUES (1, 'Paul', 32, 'California', 20000.00);
INSERT INTO users (id,name,age,address,salary) VALUES (2, 'Jesse', 35, 'Mexico', 30000.00);
INSERT INTO users (id,name,age,address,salary) VALUES (3, 'Linda', 27, 'Canada', 40000.00);

La salida‘INSERT 0 1‘ confirma que los nuevos datos se han añadido a la tabla.

insertar datos

Con la tabla creada y algunos datos añadidos a PostgreSQL, aprenderás a recuperar datos de PostgreSQL y a actualizar los datos disponibles en PostgreSQL.

Recuperar datos y actualizar datos

Tras crear una tabla en PostgreSQL e insertar algunos datos mediante la consulta INSERT, a continuación aprenderás a recuperar datos mediante la consulta SELECT y a actualizar o cambiar datos en columnas concretas mediante la consulta UPDATE.

Para recuperar datos, ejecuta la siguiente consulta PostgreSQL. Esto recuperará datos de la tabla PostgresSQL ‘usuarios‘.

SELECT * FROM users;

Recibirás una salida como ésta – Todos los datos de la tabla ‘usuarios‘ se mostrarán en tu shell PostgreSQL.

recuperar datos

También puedes recuperar datos de columnas específicas mediante la siguiente consulta. Esta consulta recuperará datos de columnas específicas nombre, edad y salario.

SELECT name,age,salary FROM users;

A continuación se muestra la salida que recibirás en tu terminal.

recuperar datos específicos de coplumnas

A continuación, ejecuta la siguiente consulta UPDATE para cambiar los datos de la base de datos PostgreSQL. Esto actualizará los datos de la columna ‘dirección‘ a‘Suecia‘ para la columna‘nombre‘ valor‘Pablo‘.

UPDATE users SET address = 'Sweden' WHERE name = 'Paul';

La salida‘UPDATE 1‘ confirma que los datos se han actualizado y cambiado.

Ejecuta la siguiente consulta para asegurarte de que los datos de la base de datos se han modificado.

SELECT * FROM users;

Recibirás una salida similar a ésta – La columna ‘dirección‘ se actualiza para la columna ‘nombre = Pablo‘.

actualizar datos mediante consulta de actualización

Llegados a este punto, ya has aprendido el uso básico de la consulta PostgreSQL para crear un usuario, una base de datos, una tabla, insertar datos, recuperar datos y actualizar datos en el servidor PostgreSQL.

Limpiar el entorno

En este paso, limpiarás el entorno de tu servidor PostgreSQL 15 eliminando la base de datos y los usuarios que has creado. Así que has limpiado la instalación de PostgreSQL 15 pero también has aprendido a limpiar tu servidor PostgreSQL eliminando los usuarios, bases de datos y tablas que no utilizas.

Antes de empezar, inicia sesión en PostgreSQL como el usuario predeterminado ‘postgrespor defecto.

sudo -u postgres psql

Cambia a la base de datos ‘testdbutilizando la consulta‘\connect‘.

\connect testdb;

Ejecuta la siguiente consulta para eliminar la tabla ‘usuariosy comprueba la lista de tablas de la base de datos actual.

DROP TABLE users;
\dt

La salida ‘No se ha encontrado ninguna relación.’ confirma que la tabla ‘usuarios‘ está eliminada.

borrar tabla

A continuación, cambia a la base de datos ‘postgres’ y elimina las bases de datos ‘alice’ y ‘testdb’.

\connect postgres
DROP DATABASE alice;
DROP DATABASE testdb;

Comprueba la lista de bases de datos mediante la siguiente consulta. Verás que ambas bases de datos ‘alicey ‘testdbse han eliminado del servidor PostgreSQL.

\l

Por último, ejecuta la siguiente consulta para eliminar el usuario alice. A continuación, comprueba la lista de usuarios del servidor PostgreSQL.

DROP USER alice;
\du

Recibirás un mensaje indicando que el usuario‘alice‘ ha sido eliminado del servidor PostgreSQL.

Con esto, habrás limpiado tu servidor PostgreSQL y también habrás aprendido las consultas básicas para eliminar usuarios, bases de datos y tablas en el servidor PostgreSQL.

Conclusión

Esta guía te ha enseñado a instalar la última versión de PostgreSQL 15 en un servidor Rocky Linux 9. Has instalado PostgreSQL a través del repositorio oficial de PostgreSQL, y también has aprendido la configuración básica de la autenticación PostgreSQL.

Además, has aprendido a utilizar el servidor PostgreSQL. Desde crear un usuario, cambiar la contraseña del usuario, crear una base de datos y una tabla, insertar datos, consultar datos, actualizar datos y limpiar el servidor PostgreSQL eliminando una tabla, una base de datos y un usuario no utilizados.

PostgreSQL es un RDBMS (Sistema de Gestión de Bases de Datos Relacionales) empresarial, muy utilizado en las industrias modernas en Internet. Con esto, puede que quieras comprobar y aprender otras consultas de PostgreSQL a continuación, o también puedes aprender cómo desplegar PostgreSQL de alta disponibilidad con múltiples servidores.

También te podría gustar...