Linux. Обновление POSTGRE со старой на актуальную версию на CWP/Centos 7/8/el7/el8

В этой статье показано как можно обновить POSTGRE SQL с версии 9 до версии 13 (последняя на момент написания).

Забэкапим все данные

mkdir /home/pgsql
chown -R postgres:postgres /home/pgsql
su - postgres
pg_dumpall > /home/pgsql/backup
exit

Удаляем текущую версию POSTGRE

Если вы устанавливали официальную версию из неофициальных репозиториев:

systemctl stop postgresql
mv /var/lib/pgsql/data/ /home/pgsql/data.old
rpm -e --nodeps postgresql postgresql-devel postgresql-libs postgresql-server

Иначе (для установки из официальных), выполните другую команду:

systemctl stop postgresql-#
mv /var/lib/pgsql/#/data/ /home/pgsql/#/data.old
rpm -e --nodeps postgresql# postgresql#-devel postgresql#-libs postgresql#-server

Замените # на номер установленной версии, например 9

Установим последнюю версию POSTGRE SQL

EL7/Centos 7 :

yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
yum install -y yum-utils centos-release-scl-rh
yum-config-manager --disable centos-sclo-rh
yum --enablerepo=centos-sclo-rh install llvm-toolset-7-clang
yum install postgresql13-server postgresql13-devel

EL8/Centos 8 :

dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
dnf -qy module disable postgresql
dnf install postgresql13-server postgresql13-devel

Скопируем конфигурационные файлы в новую версию POSTGRE

Centos 7/8/EL7/EL8 :

Если POSTGRE была установлена из неофициальных репозиториев:

su - postgres
mv /var/lib/pgsql/13/data/pg_hba.conf /var/lib/pgsql/13/data/pg_hba.conf.bak
wget -O https://www.mysterydata.com/upload/pg_hba.conf /var/lib/pgsql/13/data/pg_hba.conf
chown -R postgres:postgres /var/lib/pgsql/13/data/pg_hba.conf
/usr/pgsql-13/bin/initdb
exit

Для бывшей установки из официальных репозиториев:

su - postgres
/usr/pgsql-13/bin/initdb
cp /home/pgsql/#/data.old/pg_hba.conf /var/lib/pgsql/13/data/
cp /home/pgsql/#/data.old/postgresql.conf /var/lib/pgsql/13/data/
exit

Замените # на номер установленной версии, например 9

Запускаем POSTGRE и добавляем её в автозагрузку

systemctl enable postgresql-13
systemctl start postgresql-13

Восстанавливаем свои базы из бекапа

su - postgres
psql -d postgres -f /home/pgsql/backup

Создаем симлинки для новых служб

rm -rf /usr/lib/systemd/system/postgresql.service
ln -s /usr/lib/systemd/system/postgresql-13.service /usr/lib/systemd/system/postgresql.service
systemctl stop postgresql-13.service
systemctl enable postgresql
systemctl restart postgresql

Доп. Обновляем phpPgAdmin в CWP

cd /usr/local/cwpsrv/var/services
yum install cwpPgphp -y
yum reinstall cwpPgphp -y
mv phpPgAdmin phpPgAdmin.bak
wget https://github.com/phppgadmin/phppgadmin/releases/download/REL_7-13-0/phpPgAdmin-7.13.0.zip
unzip phpPgAdmin-7.13.0.zip
mv phpPgAdmin-7.13.0 phpPgAdmin
rm -rf phpPgAdmin-7.13.0.zip

Ссылки

https://www.mysterydata.com/how-to-upgrade-postgresql-to-latest-version-postgresql-in-cwp-centos-7-8-el7-el8/

Оставьте ответ

Ваш адрес email не будет опубликован.

÷ 7 = 1