PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Come aggiornare PostgreSQL dalla versione 9.6 alla versione 10.1 senza perdere dati?

Supponendo che tu abbia utilizzato home-brew per installare e aggiornare Postgres, puoi eseguire i seguenti passaggi.

  1. Arresta il server Postgres corrente:

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

  2. Inizializza un nuovo database 10.1:

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

  3. esegui pg_upgrade (nota:cambia la versione del cestino se stai eseguendo l'aggiornamento da qualcosa di diverso da quello riportato di seguito) :

    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 per abilitare la registrazione interna dettagliata

    -d la vecchia directory di configurazione del cluster di database

    -D la nuova directory di configurazione del cluster di database

    -b la vecchia directory eseguibile di PostgreSQL

    -B la nuova directory eseguibile di PostgreSQL

  4. Sposta i nuovi dati in posizione:

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

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

  6. Controlla /usr/local/var/postgres/server.log per i dettagli e per assicurarsi che il nuovo server sia stato avviato correttamente.

  7. Infine, reinstalla i binari pg gemma

    gem uninstall pg
    gem install pg
    

Ti suggerisco di dedicare del tempo a leggere la documentazione di PostgreSQL per capire esattamente cosa stai facendo nei passaggi precedenti per ridurre al minimo le frustrazioni.