ISPManager 5 - смена версии PostgreSQL на 10 версию после установки панели на CentOS 7

Материал из Wiki - Iphoster - the best ever hosting and support. 2005 - 2023
Перейти к:навигация, поиск

Доступная цена

ISPManager 5 - смена версии PostgreSQL на 10 версию после установки панели на CentOS 7

Задача - сразу после установки ISPManager 5 - удалить старый PostgreSQL 9.2 и установить PostgreSQL 10 на CentOS 7.
Алгоритм замены версии ниже.

1) Проверяем какие пакеты сейчас стоят и удаляем их без зависимостей:

# rpm -qa | grep postgresql | grep 9
postgresql-server-9.2.24-4.el7_8.x86_64
postgresql-9.2.24-4.el7_8.x86_64
postgresql-libs-9.2.24-4.el7_8.x86_64
# systemctl stop postgresql
# rpm -e --nodeps postgresql-server-9.2.24-4.el7_8.x86_64 postgresql-9.2.24-4.el7_8.x86_64 postgresql-libs-9.2.24-4.el7_8.x86_64

2) Подключаем репозиторий с PostgreSQL 10, делаем установку PostgreSQL 10 и инициализируем создание системным данных и баз:

# rpm -Uvh https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
# yum install postgresql10-server.x86_64 postgresql10-libs.x86_64 postgresql10.x86_64 postgresql10-contrib.x86_64
# /usr/pgsql-10/bin/postgresql-10-setup initdb
Initializing database ... OK


Проверяем директорию с базами PostgreSQL:

# ls  /var/lib/pgsql/10/data/
base              log           pg_hba.conf    pg_multixact  pg_serial     pg_stat_tmp  pg_twophase  pg_xact               postmaster.opts
current_logfiles  pg_commit_ts  pg_ident.conf  pg_notify     pg_snapshots  pg_subtrans  PG_VERSION   postgresql.auto.conf  postmaster.pid
global            pg_dynshmem   pg_logical     pg_replslot   pg_stat       pg_tblspc    pg_wal       postgresql.conf


3) Добавляем в корневой конфиг файл оболочки bash пользователя postgres - /var/lib/pgsql/.bash_profile - новые пути к бинарникам PostgreSQL 10 и перезапускам, добавляем PostgreSQL 10 в автозагрузку:

# egrep PATH /var/lib/pgsql/.bash_profile
export PATH=/usr/pgsql-10/bin:$PATH
# systemctl start postgresql-10.service
# systemctl enable postgresql-10.service

Проверяем версию PostgreSQL:

# su - postgres -c "psql"
psql (10.13)
Type "help" for help.


4) Меняем конфиги для ISPManager 5 (пакет ispmanager-pkg-postgresql)

# rpm -ql ispmanager-pkg-postgresql-5.254.0-1.el7.x86_64
/usr/local/mgr5/etc/conf.d/postgresql.conf

Меняем

# cat /usr/local/mgr5/etc/conf.d/postgresql.conf
path pgvacuum /usr/bin/vacuumdb
path pgctl service postgresql
path pghbaconf /var/lib/pgsql/data/pg_hba.conf
path postgresql_restart service postgresql restart
path postgresql_reload service postgresql reload
path postgresql.conf /var/lib/pgsql/data/postgresql.conf

на

# cat /usr/local/mgr5/etc/conf.d/postgresql.conf
path pgvacuum /usr/pgsql-10/bin/vacuumdb
path pgctl service postgresql-10
path pghbaconf /var/lib/pgsql/10/data/pg_hba.conf
path postgresql_restart service postgresql-10 restart
path postgresql_reload service postgresql-10 reload
path postgresql.conf /var/lib/pgsql/10/data/postgresql.conf

и перезапускаем панель ISPManager 5

# killall -9 core