A) Najpierw utwórz kopię zapasową wszystkich baz danych (możesz kontynuować od B, jeśli nie potrzebujesz kopii zapasowej)
- Zaloguj się jako użytkownik postgres
sudo su postgres
- Utwórz kopię zapasową pliku .sql dla wszystkich danych, które masz we wszystkich bazach danych
pg_dumpall > backup.sql
B) Uaktualnij do PostgreSQL12
- zaktualizuj pakiety i zainstaluj postgres 12
sudo apt-get update
sudo apt-get install postgresql-12 postgresql-server-dev-12
- Zatrzymaj usługę postgresql
sudo systemctl stop postgresql.service
- przeprowadź migrację danych
/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'
- Przełącz na zwykłego użytkownika
exit
- Zamień porty na starą i nową wersję Postgres.
sudo vim /etc/postgresql/12/main/postgresql.conf
#change port to 5432
sudo vim /etc/postgresql/10/main/postgresql.conf
#change port to 5433
- Uruchom usługę postgresql
sudo systemctl start postgresql.service
- Zaloguj się jako użytkownik postgres
sudo su postgres
- Sprawdź swoją nową wersję Postgres
psql -c "SELECT version();"
- Uruchom wygenerowany nowy skrypt klastra
./analyze_new_cluster.sh
- Wróć jako zwykły (domyślny użytkownik) i posprzątaj bałagan starej wersji
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
- Gratulacje! Twoja wersja postgresql jest teraz zaktualizowana. Jeśli wszystko działa dobrze w B, nie musimy stosować kopii zapasowej, ponieważ już przenieśliśmy dane ze starszej wersji do nowszej wersji, kopia zapasowa jest tylko na wypadek, gdyby coś poszło nie tak.
UWAGA: Zmień postgresql.conf i pg_hba.conf zgodnie z wymaganiami
PS :Zapraszam do komentowania swoich problemów, sugestii lub innych modyfikacji, które chciałbyś zasugerować