Dónde conseguir los paquetes más antiguos y la información de depuración

Los repositorios apt.postgresql.org y yum.postgresql.org eliminan los paquetes más antiguos, manteniendo sólo las últimas versiones. Sin embargo, en ocasiones necesitamos los paquetes de versiones anteriores para probar/reproducir algo, o para obtener la información de depuración de paquetes anteriores.

Debian y Ubuntu

http://atalia.postgresql.org/morgue/ contiene versiones antiguas de los paquetes deb (apt); consulten las preguntas frecuentes sobre apt de PGDG. Aunque no se trata de un auténtico repositorio, es posible explorarlo para extraer algún elemento o descargar el archivo Packages.xz y consultarlo.

Consulten también el post de la lista de correo que lo anunciaba y el wiki de PostgreSQL.

RHEL y CentOS

Para los rpm (dnf o yum) existe un archivo histórico en yum-archive.postgresql.org al cual se puede acceder utilizando patrones URL del tipo https://yum-archive.postgresql.org/9.3/redhat/rhel-$releasever-$basearch.

El siguiente comando de Python debería funcionar, aunque es posible que haga falta probar los comandos pythonpython2 o python3 dependiendo del sistema operativo. Al momento de escribir este artículo todavía no se había probado en versiones más antiguas de RHEL:

from __future__ import print_function

try:
    import yum
		yb = yum.YumBase()
		releasever = yb.conf.yumvar['releasever']
		basearch = yb.conf.yumvar['basearch']
except ImportError as ex:
    import dnf
		b = dnf.Base()
		releasever = b.conf.releasever
		basearch = b.conf.basearch
		
print("basearch=%s\nreleasever=%s\n" % (basearch, releasever))

Consulten este artículo de la base de conocimientos de redhat para saber cómo se determinan esas variables de yum en RHEL6, así como este otro artículo de stack exchange.