sql >> Database >  >> RDS >> PostgreSQL

Upgrade PostgreSQL van 9.6 naar 10.0 op Ubuntu 16.10

Een stapsgewijze handleiding

  1. Maak een back-up . Zorg ervoor dat uw database niet wordt bijgewerkt.

     pg_dumpall > outputfile
    
  2. Postgres 10 installeren . Volg de instructies op deze pagina:https://www.postgresql.org/download/linux/ubuntu/

    Voer vervolgens sudo apt-get install postgresql-10 . uit . Een nieuwere versie wordt naast de eerdere versie geïnstalleerd.

  3. Voer pg_lsclusters uit :

     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
    

    Er is al een cluster main voor 10 (aangezien dit standaard wordt gemaakt bij de installatie van het pakket). Dit wordt gedaan zodat een nieuwe installatie direct uit de doos werkt zonder dat u eerst een cluster hoeft te maken, maar het botst natuurlijk wanneer u probeert 9.6/main te upgraden wanneer 10/main bestaat ook. De aanbevolen procedure is om de 10 cluster te verwijderen met pg_dropcluster en upgrade vervolgens met pg_upgradecluster .

  4. Stop het 10 cluster en laat het vallen:

     sudo pg_dropcluster 10 main --stop
    
  5. Stop alle processen en services die naar de database schrijven. Stop de database:

     sudo systemctl stop postgresql 
    
  6. Upgrade het 9.6-cluster:

     sudo pg_upgradecluster -m upgrade 9.6 main
    
  7. Start PostgreSQL opnieuw

     sudo systemctl start postgresql
    
  8. Voer pg_lsclusters uit . Uw 9.6-cluster zou nu "down" moeten zijn en het 10-cluster zou online moeten zijn op 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. Controleer eerst of alles goed werkt. Verwijder daarna het 9.6-cluster:

      sudo pg_dropcluster 9.6 main --stop
    

Enkele opmerkingen over pg_upgradecluster

Deze handleiding werkt prima voor het upgraden van 9.5 naar 10.1. Overweeg bij het upgraden van een oudere versie om -m upgrade weg te laten op stap #6:

sudo pg_upgradecluster 9.6 main

Als je een heel groot cluster hebt, kun je pg_upgradecluster . gebruiken met een --link optie, zodat de upgrade op zijn plaats zal zijn. Dit is echter gevaarlijk:u kunt het cluster kwijtraken bij een storing. Gebruik deze optie gewoon niet als het niet nodig is, omdat -m upgrade is al snel genoeg.

Gebaseerd op:

  • Documenten:een PostgreSQL-cluster upgraden
  • Samenvatting #1:delameko/upgrade-postgres-9.5-to-9.6.md
  • Samenvatting #2:johanndt/upgrade-postgres-9.3-to-9.5.md
  • Wat gebeurt er als ik pg_upgradecluster onderbreek of annuleer ?
  • Ubuntu-manpagina voor pg_upgradecluster

Bijwerken

Deze handleiding werkt prima voor het upgraden van 9.6 naar 11 en van 10 naar 11, evenals van 10 naar 13.



  1. Overlappende datum-intervallen samenvoegen

  2. Gebruik MySQL relationele databases op Ubuntu 8.04 (Hardy)

  3. xampp MySQL start niet op

  4. hoe de standby-database te herstellen van een ontbrekend archieflogboek