Androide

Como instalar PostgreSQL en centos 8

CentOS 8 Server - #8 Install PostgreSQL

CentOS 8 Server - #8 Install PostgreSQL

Tabla de contenido:

Anonim

PostgreSQL o PostgreSQL es un sistema de gestión de base de datos relacional de objetos de uso general de código abierto con muchas características avanzadas que le permite construir ambientes tolerantes a fallos o aplicaciones complejas.

En esta guía, vamos a discutir cómo instalar el servidor de base de datos PostgreSQL en CentOS 8. Antes de elegir la versión que desea instalar, asegúrese de que sus aplicaciones son compatibles con ella.

También exploraremos los conceptos básicos de la administración de la base de datos PostgreSQL.

Prerrequisitos

Para poder instalar los paquetes, es necesario estar conectado como root o usuario con privilegios sudo.

Instalación de PostgreSQL en CentOS 8

En el momento de escribir este artículo, hay dos versiones de servidor PostgreSQL disponibles para la instalación de los repositorios de CentOS estándar: versión 9.6 y 10.0.

Para enumerar las secuencias de módulos PostgreSQL disponibles, escriba:

dnf module list postgresql

El resultado muestra que el módulo postgresql está disponible con dos flujos. Cada corriente tiene dos perfiles: el servidor y el cliente. La corriente 10 con el servidor de perfil es el que viene por defecto:

CentOS-8 - AppStream Name Stream Profiles Summary postgresql 10 client, server PostgreSQL server and client module postgresql 9.6 client, server PostgreSQL server and client module

  1. Para instalar la secuencia predeterminada, escriba la versión 10.0 del servidor PostgreSQL:

    sudo dnf install @postgresql:10

    Para instalar el servidor PostgreSQL versión 9.6, escriba:

    sudo dnf install @postgresql:9.6

También es posible que desee instalar el paquete de contribución que proporciona varias características adicionales para la base de datos PostgreSQL:

sudo dnf install postgresql-contrib

Una vez completada la instalación, inicializar la base de datos PostgreSQL con el comando siguiente:

sudo postgresql-setup initdb

Initializing database… OK

Inicie el servicio PostgreSQL y permita que se inicie en el arranque:

sudo systemctl enable --now postgresql

Use la herramienta psql para verificar la instalación conectándose al servidor de base de datos PostgreSQL e imprima su versión:

sudo -u postgres psql -c "SELECT version();"

PostgreSQL 10.6 on x86_64-redhat-linux-gnu, compiled by gcc (GCC) 8.2.1 20180905 (Red Hat 8.2.1-3), 64-bit

Roles PostgreSQL y métodos de autenticación

PostgreSQL maneja los permisos de acceso a la base de datos utilizando el concepto de roles. Un rol puede representar un usuario de la base de datos o un grupo de usuarios de la base de datos.

PostgreSQL admite múltiples métodos de autenticación. Los métodos más utilizados son:

  • Confianza - Una función puede conectarse sin una contraseña, siempre y cuando las condiciones definidas en el pg_hba.conf son met.Password - Una función se puede conectar al proporcionar una contraseña. Las contraseñas se pueden almacenar como scram-sha-256 , md5 , y password (en texto claro).Ident - Sólo disponible en conexiones TCP / IP. Funciona mediante la obtención de nombre de usuario del sistema operativo del cliente, con un mapping.Peer nombre de usuario opcional - Igual que Ident, pero sólo se admite en conexiones locales.

La autenticación del cliente PostgreSQL se define en el archivo de configuración llamado pg_hba.conf . De manera predeterminada, para conexiones locales, PostgreSQL está configurado para usar el método de autenticación de pares.

El usuario postgres se crea automáticamente cuando instala el servidor PostgreSQL. Este usuario es el superusuario de la instancia de PostgreSQL. Es equivalente al usuario root de MySQL.

Para iniciar sesión en el servidor PostgreSQL como el postgres usuario, primer interruptor para el usuario y luego acceder al indicador de PostgreSQL usando el psql utilidad:

sudo su - postgres psql

Desde aquí, puede interactuar con la instancia de PostgreSQL. Para salir del shell PostgreSQL, escriba:

\q

También puede acceder al indicador de PostgreSQL sin cambiar de usuario con el sudo comando:

sudo -u postgres psql

Por lo general, el usuario postgres se usa solo desde el host local.

Crear rol y base de datos PostgreSQL

Solo los superusuarios y los roles con privilegio CREATEROLE pueden crear nuevos roles.

En el siguiente ejemplo, crearemos un nuevo rol llamado john , una base de datos llamada johndb , y johndb privilegios en la base de datos.

  1. En primer lugar, conectar a la carcasa PostgreSQL:

    sudo -u postgres psql

    Cree un nuevo rol de PostgreSQL utilizando el siguiente comando thr:

    create role john;

    Crea una nueva base de datos:

    create database johndb;

    Otorgue privilegios al usuario en la base de datos ejecutando la siguiente consulta:

    grant all privileges on database johndb to john;

Habilite el acceso remoto al servidor PostgreSQL

Por defecto, el servidor PostgreSQL solo escucha en la interfaz local 127.0.0.1 .

Para habilitar el acceso remoto a su servidor PostgreSQL, abra el archivo de configuración:

sudo nano /var/lib/pgsql/data/postgresql.conf

Desplácese hacia abajo hasta la sección CONNECTIONS AND AUTHENTICATION y agregue / edite la siguiente línea:

/var/lib/pgsql/data/postgresql.conf

#------------------------------------------------------------------------------ # CONNECTIONS AND AUTHENTICATION #------------------------------------------------------------------------------ # - Connection Settings - listen_addresses = '*' # what IP address(es) to listen on;

Guarde el archivo y reinicie el servicio PostgreSQL con:

sudo systemctl restart postgresql

Verifique los cambios con la utilidad ss :

ss -nlt | grep 5432

LISTEN 0 128 0.0.0.0:5432 0.0.0.0:* LISTEN 0 128:5432:*

El resultado anterior muestra que el servidor PostgreSQL está escuchando en el puerto predeterminado en todas las interfaces (0.0.0.0).

El último paso es configurar el servidor para aceptar conexiones remotas editando el archivo pg_hba.conf .

A continuación hay algunos ejemplos que muestran diferentes casos de uso:

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

# TYPE DATABASE USER ADDRESS METHOD # The user jane can access all databases from all locations using an md5 password host all jane 0.0.0.0/0 md5 # The user jane can access only the janedb database from all locations using an md5 password host janedb jane 0.0.0.0/0 md5 # The user jane can access all databases from a trusted location (192.168.1.134) without a password host all jane 192.168.1.134 trust

Conclusión

CentOS 8 proporciona dos versiones de PostgreSQL: 9.6 y 10.0.

Para obtener más información sobre este tema, visite la documentación de PostgreSQL

base de datos centos postgresql