sql >> Database >  >> RDS >> PostgreSQL

Hoe kan ik PostgreSQL upgraden van versie 9.6 naar versie 10.1 zonder gegevens te verliezen?

Ervan uitgaande dat je Home-brew hebt gebruikt om Postgres te installeren en te upgraden, kun je de volgende stappen uitvoeren.

  1. Stop huidige Postgres-server:

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

  2. Initialiseer een nieuwe 10.1 database:

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

  3. voer pg_upgrade uit (opmerking:wijzig de bin-versie als u een upgrade uitvoert van iets anders dan hieronder) :

    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 uitgebreide interne logging inschakelen

    -d de oude databaseclusterconfiguratiemap

    -D de nieuwe databaseclusterconfiguratiedirectory

    -b de oude uitvoerbare map van PostgreSQL

    -B de nieuwe uitvoerbare map van PostgreSQL

  4. Verplaats nieuwe gegevens op hun plaats:

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

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

  6. Controleer /usr/local/var/postgres/server.log voor details en om ervoor te zorgen dat de nieuwe server correct is gestart.

  7. Installeer ten slotte de rails opnieuw pg juweeltje

    gem uninstall pg
    gem install pg
    

Ik raad je aan even de tijd te nemen om de PostgreSQL-documentatie te lezen om precies te begrijpen wat je doet in de bovenstaande stappen om frustraties tot een minimum te beperken.



  1. De Pipe Concatenation Operator inschakelen in MySQL

  2. Extra rijen krijgen - Nadat u lid bent geworden van de 3 tafels met behulp van Left Join

  3. Een Java-toepassing maken in Oracle JDeveloper, deel 2

  4. Waarom is statische ddl niet toegestaan ​​in PL/SQL?