Victor Catalán

Moving to AngularJS - NodeJS - PostgreSQL Applications (I)

September 25, 2016 | Victor Catalán | 2 Minute Read

Instalación de PostgreSQL 9.5 en distribuciones basadas en Debian

Últimamente he tenido la oportunidad de adentrarme más en el mundo de Javascript, NodeJS y AngularJS y como base de datos PostgreSQL, he de decir que al principio era muy reticente a todo ello, sin embargo al final hay que aceptar que es un mundo que está muy chulo. Javascript tiene una potencia inabarcable y te da una gran versatilidad para poder realizar todos los requisitos, orientacion a objetos, prototipado..etc Aquí os dejo una lista de videos que encontré publicados por Javier Moreno en youtube que como punto de partida desde el nivel básico da una gran visión de todo lo que se puede llegar a hacer.

Hoy me quiero centrar en la base de datos PostgreSQL 9.5 (Actualmente acaba de publicarse la versión 9.6 Relesase Notes), es una base de datos open-source altamente escalable y que nos permite utilizarla como base de datos relacional pero con soporte para JSON binario (JSONB).

Instalación

Hay que añadir el repositorio al listado de apt.

# Añadir el repositorio
$ sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ trusty-pgdg main 9.5" >> /etc/apt/sources.list.d/pgdg.list'

# Importar la clave del repositorio
$ sudo apt-get install wget ca-certificates
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

Después de añadirlo el repositorio actualizamos la lista de paquetes.

$ sudo apt-get update

Ejecutamos la instalación

$ sudo apt-get install postgresql-9.5

El proceso de instalacion creará un usuario y un grupo con el nombre postgres dentro de la base de datos y en el sistema Linux. Este usuario tendrá permisos de administrador en la base de datos. Por lo que en primer lugar deberemos conectarnos con este usuario para testear la instalación y acceder a la consola de psql

# Log in "postgres"
$ sudo su - postgres

# Iniciar la consola psql
$ psql

# Comprobar la conexion
postgres-# \conninfo

# Desconectar o <Ctrl>+D
postgres-# \q 

Configuración

La base de datos se ha instalado en la ubicacion /etc/postgresql/9.5. Y dentro de este directorio los archivos principales de configuracion son:
- /etc/postgresql/9.5/main/postgresql.conf
- /etc/postgresql/9.5/main/pg_hba.conf => Documentación

Dentro de postgresql.conf podemos adecuar los siguientes parámetros para optimizar según nuestro sistema.

# Direccion desde la que se puede acceder
listen_addresses = ‘127.0.0.1’ # or ‘*’

#Por defecto 100
max_connections = 100

#25% total RAM, más de 4GB no suele ayudar mucho
shared_buffers = 1GB

#75% total RAM
effective_cache_size = 24GB

#24MB para 16GB RAM
work_mem = 24MB

Más adelante volveré con el resto de partes de NodeJS y AngularJS.

Saludos.