sql >> Base de Datos >  >> RDS >> PostgreSQL

¿Cómo actualizar PostgreSQL de la versión 9.6 a la versión 10.1 sin perder datos?

Suponiendo que haya utilizado home-brew para instalar y actualizar Postgres, puede realizar los siguientes pasos.

  1. Detener el servidor de Postgres actual:

    launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist

  2. Inicialice una nueva base de datos 10.1:

    initdb /usr/local/var/postgres10.1 -E utf8

  3. ejecutar pg_upgrade (nota:cambie la versión del contenedor si está actualizando desde algo diferente a lo siguiente) :

    pg_upgrade -v \
        -d /usr/local/var/postgres \
        -D /usr/local/var/postgres10.1 \
        -b /usr/local/Cellar/postgresql/9.6.5/bin/ \
        -B /usr/local/Cellar/postgresql/10.1/bin/
    

    -v para habilitar el registro interno detallado

    -d el antiguo directorio de configuración del clúster de la base de datos

    -D el nuevo directorio de configuración del clúster de base de datos

    -b el antiguo directorio ejecutable de PostgreSQL

    -B el nuevo directorio ejecutable de PostgreSQL

  4. Mover nuevos datos a su lugar:

    cd /usr/local/var
    mv postgres postgres9.6
    mv postgres10.1 postgres
    
  5. Reinicie Postgres:

    launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist

  6. Compruebe /usr/local/var/postgres/server.log para obtener detalles y asegurarse de que el nuevo servidor se inició correctamente.

  7. Finalmente, vuelva a instalar los rieles pg joya

    gem uninstall pg
    gem install pg
    

Le sugiero que se tome un tiempo para leer la documentación de PostgreSQL para comprender exactamente lo que está haciendo en los pasos anteriores para minimizar las frustraciones.