[[ Обновление PostgreSQL 9.4 до 9.6 на CentOS 7 ]]

CentOSPostgreSQL

Обновление PostgreSQL 9.4 до 9.6 на CentOS 7

CentOS Linux release 7.6.1810 (Core)
postgresql94-server.x86_64 9.4.21-1PGDG.rhel7 @pgdg94
postgresql96-server.x86_64 9.6.12-1PGDG.rhel7 @pgdg96

Установка PostgreSQL

sudo yum install https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm
sudo yum install postgresql96 postgresql96-server postgresql96-contrib postgresql96-devel
sudo /usr/pgsql-9.6/bin/postgresql96-setup initdb

Миграция

Запуск pg_upgrade с ключом --check, для проверки перед началом миграции.
Утилита должна запускаться под пользователем postgres.

sudo su - postgres
/usr/pgsql-9.6/bin/pg_upgrade --old-bindir=/usr/pgsql-9.4/bin/ --new-bindir=/usr/pgsql-9.6/bin/ --old-datadir=/var/lib/pgsql/9.4/data/ --new-datadir=/var/lib/pgsql/9.6/data/ --check

Если проверка пошла успешно, начинаем процедуру. Время простоя зависит от объема данных.

sudo systemctl stop postgresql-9.4.service

sudo su - postgres
/usr/pgsql-9.6/bin/pg_upgrade --old-bindir=/usr/pgsql-9.4/bin/ --new-bindir=/usr/pgsql-9.6/bin/ --old-datadir=/var/lib/pgsql/9.4/data/ --new-datadir=/var/lib/pgsql/9.6/data/

Необходимы права для авторизации пользователя postgres через socket

pg_hba.conf

# "local" is for Unix domain socket connections only
local   all             all                                     peer

sudo systemctl start postgresql-9.6.service
sudo systemctl status postgresql-9.6.service

sudo su - postgres
./analyze_new_cluster.sh

Завершающий этап

sudo systemctl enable postgresql-9.6.service
sudo systemctl disable postgresql-9.4.service

sudo yum autoremove postgresql94

sudo su - postgres
./delete_old_cluster.sh











Обсуждение

Ваш комментарий. Вики-синтаксис разрешён:
10 +8 = 
 
howto/centos/centos7_postgres_upgrade.txt · Последнее изменение: 2022/08/31 14:53 — 127.0.0.1
Gentoo Linux Gentoo Linux Driven by DokuWiki