sql >> Databáze >  >> RDS >> PostgreSQL

Upgradujte PostgreSQL z 9.6 na 10.0 na Ubuntu 16.10

Podrobný průvodce

  1. Proveďte zálohu . Ujistěte se, že vaše databáze není aktualizována.

     pg_dumpall > outputfile
    
  2. Nainstalujte Postgres 10 . Postupujte podle pokynů na této stránce:https://www.postgresql.org/download/linux/ubuntu/

    Poté spusťte sudo apt-get install postgresql-10 . Novější verze bude nainstalována vedle starší verze.

  3. Spusťte pg_lsclusters :

     Ver Cluster Port Status Owner    Data directory               Log file
     9.6 main    5432 online postgres /var/lib/postgresql/9.6/main /var/log/postgresql/postgresql-9.6-main.log
     10  main    5433 online postgres /var/lib/postgresql/10/main  /var/log/postgresql/postgresql-10-main.log
    

    Cluster main již existuje pro 10 (protože je standardně vytvořen při instalaci balíčku). To se děje tak, že nová instalace funguje hned po vybalení bez nutnosti nejprve vytvořit cluster, ale samozřejmě dojde ke konfliktu, když se pokusíte upgradovat 9.6/main když 10/main také existuje. Doporučený postup je odstranit cluster 10 pomocí pg_dropcluster a poté upgradujte pomocí pg_upgradecluster .

  4. Zastavte cluster 10 a upusťte jej:

     sudo pg_dropcluster 10 main --stop
    
  5. Zastavte zápis všech procesů a služeb do databáze. Zastavte databázi:

     sudo systemctl stop postgresql 
    
  6. Upgradujte cluster 9.6:

     sudo pg_upgradecluster -m upgrade 9.6 main
    
  7. Spusťte znovu PostgreSQL

     sudo systemctl start postgresql
    
  8. Spusťte pg_lsclusters . Váš cluster 9.6 by nyní měl být "nefunkční" a cluster 10 by měl být online na 5432 :

     Ver Cluster Port Status Owner    Data directory               Log file
     9.6 main    5433 down   postgres /var/lib/postgresql/9.6/main /var/log/postgresql/postgresql-9.6-main.log
     10  main    5432 online postgres /var/lib/postgresql/10/main  /var/log/postgresql/postgresql-10-main.log
    
  9. Nejprve zkontrolujte, zda vše funguje správně. Poté odeberte cluster 9.6:

      sudo pg_dropcluster 9.6 main --stop
    

Několik poznámek k pg_upgradecluster

Tato příručka funguje dobře pro upgrade z 9.5 na 10.1. Při upgradu ze starší verze zvažte vynechání -m upgrade v kroku #6:

sudo pg_upgradecluster 9.6 main

Pokud máte opravdu velký cluster, můžete použít pg_upgradecluster s --link možnost, takže upgrade bude na místě. To je však nebezpečné – v případě selhání můžete cluster ztratit. Pokud to není nutné, nepoužívejte tuto možnost jako -m upgrade je již dostatečně rychlý.

Na základě:

  • Dokumenty:Upgrade klastru PostgreSQL
  • Hlava č. 1:delameko/upgrade-postgres-9.5-to-9.6.md
  • Hlava č. 2:johanndt/upgrade-postgres-9.3-to-9.5.md
  • Co se stane, když přeruším nebo zruším pg_upgradecluster ?
  • Manuálová stránka Ubuntu pro pg_upgradecluster

Aktualizovat

Tato příručka funguje dobře pro upgrade z 9.6 na 11 a z 10 na 11 a také z 10 na 13.



  1. Transformace podmíněného rozdělení:Exportujte data ze serveru SQL Server do databází Oracle a MySQL

  2. Zaměňte citlivá data ve svých prováděcích plánech

  3. Jak předám hodnotu parametru uložené procedury v komponentě Zdroj OLE DB?

  4. Pomocí SqlDataAdapter vložit řádek