Cómo instalar y usar PostgreSQL 13 en Rocky Linux

Agregar y verificar el repositorio de PostgreSQL

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 administración de bases de datos relacionales) avanzado y de clase empresarial que admite consultas SQL (relacionales) y JSON (no relacionales).

Es un sistema de administración de bases de datos altamente estable respaldado por más de 20 años de desarrollo por parte de la comunidad de código abierto y tiene una sólida reputación entre los desarrolladores y administradores de sistemas por su confiabilidad, flexibilidad, robustez 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.

En esta guía, aprenderá cómo instalar la base de datos PostgreSQL en Rocky Linux, asegurar la implementación de la base de datos PostgreSQL y el uso básico de las consultas de PostgreSQL para administrar usuarios y bases de datos.

requisitos previos

  • Un sistema Rocky Linux.
  • Un usuario con privilegios de root o sudo. Este usuario se utilizará para instalar nuevos paquetes y realizar cambios en todo el sistema.

Agregar repositorio de PostgreSQL

Para esta guía, instalará la última versión estable de PostgreSQL v13.4. Esta versión está disponible en el repositorio oficial de PostgreSQL, por lo que debe agregar el repositorio de PostgreSQL a su sistema Rocky Linux.

1. Agregue el repositorio oficial de PostgreSQL para el sistema Rocky Linux ejecutando el siguiente comando.

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

2. A continuación, ejecute el siguiente comando a continuación para verificar que el repositorio de PostgreSQL esté disponible en su sistema.

sudo dnf -qy repolist

Si el repositorio de PostgreSQL está disponible en su sistema, verá varias versiones de los repositorios de PostgreSQL como se muestra en la siguiente captura de pantalla.

Agregar y verificar el repositorio de PostgreSQL

Instalación de PostgreSQL 13 en Rocky Linux

Para poder instalar PostgreSQL desde el repositorio oficial de PostgreSQL (no desde el repositorio de Rocky Linux), debe deshabilitar el módulo de repositorio de PostgreSQL integrado.

1. Ejecute el siguiente comando a continuación para deshabilitar el repositorio del módulo PostgreSQL incorporado.

sudo dnf module -qy disable postgresql

El comando ejecutará el comando DNF en modo silencioso y aceptará todas las claves gpg (opción -qy) para repositorios de PostgreSQL.

Deshabilitar el repositorio incorporado de PostgreSQL rocky linux

2. Después de eso, instale la última versión de PostgreSQL 13.4 desde el repositorio de PostgreSQL usando el comando dnf a continuación.

sudo dnf install postgresql13-server

Escribe ‘y‘ y presione ‘Ingresar‘ para instalar PostgreSQL 13.x.

Instale PostgreSQL 13 en Rocky Linux

Luego espere la instalación de PostgreSQL.

Inicialización de la base de datos PostgreSQL

A continuación, una vez completada la instalación de PostgreSQL, debe inicializar la configuración de PostgreSQL y luego iniciar y habilitar el servicio de PostgreSQL.

1. Ejecute el siguiente comando para inicializar la configuración de la base de datos PostgreSQL.

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

Inicializar la configuración de la base de datos PostgreSQL

2. Después de eso, inicie y habilite el servicio PostgreSQL usando el siguiente comando.

sudo systemctl enable postgresql-13
sudo systemctl start postgresql-13

Ahora el servicio PostgreSQL está activo y ejecutándose, y se ejecutará automáticamente en cada arranque.

3. Ahora ejecute el siguiente comando para verificar el servicio PostgreSQL.

sudo systemctl status postgresql-13

Si su servicio PostgreSQL se está ejecutando, verá la salida verde como «activo (en ejecución)» como a continuación. De lo contrario, verá la salida roja como «ha fallado» siguiendo los registros de mensajes de error.

Iniciar y habilitar y verificar el estado del servicio PostgreSQL

Asegurar la implementación de PostgreSQL

Durante la instalación, PostgreSQL creará un nuevo usuario del sistema y un nombre de usuario de la base de datos como «postgres«. Y para esta etapa, configurará una nueva contraseña para el «postgres» usuario, tanto para el usuario del sistema y usuario de la base de datos.

1. Cambie la contraseña del usuario predeterminado del sistema «postgres» con el siguiente comando.

passwd postgres

Ahora escriba la nueva contraseña para el usuario del sistema «postgres».

2. A continuación, para cambiar la contraseña del usuario de la base de datos «postgres», debe iniciar sesión en el shell de PostgreSQL.

Primero, inicie sesión como usuario del sistema «postgres» usando el siguiente comando.

su - postgres

Ahora inicie sesión en el shell de PostgreSQL usando el comando psql a continuación.

psql

Ejecute la siguiente consulta para crear una nueva contraseña para el usuario de base de datos «postgres» predeterminado.

ALTER USER postgres WITH PASSWORD 'strongpostgrespassword';

Ahora escribe exit y presiona «Ctrl+d» para salir y desconectarse del shell de usuario ‘postgres’.

Cambie la contraseña de postgres para el usuario del sistema y el usuario de la base de datos

Cambiar método de autenticación

De forma predeterminada, los usuarios locales de PostgreSQL se conectarán al shell de PostgreSQL utilizando el método ‘peer’. El método de autenticación de pares funcionará solo para conexiones locales. En el entorno de desarrollo, puede usar este tipo de autenticación, pero para producción, considere usar el método de autenticación basado en contraseña.

Para esta etapa, aprenderá cómo cambiar el método de autenticación de pares predeterminado a la autenticación de contraseña usando ‘lárgate-sha-256‘.Anuncio publicitario

1. Primero, inicie sesión en el shell de PostgreSQL usando el siguiente comando.

sudo -u postgres psql

Ahora ejecute la siguiente consulta para verificar la ubicación de la configuración de PostgreSQL ‘pg_hba.conf‘.

SHOW hba_file;
SHOW password_encryption;

Verá la salida como se muestra a continuación.

Mostrar la configuración de PostgreSQL y el cifrado de contraseñas

Notará que la configuración de PostgreSQL «pg_hba.conf» se encuentra en el ‘/var/lib/pgsql/13/datos‘ y el cifrado de contraseña predeterminado para PostgreSQL en el sistema operativo basado en RHEL es ‘lárgate-sha-256‘.

Ahora escriba ‘\q’ para salir y salir del shell de PostgreSQL.

2. A continuación, cambie el directorio de trabajo a ‘/var/lib/pgsql/13/datos‘ y editar la configuración ‘pg_hba.conf‘ usando el editor nano.

cd /var/lib/pgsql/13/data/
nano pg_hba.conf

Al final de la línea, cambie el método de autenticación local a ‘lárgate-sha-256‘ como a continuación.

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# «local» is for Unix domain socket connections only
local   all             all                                     scram-sha-256
# 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


Ahora presiona ‘Control+x‘, escribe ‘y‘, y presione «Ingresar» para guardar y salir.

Con esta configuración, se le solicitará la contraseña para iniciar sesión en el shell de PostgreSQL.

3. Luego, aplique la nueva configuración reiniciando el servicio PostgreSQL usando el siguiente comando.

sudo systemctl restart postgresql-13

Ahora, cada vez que desee acceder al shell de PostgreSQL, debe escribir la contraseña para la autenticación.

4. Para asegurarse de la configuración de autenticación de contraseña, inicie sesión en el shell de PostgreSQL con el siguiente comando.

su - postgres
psql

Ahora se le pedirá una contraseña para el usuario predeterminado ‘postgres’.

Escriba la contraseña para el usuario de la base de datos ‘postgres’ y presione ‘Ingresar‘. Si su contraseña es correcta, verá el shell de PostgreSQL de la siguiente manera. De lo contrario, verá el ‘FATAL‘ error porque la contraseña es incorrecta.

Verificar la autenticación de PostgreSQL

Además, puede usar el comando de una línea para iniciar sesión en el shell de PostgreSQL como se muestra a continuación.

# Log in as default "postgres" user
sudo -u postgres psql

# Log in as another user
sudo -u postgres psql -U username


Verifique la autenticación de PostgreSQL con el comando psql

Crear nuevo usuario y base de datos para su aplicación

En esta etapa, aprenderá a crear un nuevo usuario y una base de datos en PostgreSQL.

1. Inicie sesión en el shell de PostgreSQL ejecutando el siguiente comando.

sudo -u postgres psql

Ahora escriba la contraseña para el usuario de PostgreSQL ‘postgres‘.

2. Ejecute la consulta de PostgreSQL a continuación para crear un nuevo usuario ‘johndoe’ con la contraseña ‘johndoestrongpassword’ y otorgue al usuario privilegios para crear una nueva base de datos y rol.

CREATE USER johndoe WITH 
CREATEDB
CREATEROLE
PASSWORD 'johndoestrongpassword';

Crear nuevo usuario PostgreSQL

Después de eso, verifique al nuevo usuario usando la siguiente consulta.

\du

Ahora verá el nuevo usuario ‘johndoe’ con la lista de roles ‘Crear rol‘ y ‘Crear base de datos‘ como a continuación.

Mostrar usuario de PostgreSQL

3. A continuación, para crear una nueva base de datos de usuarios en PostgreSQL, ejecute la siguiente consulta.

CREATE DATABASE johndoe OWNER johndoe;

Ahora verifique la nueva base de datos usando la siguiente consulta.

\l

Y verá la nueva base de datos ‘johndoe’ con el propietario ‘johndoe’ como se muestra en la siguiente captura de pantalla.

Cree una nueva base de datos PostgreSQL y muestre las bases de datos disponibles

Crear tabla e insertar datos

Después de crear una nueva base de datos y un nuevo usuario, aprenderá a crear una tabla, ingresar datos y mostrar datos de la base de datos.

1. Ahora inicie sesión en el shell de PostgreSQL como usuario ‘johndoe’ usando el siguiente comando.

su - postgres
psql -U johndoe

O puede usar el comando de una línea como se muestra a continuación.

sudo -u postgres psql -U johndoe

Ahora escriba la contraseña para el usuario de PostgreSQL ‘johndoe’ y presione ‘Ingresar‘ iniciar sesión.

Conéctese al shell de PostgreSQL con el usuario johndoe

Como puede ver en la captura de pantalla, ahora ha iniciado sesión en el shell de PostgreSQL en la base de datos ‘johndoe=>‘.

2. Ahora ejecute la siguiente consulta para crear una nueva tabla ‘usuarios’ con algunas columnas ‘id, nombre, edad, dirección y salario’.

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

Para mostrar las tablas disponibles en la base de datos actual, use el ‘\d‘consultar como’describir‘ como a continuación.

\d

Para mostrar columnas en la tabla, puede usar la misma consulta siguiendo el nombre de la tabla como se muestra a continuación.

\d users

A continuación se muestra el resultado similar que obtendrá.

Cree usuarios de tabla y muestre las columnas disponibles en la tabla

3. Luego, agregue nuevos datos a la tabla usando el ‘insertar‘ consulta como se muestra a continuación.

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);

Insertar datos a la base de datos

4. Después de eso, puede mostrar todos los datos disponibles usando el ‘Seleccione‘ consulta como se muestra a continuación.

SELECT * FROM users;

La opción ‘*’ volcará todas las columnas dentro de la tabla.

Para especificar la columna, puede usar el ‘Seleccione‘ consulta como se muestra a continuación.

SELECT name,age,salary FROM users;

Verá una salida similar a la siguiente.

Mostrar datos de la base de datos PostgreSQL

Conclusión

¡Felicidades! Ahora ha aprendido a instalar PostgreSQL en Rocky Linux. Además, aprendió cómo implementar PostgreSQL de forma segura (mínima) y el uso básico de las consultas de PostgreSQL para administrar usuarios, bases de datos y tablas.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *