Ръководство стъпка по стъпка
-
Направете резервно копие . Уверете се, че вашата база данни не се актуализира.
pg_dumpall > outputfile -
Инсталирайте Postgres 10 . Следвайте инструкциите на тази страница:https://www.postgresql.org/download/linux/ubuntu/
След това стартирайте
sudo apt-get install postgresql-10. По-нова версия ще бъде инсталирана успоредно с по-ранната версия. -
Изпълнете
pg_lsclusters: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 10 main 5433 online postgres /var/lib/postgresql/10/main /var/log/postgresql/postgresql-10-main.logВече има клъстер
mainза 10 (тъй като това се създава по подразбиране при инсталиране на пакет). Това се прави, за да работи нова инсталация от кутията, без да е необходимо първо да създавате клъстер, но, разбира се, тя се сблъсква, когато се опитате да надстроите9.6/mainкогато10/mainсъщо съществува. Препоръчителната процедура е да премахнете клъстера 10 сpg_dropclusterи след това надстройте сpg_upgradecluster. -
Спрете клъстера 10 и го пуснете:
sudo pg_dropcluster 10 main --stop -
Спрете всички процеси и услуги да пишат в базата данни. Спрете базата данни:
sudo systemctl stop postgresql -
Надстройте клъстера 9.6:
sudo pg_upgradecluster -m upgrade 9.6 main -
Стартирайте PostgreSQL отново
sudo systemctl start postgresql -
Изпълнете
pg_lsclusters. Вашият 9.6 клъстер вече трябва да е "надолу", а клъстерът 10 трябва да е онлайн на5432: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 10 main 5432 online postgres /var/lib/postgresql/10/main /var/log/postgresql/postgresql-10-main.log -
Първо проверете дали всичко работи добре. След това премахнете клъстера 9.6:
sudo pg_dropcluster 9.6 main --stop
Някои бележки относно pg_upgradecluster
Това ръководство работи добре за надстройка от 9.5 до 10.1. Когато надграждате от по-стара версия, помислете за пропускане на -m upgrade на стъпка №6:
sudo pg_upgradecluster 9.6 main
Ако имате наистина голям клъстер, можете да използвате pg_upgradecluster с --link опция, така че надстройката да бъде на място. Това обаче е опасно – можете да загубите клъстера в случай на повреда. Просто не използвайте тази опция, ако не е необходимо, като -m upgrade вече е достатъчно бърз.
Въз основа на:
- Документи:Надстройка на PostgreSQL клъстер
- Същност №1:delameko/upgrade-postgres-9.5-to-9.6.md
- Същност №2:johanndt/upgrade-postgres-9.3-to-9.5.md
- Какво ще стане, ако прекъсна или отменя
pg_upgradecluster? - Ръководска страница на Ubuntu за pg_upgradecluster
Актуализиране
Това ръководство работи добре за надстройка от 9.6 до 11 и от 10 до 11, както и от 10 до 13.