Lenguajes de Programación

Cómo instalar PostgreSQL: Tres opciones

Aprende paso por paso las 3 formas de instalar PostgreSQL, también conocerás algunas de las ventajas e inconvenientes dependiendo del tipo de instalación que has utilizado. Si quieres empezar con PostgreSQL, este es un buen comienzo.

Publicado el 19 de Agosto de 2018
Compartir

Diferentes formas de instalar PostgreSQL

Fundamentalmente existen tres vías para instalar PostgreSQL, vamos a ver como instalarlo paso a paso en cada uno de los casos.

Instalación de PostgreSQL desde nuestra distribució GNU/Linux

Vamos a instalar servidor y cliente en CentOS:

$ sudo yum -y postgresql-server postgresql postgresql-contrib

Inicializamos:

$ sudo postgresql-setup initdb

Arrancamos el servicio:

$ sudo systemctl start postgresql.service

Y comprobamos que está en ejecución:

$ sudo systemctl status postgresql.service

Ha sido fácil ¿verdad?

A tener en cuenta

  • Instalar el software de PostgreSQL no nos permite empezar a trabajar inmediatamente.
  • Normalmente hay que inicializar PostgreSQL y arrancarlo.

Instalar PostgreSQL con los paquetes oficiales

Nosotros queremos instalar PostgreSQL desde los repositorios oficiales, así que procedemos a ir con nuestro navegador a este enlace y seleccionar nuestra distribución (CentOS7 en nuestro ejemplo).

Seleccionamos la versión 9.6, CentOS7 y x86_64, y copiamos el comando para instalar el RPM con el repositorio.

Lo pegamos en nuestra consola conectada a la máquina vagrant, precendiéndolo de sudo:

$ sudo yum install https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm

Instalamos el sevidor y el cliente:

$ sudo yum -y install postgresql96-server postgresql96 postgresql96-contrib

Inicializamos:

$ sudo /usr/pgsql-9.6/bin/postgresql96-setup initdb

Arrancamos el servicio:

$ sudo systemctl start postgresql-9.6

Y comprobamos que está en ejecución:

$ sudo systemctl status postgresql-9.6

Instalar PostgreSQL desde código fuente

Para poder seguir con este méotodo de instalación, necesitamos ciertos requisitos previos para compilar PostgreSQL:

  • GNU make.
  • Un compilador C (normalmente gcc).
  • Herramientas para trabajar con ficheros tar, y gzip o bzip2.

A partir de aquí usaremos openSUSE 42.3, de forma que nos podamos familiarizar con otra distribución similar a su equivalente empresarial, y con las diferencias de versionado comparando con CentOS7.

Instalar desde código probablemente la forma menos habitual de instalar PostgreSQL, pero puede resultar muy útil en aquellos casos en que nuestro Sistema Operativo no disponga ya de binarios publicados, o en el que necesitemos algunas opciones específicas que nuestra distribución no ofrezca.

En nuestro caso nos servirá, además, para familiarizarnos con algunos conceptos que la instalación usando paquetes hacen que sean transparentes para nosotros.

Como mínimo se requiere tar y gzip o bzip2, una versión reciente de make y un compilador C reciente (gcc, normalmente).

Es recomendable tener también instaladas las librerias de desarrollo para zlib y readline, así como los lenguajes para los que queramos soporte para procedimientos almacenados (Perl, Python, TCL...)

Lo normal es construir PostgreSQL desde un archivo comprimido con las fuentes, pero si se desea construirlo desde el repositorio Git también se necesitará tener instalado git, GNU Flex, Bison, y Perl.

Pero a nosotros nos interesa instalar desde las fuentes así que, una vez más, acudimos con nuestro navegador a este enlace, pero esta vez usamos la opción de descargar un fichero de fuentes.

Vamos a la carpeta de la última version 9.6 disponible (a día de hoy 9.6.9s) y copiamos el enlace al fichero bz2 (botón derecho y "Copiar dirección del enlace")

Y en la consola  lo pegamos, precediéndolo del comando wget:

$ wget https://ftp.postgresql.org/pub/source/v9.6.9/postgresql-9.6.9.tar.bz2

Descomprimimos:

$ tar -xjf postgresql-9.6.9.tar.bz2

Y entramos en el directorio que se ha creado

$ cd postgresql-9.6.9/

Instalamos las dependencias que hemos comentado más arriba y aún no están presentes en el sistema:

$ zypper -y readline-devel zlib-devel

Comprobamos que todo está listo para construir:

$ ./configure

Y construimos:

$ make

Si todo ha ido bien, podemos instalar los binarios:

$ sudo make install

A continuación creamos un usuario de sistema que será dueño de los ficheros de datos de postgres:

$ sudo mkdir /usr/local/pgsql/data
$ sudo adduser -r -U -M -d /usr/local/pgsql/data postgres
$ sudo chown postgres:postgres /usr/local/pgsql/data

Nos convertimos en usuario postgres:

$ sudo su - postgres

Inicializamos el cluster, indicando donde vamos a almacenar los datos:

$ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data

Arrancamos el servicio (hay que indicar la ruta donde tenemos nuestros daros)

$ /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data >logfile 2>&1 &

Y comprobamos que podemos conectarnos:

$ /usr/local/pgsql/bin/psql test

Esta es la primera vez que probamos a conectarnos a la base de datos con el comando 'psql', que es un cliente básico en modo texto para bases de datos PosgreSQL (estaremos usándolo mucho durante las explicaciones).

Y curiosamente... ¡lo hacemos sin contraseña!

El motivo es que el usuario de sistema "postgres" es un poco especial. Además de ser dueño de los datos, es capaz de conectarse (por defecto) a PostgreSQL sin especificar contraseñas, y siendo superusuario desde el punto de vista del servicio.

Todas las distribuciones permiten esto por defecto.

Ventajas e inconvenientes en la instalación de PostgreSQL

Las diferentes formas de instalar PostgreSQL presentan una serie de ventajas e inconvenientes, en función de aspectos como son:

  • La facilidad o dificultad del sistema de instalación.
  • El soporte que vamos a obtener de nuestro propio sistema operativo o de terceros.
  • La facilidad, dificultad e incluso la casi imposibilidad detectar y efectuar actualizaciones.

Las dos primeras formas de instalación nos van a proveer del soporte oficial de nuestra distribución, especialmente si estamos pagándola. Además es muy fácil de instalar, también es muy fácil detectar si hacen falta actualizaciones y lo normal es que sea extremadamente fácil aplicarlas.

Como desventaja, es probable que la versión que tengamos en nuestra distribución no sea la más actualizada, y por lo tanto no vamos a disponer de todas las funcionalidades que vayamos a necesitar.

Si este es nuestro caso, la alternativa sería instalar desde la paquetería oficial del equipo de desarrollo de PostgreSQL.

En este caso el soporte vendría del equipo de desarrollo, y aunque no hay un soporte de pago oficial, hay empresas que te pueden facilitarnos un soporte. De esta forma es muy fácil de instalar, y además muy fácil detectar, obtener y aplicar actualizaciones.

Como inconveniente, es posible que nuestra distribución, si tenemos soporte de pago o algunas aplicaciones de terceros, se nieguen a darnos soporte.

Finalmente, la tercera forma de instalar PostgreSQL, la variante más radical, sería compilar desde el código fuente todos los binarios y paqueterías. Es la forma más flexible de instalación, ya que podemos decidir al detalle cómo será la instalación de PostgreSQL, qué debe incluir y qué no debe incluir.

Su desventaja, obviamente, es que no tendremos soporte y, sobre todo, detectar y aplicar actualizaciones será infinitamente más complicado.


Compartir este post

También te puede interesar...

Curso de PostgreSQL

Curso de PostgreSQL: Instalación, configuración y optimización

3 horas y 9 minutos · Curso

Con este curso de PostgreSQL, aprenderás todo lo necesario para comenzar con las bases de datos relacionales de forma práctica con PostgreSQL.

  • Administración de Bases de Datos
Tecnología

Qué es PostgreSQL

16 Diciembre 2018 Julio Gonzalez Gil
Artículos
Ver todos