Instalación de versiones de PostgreSQL en Debian que no son las del repositorio oficial via APT

Cuantas veces pasa que no están en el repositorio oficial justo la versión de PostgreSQL que necesitamos, que tenemos un Lenny, y necesitamos un PostgreSQL 8.4… que tenemos Squeeze y necesitamos 8.2 …. ¿como lo solucionamos casi siempre?… a lo macho!… compilando!!!… pero… la comunidad de PostgresSQL nos da una alternativa, un repositorio de paquetes para APT con las ultimas versiones de cada rama.

Como se hace?… así:

  • Importamos la signing key del repositorio
wget -O - http://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc | sudo apt-key add -
  • Editamos el archivo /etc/apt/sources.list.d/pgdg.list, y agregamos una linea para el repositorio, sustituyendo el  “codename” de la release según corresponda.
deb http://apt.postgresql.org/pub/repos/apt/ squeeze-pgdg main
  • Configuraciones especificas para que le preste atencion a los paquetes del nuevo repositorio recien cargado en lugar a los que viene en los repositorios de Debian. En squeeze se debe editar el archivo /etc/apt/preferences.d/pgdg.pref (probablemente no exista), y en lenny el archivo /etc/apt/preferences (que tampoco probablemente exista), y agregar el siguiente contenido (lo mismo para cualquier versión de Debian).
Package: *

Pin: release o=apt.postgresql.org

Pin-Priority: 500
  • Actualizar el listado de paquetes, y instalar el paquete pgdg-keyring para tener automáticamente actualizaciones de las key de los paquetes
apt-get update
apt-get install pgdg-keyring 

Una vez que terminamos de configurar, ya podemos hacer nuestro querido apt-get del paquete específicamente, en mi caso necesitaba el PostgreSQL 8.4.

 

apt-get install postgresql-8.4 

Pero claramente ustedes pueden instalar el que necesiten, pueden fijarse los paquetes disponibles con el comando:

apt-cache search postgresql

Nota: La instalación de postgresql probablemente solicite algunas librerías que deben estar en los repositorios oficiales de Debian, en el caso de los Debian Lenny, los repositorios están deprecados, para salvar el problema pueden cargar en su /etc/apt/sources.list el repostorio “archive” de Debian:

deb http://archive.debian.org/debian-archive/debian/ lenny main contrib non-free

Fuente: http://www.postgresql.org/download/linux/debian/