Оглавление
В этой статье показано как можно обновить 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