Debido a que es nuestra primera vez utilizando apt en esta sesión, debemos refrescar nuestro índice de paquetes locales. Podemos instalar el paquete PostgreSQL.
$ sudo apt-get update
$ sudo apt-get install postgresql
Editar el archivo de configuración pg_hba.conf
$ sudo vim /etc/postgresql/10/main/pg_hba.conf
Actualice la parte inferior del archivo, debe quedar de la siguiente forma
# Database administrative login by Unix domain socket
local all postgres trust
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
Edite el siguiente archivo – postgresql.conf
$ sudo vim /etc/postgresql/10/main/postgresql.conf
Descomenta y edita las siguientes líneas
listen_addresses = 'localhost'
Reinicial postgres
$ sudo /etc/init.d/postgresql restart
Ejecuta el siguiente comando para ingresar a la base de datos
$ psql -U postgres
Crear un Nuevo Rol
Por defecto, Postgress utiliza un concepto llamado “roles” que maneja identificación y autorización. Estos son, de algún modo, similares a los estilos de cuentas en Unix, pero Postgres no distingue entre usuarios y grupos y en su lugar prefiere ser más flexible con el término “rol”
Al concluir la instalación Postgres está listo para utilizar la identificación ident, lo que significa que asocia los roles de Postgres con una cuenta de sistema Unix/Linux. Si el rol existe en Postres, un nombre de usuario Unix/Linux con el mismo nombre podrá identificarse como ese rol.
para realizar esta operación primero debe ingresar a la base de datos con el usuario postgres
CREATE ROLE institute_user LOGIN PASSWORD 'newright789'
Crear la base de datos
De forma predeterminada, otra suposición que hace el sistema de autenticación de Postgres es que habrá una base de datos con el mismo nombre que el rol que se utiliza para iniciar la sesión, a la que el rol tiene acceso.
En este caso usaremos el usuario institute_user que creamos anteriormente.
CREATE DATABASE institute OWNER institute_user