A) Maak daarvoor eerst een back-up van alle databases (je kunt verder gaan vanuit B als je geen back-up nodig hebt)
- Log in als postgres-gebruiker
sudo su postgres
- Maak een back-up .sql-bestand voor alle gegevens in alle databases
pg_dumpall > backup.sql
B) Upgrade naar PostgreSQL12
- pakketten bijwerken en postgres 12 installeren
sudo apt-get update
sudo apt-get install postgresql-12 postgresql-server-dev-12
- Stop de postgresql-service
sudo systemctl stop postgresql.service
- de gegevens migreren
/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'
- Overschakelen naar gewone gebruiker
exit
- Verwissel de poorten met de oude en nieuwe postgres-versies.
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 de postgresql-service
sudo systemctl start postgresql.service
- Log in als postgres-gebruiker
sudo su postgres
- Controleer je nieuwe postgres-versie
psql -c "SELECT version();"
- Voer het gegenereerde nieuwe clusterscript uit
./analyze_new_cluster.sh
- Keer terug als een normale (standaardgebruiker) gebruiker en ruim de rommel van de oude versie op
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
- Gefeliciteerd! Je postgresql-versie is nu geüpgraded. Als alles goed werkt in B, hoeven we de back-up niet toe te passen omdat we de gegevens al van de oudere versie naar de nieuwere versie hebben gemigreerd, de back-up is voor het geval er iets misgaat.
OPMERKING: Wijzig de postgresql.conf en pg_hba.conf volgens uw vereisten
PS :Voel je vrij om commentaar te geven op je problemen, suggesties of andere wijzigingen die je zou willen voorstellen