sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur uppgraderar jag PostgreSQL från version 9.6 till version 10.1 utan att förlora data?

Förutsatt att du har använt home-brew för att installera och uppgradera Postgres, kan du utföra följande steg.

  1. Stoppa nuvarande Postgres-server:

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

  2. Initiera en ny 10.1-databas:

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

  3. kör pg_upgrade (obs:ändra bin-version om du uppgraderar från något annat än nedan) :

    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 för att möjliggöra utförlig intern loggning

    -d den gamla databasklusterkonfigurationskatalogen

    -D den nya databasklusterkonfigurationskatalogen

    -b den gamla körbara PostgreSQL-katalogen

    -B den nya körbara PostgreSQL-katalogen

  4. Flytta ny data på plats:

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

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

  6. Kontrollera /usr/local/var/postgres/server.log för detaljer och för att se till att den nya servern startade korrekt.

  7. Slutligen, installera om skenorna pg pärla

    gem uninstall pg
    gem install pg
    

Jag föreslår att du tar dig tid att läsa PostgreSQL-dokumentationen för att förstå exakt vad du gör i stegen ovan för att minimera frustrationer.



  1. Postgres-fråga för att kontrollera en sträng är ett nummer

  2. Fortsätter en transaktion efter fel med primärnyckeln

  3. PostgreSql 'PDOException' med meddelandet 'kunde inte hitta drivrutinen'

  4. 4 skäl till varför du bör prioritera databasövervakning i din planering för 2020