This is an old revision of the document!
Actualizar Postgres
Si uno quiere usar MATERIALIZED VIEW (que fue introducido en Postgres 9.3) puede ser que haya que actualizar su versión de Postgres. En particular, con una instalación en Debian, Ubuntu, etc., parece que ellos tienen una versión distribuida de Postgres que puede ser obsoleta (creo que no debería haber ningún problema con Windows o Mac). En el caso del servidor, por ejemplo, tenía la versión 9.1 distribuida por defecto.
Para ver la versión de Debian, en psql, hay que usar:
SELECT version();
Si la versión es 9.3+, no hay problema. Pero si no, antes que todo, hay que actualizar los packages de Debian/Ubuntu/etc.
En el caso especifico de las maquinas virtuales del proyecto, hay que poner:
cd /etc/apt/sources.list.d/ sudo nano pgdg.list
En este archivo, agrega la linea:
deb http://apt.postgresql.org/pub/repos/apt/ wheezy-pgdg main
Posteriormente …
# alguna carpeta con permiso de escritura
cd /home/ahogan/
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | \
sudo apt-key add -
sudo apt-get update
Y …
# instalar la nueva versión
sudo apt-get install postgresql-9.6
# matar conexiones activas a la base de datos antigua
sudo service postgresql restart
# pausar un servicio ***NUEVO*** empezado por defecto
sudo pg_dropcluster --stop 9.6 main
# migrar los datos desde la versión antigua (si tienes 9.2, por ejemplo, hay que reemplazar 9.1 con 9.2)
# puede tomar ~30 minutos
pg_upgradecluster -v 9.6 9.1 main
Ahora puedes hacer pruebas para ver si funcionó
psql
> SELECT version();
> \q
Si funciona y si quieres, puedes borrar la versión antigua
sudo pg_dropcluster 9.1 main
