PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak zaktualizować PostgreSQL z wersji 9.6 do wersji 10.1 bez utraty danych?

Zakładając, że użyłeś home-brew do instalacji i aktualizacji Postgres, możesz wykonać następujące kroki.

  1. Zatrzymaj bieżący serwer Postgres:

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

  2. Zainicjuj nową bazę danych 10.1:

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

  3. uruchom pg_upgrade (uwaga:zmień wersję bin, jeśli aktualizujesz coś innego niż poniżej) :

    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 aby włączyć pełne rejestrowanie wewnętrzne

    -d stary katalog konfiguracji klastra bazy danych

    -D nowy katalog konfiguracji klastra bazy danych

    -b stary katalog wykonywalny PostgreSQL

    -B nowy katalog wykonywalny PostgreSQL

  4. Przenieś nowe dane na miejsce:

    cd /usr/local/var
    mv postgres postgres9.6
    mv postgres10.1 postgres
    
  5. Uruchom ponownie Postgresa:

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

  6. Sprawdź /usr/local/var/postgres/server.log aby uzyskać szczegółowe informacje i upewnić się, że nowy serwer uruchomił się poprawnie.

  7. Na koniec ponownie zainstaluj szyny pg klejnot

    gem uninstall pg
    gem install pg
    

Proponuję poświęcić trochę czasu na przeczytanie dokumentacji PostgreSQL, aby dokładnie zrozumieć, co robisz w powyższych krokach, aby zminimalizować frustracje.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Heroku Rails 4 nie może połączyć się z serwerem:połączenie odrzucone

  2. Wykonaj zapytanie o godziny pracy w PostgreSQL

  3. Jak zidentyfikować problemy z wydajnością PostgreSQL za pomocą powolnych zapytań

  4. Zarządzanie rolami i atrybutami ról w PostgreSQL

  5. Jak znaleźć zduplikowane rekordy w PostgreSQL