Como instalar PostgreSQL en local

Contenido

Las siguientes instrucciones para instalar PostgreSQL están pensadas para utilizarlo a través de un contenedor de Docker. Desde que conocí esta herramienta soy un gran defensor y lo utilizo en el día a día, evitándome así tener que instalar multitud de herramientas que luego prácticamente no uso y llenando el SO de archivos residuales.

Sin embargo, puedes descargar el paquete correspondiente a tu sistema operativo desde este enlace: Página oficial de descargas

Si ya conoces Docker, seguro que eres consciente de la facilidad de su uso en multitud de ocasiones. En este caso no iba a ser menos. Es de esperar que para poder seguir estos pasos, necesitas tener instalado Docker en tu ordenador.

  1. Acceder a la imagen oficial de PostgreSQL en Docker hub: PostgreSQL - Docker
  2. Observar la última version estable disponible. En este momento es 12.3
  3. Deducir cuales son las variables de entorno que vamos a necesitar. He podido observar que si no añades un usuario y contraseña, PostgreSQL no permite que te conectes por medio de terminal con el usuario root. POSTGRES_USER=aperdizs POSTGRES_PASSWORD=mypwd POSTGRES_DB=tests
  4. Elegir que puerto exponer por si quieres acceder desde una herramienta UI externa. Mi caso: 54320:5432
  5. Montar el comando final para lanzar la instancia del contenedor: docker run --name aperdizs-postgres -e POSTGRES_USER=aperdizs -e POSTGRES_PASSWORD=mypwd -e POSTGRES_DB=tests -p 54320:5432 -d postgres:12.3

En este momento ya tendrés tu instancia de PostgreSQL con Docker funcionando. Si ejecutas en terminal el comando docker ps, debería listarse tu contenedor funcionando correctamente: CONTAINER ID ddd49c88a95a

Ahora bien, ¿como accedes a la terminal para poder interactuar con PostgreSQL? Muy sencillo, accediendo a la terminal del SO que hay dentro del contenedor. Para ello solo necesitas ejecutar docker exec -it <nombre-contenedor> psql -U <username> <db-name>, en mi caso particular es docker exec -it aperdizs-postgres psql -U aperdizs tests

Y ya tienes todo lista para poder empezar a trabajar con la terminal de PostgreSQL.