PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Wie aktualisiere ich PostgreSQL von Version 9.6 auf Version 10.1, ohne Daten zu verlieren?

Angenommen, Sie haben Home-Brew zum Installieren und Aktualisieren von Postgres verwendet, können Sie die folgenden Schritte ausführen.

  1. Stoppen Sie den aktuellen Postgres-Server:

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

  2. Initialisieren Sie eine neue 10.1-Datenbank:

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

  3. Führen Sie pg_upgrade aus (Hinweis:Ändern Sie die bin-Version, wenn Sie von etwas anderem als unten aktualisieren) :

    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 um die ausführliche interne Protokollierung zu aktivieren

    -d das alte Datenbank-Cluster-Konfigurationsverzeichnis

    -D das neue Datenbank-Cluster-Konfigurationsverzeichnis

    -b das alte ausführbare PostgreSQL-Verzeichnis

    -B das neue ausführbare PostgreSQL-Verzeichnis

  4. Neue Daten verschieben:

    cd /usr/local/var
    mv postgres postgres9.6
    mv postgres10.1 postgres
    
  5. Starten Sie Postgres neu:

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

  6. Überprüfen Sie /usr/local/var/postgres/server.log für Details und um sicherzustellen, dass der neue Server ordnungsgemäß gestartet wurde.

  7. Installieren Sie abschließend die Schienen pg neu Schmuckstück

    gem uninstall pg
    gem install pg
    

Ich schlage vor, dass Sie sich etwas Zeit nehmen, um die PostgreSQL-Dokumentation zu lesen, um genau zu verstehen, was Sie in den obigen Schritten tun, um Frustrationen zu minimieren.