A) Nejprve pro to vytvořte zálohu všech databází (můžete pokračovat od B, pokud zálohu nepotřebujete)
- Přihlaste se jako uživatel postgres
sudo su postgres
- Vytvořte záložní soubor .sql pro všechna data, která máte ve všech databázích
pg_dumpall > backup.sql
B) Upgradujte na PostgreSQL12
- aktualizovat balíčky a nainstalovat postgres 12
sudo apt-get update
sudo apt-get install postgresql-12 postgresql-server-dev-12
- Zastavte službu postgresql
sudo systemctl stop postgresql.service
- migrujte data
/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'
- Přepnout na běžného uživatele
exit
- Vyměňte porty staré a nové postgresové verze.
sudo vim /etc/postgresql/12/main/postgresql.conf
#change port to 5432
sudo vim /etc/postgresql/10/main/postgresql.conf
#change port to 5433
- Spusťte službu postgresql
sudo systemctl start postgresql.service
- Přihlaste se jako uživatel postgres
sudo su postgres
- Zkontrolujte svou novou verzi postgres
psql -c "SELECT version();"
- Spusťte vygenerovaný nový skript clusteru
./analyze_new_cluster.sh
- Vraťte se jako normální (výchozí uživatel) uživatel a vyčistěte nepořádek staré verze
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
- Blahopřejeme! Vaše verze postgresql je nyní upgradována. Pokud vše funguje dobře v B, nemusíme zálohu používat, protože jsme již migrovali data ze starší verze na novější verzi, záloha je pouze pro případ, že by se něco pokazilo.
POZNÁMKA: Změňte postgresql.conf a pg_hba.conf podle svých požadavků
PS :Neváhejte komentovat své problémy, návrhy nebo jakékoli jiné úpravy, které byste chtěli navrhnout