Cómo instalar y usar PostgreSQL 13 en Rocky Linux

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.
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.
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.
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
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.
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’.
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.
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.
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
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';
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.
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.
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.
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á.
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);
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.
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.