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 de PostgreSQL en Rocky Linux, asegurar la implementación de la base de datos de PostgreSQL y el uso básico de las consultas de PostgreSQL para administrar usuarios y bases de datos.
Requisitos
- 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. Luego, 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.
Instalando 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 integrado.
módulo sudo dnf -qy desactivar 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 instalar postgresql13-servidor
Escriba 'y ' y presione 'Entrar ' 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 habilitar postgresql-13
sudo systemctl iniciar postgresql-13
Ahora el servicio de 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 estado postgresql-13
Si su servicio PostgreSQL se está ejecutando, verá el resultado verde como "activo (en ejecución)" como a continuación. De lo contrario, verá el resultado rojo como "fallido " siguiendo los registros de mensajes de error.
Asegurando el Despliegue 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 " usando el siguiente comando.
contraseña postgres
Ahora escriba la nueva contraseña para el usuario del sistema "postgres ".
2. A continuación, para cambiar la contraseña de "postgres " usuario de la base de datos, 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 siguiente comando psql.
psql
Ejecute la siguiente consulta para crear una nueva contraseña para el valor predeterminado "postgres " usuario de la base de datos.
ALTERAR USUARIO postgres CON CONTRASEÑA 'strongpostgrespassword';
Ahora escribe exit y presiona "Ctrl+d " para salir y desconectarse de 'postgres ' shell de usuario.
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 'scram-sha-256 '.
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 '.
MOSTRAR hba_file;
MOSTRAR contraseña_cifrado;
Verá el resultado como se muestra a continuación.
Notará que la configuración de PostgreSQL "pg_hba.conf" se encuentra en '/var/lib/pgsql/13/data ', y el cifrado de contraseña predeterminado para PostgreSQL en el sistema operativo basado en RHEL es 'scram-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/data ' y edite 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 'scram-sha-256 ' como se muestra a continuación.
# Tipo de base de datos Método de dirección de usuario
# "local" es solo para conexiones de socket de dominio UNIX
local todo scram-sha-256
# ipv4 conexiones locales:
host todos todos 127.0.0.1/32 scram-sha-256
# conexiones locales IPv6:
host todos todos ::1/128Ahora presiona 'Ctrl+x ', escribe 'y ', y presiona "Entrar " 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 reiniciar postgresql-13Ahora, 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
psqlAhora se le pedirá una contraseña para el usuario predeterminado 'postgres '.
Escriba la contraseña para 'postgres ' usuario de la base de datos y presione 'Enter '. Si su contraseña es correcta, verá el shell de PostgreSQL de la siguiente manera. De lo contrario, verá el mensaje '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.
# Iniciar sesión como usuario "postgres" predeterminado
sudo -u postgres psql
# Iniciar sesión como otro usuario
sudo -u postgres psql -U nombre de usuario
Creando Nuevo Usuario y Base de Datos para su Aplicación
En esta etapa, aprenderá cómo crear un nuevo usuario y base de datos en PostgreSQL.
1. Inicie sesión en el shell de PostgreSQL ejecutando el siguiente comando.
sudo -u postgres psqlAhora 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 CON
CREATEB
CREATEROLE
CONTRASEÑA 'johndoestrongpassword';
Después de eso, verifique al nuevo usuario usando la siguiente consulta.
\duAhora verá el nuevo usuario 'johndoe' con la lista de roles 'Crear rol ' y 'Crear base de datos ' como se muestra a continuación.
3. A continuación, para crear una nueva base de datos de usuarios en PostgreSQL, ejecute la siguiente consulta.
CREAR BASE DE DATOS johndoe PROPIETARIO johndoe;Ahora verifique la nueva base de datos utilizando la siguiente consulta.
\lY 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 base de datos y un usuario nuevos, 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 johndoeO puede usar el comando de una línea como se muestra a continuación.
sudo -u postgres psql -U johndoeAhora escriba la contraseña para el usuario de PostgreSQL 'johndoe ' y presione 'Entrar ' para 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 usuarios (
id INT PRIMARY KEY NOT NULL,
nombre TEXTO NOT NULL,
edad INT NOT NULL,
dirección CHAR(50),
salario REAL
);Para mostrar las tablas disponibles en la base de datos actual, use el '\d ' consulta como 'describir ' como se muestra a continuación.
\dPara mostrar columnas en la tabla, puede usar la misma consulta siguiendo el nombre de la tabla como se muestra a continuación.
\d usuariosA continuación se muestra el resultado similar que obtendrá.
3. Luego, agregue nuevos datos a la tabla usando el botón 'insertar ' consulta como se muestra a continuación.
INSERTAR EN usuarios (id, nombre, edad, dirección, salario) VALORES (1, 'Paul', 32, 'California', 20000.00);
INSERTAR EN usuarios (id, nombre, edad, dirección, salario) VALORES (2, 'Jesse', 35, 'México', 30000.00);
INSERTAR EN usuarios (id, nombre, edad, dirección, salario) VALORES (3, 'Linda', 27, 'Canadá' , 40000.00);
4. Después de eso, puede mostrar todos los datos disponibles usando el 'seleccionar ' consulta como se muestra a continuación.
SELECCIONAR * DE usuarios;La opción '*' volcará todas las columnas dentro de la tabla.
Para especificar la columna, puede usar el 'seleccionar ' consulta como se muestra a continuación.
SELECCIONE nombre,edad,salario FROM usuarios;Verá un resultado similar al 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.