Androide

Como instalar PostgreSQL en Debian 10

Como instalar o PostgreSQL no Linux Debian 10

Como instalar o PostgreSQL no Linux Debian 10

Tabla de contenido:

Anonim

PostgreSQL, a menudo conocido simplemente como Postgres, es un sistema de gestión de base de datos relacional de objetos de propósito general de código abierto. Tiene muchas características potentes, como copias de seguridad en línea, recuperación en el momento, transacciones anidadas, consultas SQL y JSON, control de concurrencia de múltiples versiones (MVCC), replicación asincrónica y más.

Este tutorial lo guía a través de los pasos para instalar el servidor de base de datos PostgreSQL en Debian 10. También exploraremos los fundamentos de la administración básica de bases de datos.

Instalar PostgreSQL

Al momento de escribir este artículo, la última versión de PostgreSQL disponible en los repositorios predeterminados de Debian es PostgreSQL versión 11.5.

Para instalar PostgreSQL en su servidor Debian, realice los siguientes pasos como root o usuario con privilegios de sudo:

  1. Para empezar, la actualización del índice de APT:

    sudo apt update

    Instalar el paquete de servidor y contrib PostgreSQL que proporciona funciones adicionales para la base de datos PostgreSQL:

    sudo apt install postgresql postgresql-contrib

    Una vez que se completa la instalación, se iniciará el servicio PostgreSQL. Para verificar la instalación, use la herramienta psql para imprimir la versión del servidor:

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

    La salida debería ser similar a la siguiente:

    PostgreSQL 11.5 (Debian 11.5-1+deb10u1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit

psql es un programa de terminal interactivo que le permite interactuar con el servidor PostgreSQL.

Roles PostgreSQL y métodos de autenticación

PostgreSQL maneja los permisos de acceso a la base de datos utilizando el concepto de roles. Dependiendo de cómo se configure el papel, puede representar un usuario de base de datos o un grupo de usuarios de bases de datos.

PostgreSQL soporta varios 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 los criterios definidos 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 soportado para las 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 es compatible con conexiones locales.

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

El usuario "postgres" se crea automáticamente cuando se instala PostgreSQL. Este usuario es el superusuario de la instancia de PostgreSQL, y es equivalente al usuario raíz de MySQL.

Para iniciar sesión en el servidor PostgreSQL como “postgres”, cambie al usuario postgres y acceso a una pronta PostgreSQL usando el psql utilidad:

sudo su - postgres psql

Desde aquí puede interactuar con el servidor PostgreSQL. Para salir del tipo PostgreSQL shell:

\q

Se puede utilizar el sudo comando para acceder al indicador de PostgreSQL sin cambiar de usuario:

sudo -u postgres psql

El usuario postgres generalmente se usa solo desde el host local.

Crear rol y base de datos PostgreSQL

El comando createuser permite crear nuevos roles desde la línea de comandos. Solo los superusuarios y los roles con privilegio CREATEROLE pueden crear nuevos roles.

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

  1. En primer lugar, crear la función emitiendo el siguiente comando:

    sudo su - postgres -c "createuser kylo"

    A continuación, crear la base de datos utilizando la createdb comando:

    sudo su - postgres -c "createdb kylodb"

    Para conceder permisos para el usuario en la base de datos, conectar a la carcasa PostgreSQL:

    sudo -u postgres psql

    Ejecute la siguiente consulta:

    grant all privileges on database kylodb to kylo;

Habilitar el acceso remoto al servidor PostgreSQL

Por defecto, el PostgreSQL, el servidor escucha sólo por la interfaz local 127.0.0.1 .

Abra el archivo de configuración postgresql.conf y añadir listen_addresses = '*' en el CONNECTIONS AND AUTHENTICATION sección. Este indicar al servidor para que escuche en todas las interfaces de red.

sudo nano /etc/postgresql/11/main/postgresql.conf /etc/postgresql/11/main/postgresql.conf

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

Guarde el archivo y reinicie el servicio PostgreSQL para que los cambios surtan efecto:

sudo service postgresql restart

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:*

La salida debe mostrar que el servidor PostgreSQL escucha en todas las interfaces (0.0.0.0).

El último paso es configurar el servidor para aceptar inicios de sesión remotos editando el archivo pg_hba.conf .

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

/etc/postgresql/11/main/pg_hba.conf

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

Conclusión

Le mostramos cómo instalar y configurar PostgreSQL en Debian 10. Para obtener más información sobre este tema, consulte la documentación de PostgreSQL.

base de datos debian postgresql