Upgrade PostgreSql

Postup aktualizace Postgresql

Před aktualizací si pro jistotu provedeme zálohu všech databází

pg_dumpall -U postgres > /path/to/output/file_name

Upravíme zdroje pro instalaci Postgrsql

# Create the file repository configuration:
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

# Import the repository signing key:
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

# Update the package lists:
sudo apt update

# Install the latest version of PostgreSQL.
# If you want a specific version, use 'postgresql-12' or similar instead of 'postgresql':
sudo apt install postgresql

Zobrazíme si instalované verze Postgresql zadáním příkazu

dpkg -l | grep postgresql

Zobrazíme si běžící clustery Postgresql zadáním příkazu

pg_lsclusters
# dostaneme něco takového
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
13  main    5433 online postgres /var/lib/postgresql/13/main  /var/log/postgresql/postgresql-13-main.log

Zastavíme nejnovější Postgresql cluster zadáním příkazu

sudo pg_dropcluster 13 main --stop

Provedeme aktualizaci z nižší verze na aktuální verzi (v tomto případě z verze 9.6 na verzi 13)

sudo pg_upgradecluster 9.6 main

Zobrazíme si, které clustery Postgresql nám běží

pg_lsclusters
# dostaneme něco takového
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
13  main    5432 online postgres /var/lib/postgresql/13/main  /var/log/postgresql/postgresql-13-main.log

Před odebráním staré verze Postgresql si zkontrolujeme, zda nám všechny databáze běží správně a teprve potom odebereme starou verzi ( v mém případě verzi 9.6)

sudo pg_dropcluster 9.6 main

Nakonec si můžeme znovu vylistovat dostupné Postgresql balíčky a odstranit staré nepoužívané balíčky (podle odstraněné verze, v mém případě verze 9.6)

dpkg -l | grep postgresql
# a následně odstranit
sudo apt purge postgresql-9.6 postgresql-client-9.6

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *