PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Comment mettre à jour PostgreSQL de la version 9.6 à la version 10.1 sans perdre de données ?

En supposant que vous avez utilisé home-brew pour installer et mettre à niveau Postgres, vous pouvez effectuer les étapes suivantes.

  1. Arrêtez le serveur Postgres actuel :

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

  2. Initialiser une nouvelle base de données 10.1 :

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

  3. lancez pg_upgrade (remarque :modifiez la version du bac si vous effectuez une mise à niveau à partir d'autre chose que ci-dessous) :

    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 pour activer la journalisation interne détaillée

    -d l'ancien répertoire de configuration du cluster de bases de données

    -D le nouveau répertoire de configuration du cluster de bases de données

    -b l'ancien répertoire exécutable PostgreSQL

    -B le nouveau répertoire exécutable PostgreSQL

  4. Déplacez les nouvelles données en place :

    cd /usr/local/var
    mv postgres postgres9.6
    mv postgres10.1 postgres
    
  5. Redémarrez Postgres :

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

  6. Vérifiez /usr/local/var/postgres/server.log pour plus de détails et pour vous assurer que le nouveau serveur a démarré correctement.

  7. Enfin, réinstallez les rails pg bijou

    gem uninstall pg
    gem install pg
    

Je vous suggère de prendre le temps de lire la documentation PostgreSQL pour comprendre exactement ce que vous faites dans les étapes ci-dessus afin de minimiser les frustrations.