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

Hvordan opgraderer man PostgreSQL fra version 9.6 til version 10.1 uden at miste data?

Forudsat at du har brugt home-brew til at installere og opgradere Postgres, kan du udføre følgende trin.

  1. Stop den nuværende Postgres-server:

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

  2. Initialiser en ny 10.1-database:

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

  3. kør pg_upgrade (bemærk:skift bin-version, hvis du opgraderer fra noget andet end nedenfor) :

    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 for at aktivere detaljeret intern logning

    -d den gamle databaseklyngekonfigurationsmappe

    -D den nye databaseklyngekonfigurationsmappe

    -b den gamle PostgreSQL eksekverbare mappe

    -B den nye PostgreSQL eksekverbare mappe

  4. Flyt nye data på plads:

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

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

  6. Tjek /usr/local/var/postgres/server.log for detaljer og for at sikre, at den nye server startede korrekt.

  7. Til sidst skal du geninstallere skinnerne pg perle

    gem uninstall pg
    gem install pg
    

Jeg foreslår, at du tager dig tid til at læse PostgreSQL-dokumentationen for at forstå præcis, hvad du gør i ovenstående trin for at minimere frustrationer.



  1. Hvordan laver man den rekursive SELECT-forespørgsel i MySQL?

  2. Ukendt kolonne i 'feltliste'-fejl på MySQL Update-forespørgsel

  3. Vores mest populære database blogindlæg i 2017

  4. Batch-tilstand normalisering og ydeevne