Uprade Postgresql clusteru z verze 11 na verzi 12

Uprade Postgresql clusteru

Nejprve si ověříme jaké clustery nám vlastně běží pomocí:

# pg_lsclusters

Ver Cluster Port Status Owner    Data directory              Log file
11  main    5432 online postgres /var/lib/postgresql/11/main syslog

Doinstalujeme závislosti pro verzi 12:

Nejprve zjistíme vlastně za závislosti máme pomocí následujícího příkazu, který hledá instalované balíčky obsahující postgresql.

# sudo aptitude search '~i postgresql'
# aptitude install postgresql-12 postgresql-12-tsearch-data-czech timescale-db-postgresql-12-config postgresql-vacuuum-config postgresql-syslog-config timescaledb-2-postgresql-12 postgresql-12-postgis-3-scripts

Spustíme rekonfiguraci configuračních balíčků, které nastavují chování clusterů:

# dpkg-reconfigure postgresql-core-config
# dpkg-reconfigure postgresql-vacuuum-config
# dpkg-reconfigure postgresql-syslog-config

Note

Poznámka: Balíčky postgresql-core-config, postgresql-12-tsearch-data-czech, postgresql-syslog-config a postgresql-vacuuum-config nejsou z oficiálních repozitářů, ale z APT repozitáře 2000cubits.org.

Dropneme nově vytvořený cluster:

# pg_dropcluster --stop 12 main

Pak můžeme spustit samotný upgrade. Budeme upgradovat pomocí pg_upgrade - možnost -m upgrade. Více možností viz manuálová stránka pg_upgradecluster.

# pg_upgradecluster -v 12 -m upgrade 11 main

Po upgradu bude přepnut port upgradnutého clusteru na port starého clusteru. Starý cluster bude zastaven. Po oveření funkčnosti lze původní cluster dropnout pomocí:

# pg_dropcluster 11 main