A) Opret først en sikkerhedskopi af alle databaserne til det (Du kan fortsætte fra B, hvis du ikke har brug for en sikkerhedskopi)
- Log ind som postgres-bruger
sudo su postgres
- Opret en backup .sql-fil for alle de data, du har i alle databaserne
pg_dumpall > backup.sql
B) Opgrader til PostgreSQL12
- opdater pakker og installer postgres 12
sudo apt-get update
sudo apt-get install postgresql-12 postgresql-server-dev-12
- Stop postgresql-tjenesten
sudo systemctl stop postgresql.service
- migrer dataene
/usr/lib/postgresql/12/bin/pg_upgrade \
--old-datadir=/var/lib/postgresql/10/main \
--new-datadir=/var/lib/postgresql/12/main \
--old-bindir=/usr/lib/postgresql/10/bin \
--new-bindir=/usr/lib/postgresql/12/bin \
--old-options '-c config_file=/etc/postgresql/10/main/postgresql.conf' \
--new-options '-c config_file=/etc/postgresql/12/main/postgresql.conf'
- Skift til almindelig bruger
exit
- Skift portene i den gamle og den nye postgres-version.
sudo vim /etc/postgresql/12/main/postgresql.conf
#change port to 5432
sudo vim /etc/postgresql/10/main/postgresql.conf
#change port to 5433
- Start postgresql-tjenesten
sudo systemctl start postgresql.service
- Log ind som postgres-bruger
sudo su postgres
- Tjek din nye postgres-version
psql -c "SELECT version();"
- Kør det genererede nye klyngescript
./analyze_new_cluster.sh
- Vend tilbage som en normal (standardbruger) bruger og ryd op i den gamle versions rod
sudo apt-get remove postgresql-10 postgresql-server-dev-10
#uninstalls postgres packages
sudo rm -rf /etc/postgresql/10/
#removes the old postgresql directory
sudo su postgres
#login as postgres user
./delete_old_cluster.sh
#delete the old cluster data
- Tillykke! Din postgresql-version er nu opgraderet. Hvis alt fungerer godt i B, behøver vi ikke at anvende sikkerhedskopien, da vi allerede har migreret dataene fra den ældre version til den nyere version, sikkerhedskopien er bare i tilfælde af, at noget går galt.
BEMÆRK: Skift postgresql.conf og pg_hba.conf efter dit krav
PS :Du er velkommen til at kommentere dine problemer, forslag eller andre ændringer, du gerne vil foreslå