Androide

Cómo instalar postgresql en ubuntu 18.04

Instalar Postgresql en Ubuntu 18 04

Instalar Postgresql en Ubuntu 18 04

Tabla de contenido:

Anonim

PostgreSQL o Postgres es un sistema de gestión de base de datos relacional de objetos de propósito general de código abierto. PostgreSQL tiene muchas características avanzadas que le permiten crear aplicaciones web complejas.

En este tutorial, le mostraremos cómo instalar PostgreSQL en Ubuntu 18.04 y explorar los fundamentos de la administración básica de bases de datos.

Prerrequisitos

Antes de continuar con este tutorial, asegúrese de haber iniciado sesión como usuario con privilegios de sudo.

Instalar PostgreSQL en Ubuntu

Al momento de escribir este artículo, la última versión de PostgreSQL disponible en los repositorios oficiales de Ubuntu es PostgreSQL versión 10.4.

Para instalar PostgreSQL en su servidor Ubuntu, siga los pasos a continuación:

  1. Instalar PostgreSQL

    Actualice el índice del paquete local e instale el servidor PostgreSQL junto con el paquete contrib de PostgreSQL que proporciona varias características adicionales para la base de datos PostgreSQL:

    sudo apt update sudo apt install postgresql postgresql-contrib

    Verificación de la instalación de PostgreSQL

    Una vez que se completa la instalación, el servicio PostgreSQL se iniciará automáticamente.

    Para verificar la instalación, intentaremos conectarnos al servidor de base de datos PostgreSQL usando el psql e imprimir la versión del servidor:

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

psql es una utilidad de línea de comandos interactiva que le permite interactuar con el servidor PostgreSQL.

Roles PostgreSQL y métodos de autenticación

Los permisos de acceso a la base de datos dentro de PostgreSQL se manejan con 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ás utilizados son:

  • Confianza: con este método, el rol puede conectarse sin contraseña, siempre que se cumplan los criterios definidos en pg_hba.conf Contraseña: un rol puede conectarse al proporcionar una contraseña. Las contraseñas se pueden almacenar como scram-sha-256 md5 y password (texto sin cifrar) Ident: este método solo se admite en conexiones TCP / IP. Funciona mediante la obtención del nombre de usuario del sistema operativo del cliente, con una asignación de nombre de usuario opcional. Por pares: igual que Ident pero solo se admite en conexiones locales.

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

El usuario de postgres se crea automáticamente cuando 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 usuario de postgres, primero debe cambiar al usuario postgres y luego puede acceder a un mensaje de PostgreSQL utilizando la utilidad psql :

sudo su - postgres psql

Desde aquí puede interactuar con su instancia de PostgreSQL. Para salir del tipo PostgreSQL shell:

\q

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

sudo -u postgres psql

El usuario postgres generalmente se usa solo desde el host local y se recomienda no establecer la contraseña para este usuario.

Crear rol y base de datos PostgreSQL

Usted puede crear nuevas funciones desde la línea de comandos utilizando el createuser comando. 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. Crear un nuevo rol de PostgreSQL

    El siguiente comando creará un nuevo rol llamado john:

    sudo su - postgres -c "createuser john"

    Crear una nueva base de datos PostgreSQL

    Cree una nueva base de datos llamada johndb usando el comando createdb :

    sudo su - postgres -c "createdb johndb"

    Conceder privilegios

    Para otorgar permisos al usuario de john en la base de datos que creamos en el paso anterior, conéctese al shell PostgreSQL:

    sudo -u postgres psql

    y ejecuta 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 postgresql.conf y agregue listen_addresses = '*' en la sección CONNECTIONS AND AUTHENTICATION .

sudo vim /etc/postgresql/10/main/postgresql.conf /etc/postgresql/10/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 con:

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

Como puede ver en el resultado anterior, el servidor PostgreSQL está escuchando 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:

/etc/postgresql/10/main/pg_hba.conf

# TYPE DATABASE USER ADDRESS METHOD # The user jane will be able to access all databases from all locations using a 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 a 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

Has aprendido cómo instalar y configurar PostgreSQL en tu servidor Ubuntu 18.04.

Puede consultar la documentación de PostgreSQL 10.4 para obtener más información sobre este tema.

base de datos ubuntu postgresql