Skip to content

Latest commit

 

History

History
39 lines (30 loc) · 1.57 KB

10010.postgres_upgrade.md

File metadata and controls

39 lines (30 loc) · 1.57 KB

Обновление postgres

Требуемое место: размер инстанса x 2

yum install postgresql16-server postgresql16 postgresql16-contrib -y
/usr/pgsql-16/bin/postgresql-16-setup initdb
su - postgres
/usr/pgsql-16/bin/pg_upgrade --old-bindir=/usr/pgsql-15/bin --new-bindir=/usr/pgsql-16/bin --old-datadir=/var/lib/pgsql/15/data --new-datadir=/var/lib/pgsql/16/data --check

Если всё OK, то выполняем:

/usr/pgsql-16/bin/pg_upgrade --old-bindir=/usr/pgsql-15/bin --new-bindir=/usr/pgsql-16/bin --old-datadir=/var/lib/pgsql/15/data --new-datadir=/var/lib/pgsql/16/data

Обновление TimescaleDB

yum install timescaledb-2-postgresql-16 -y

Проверить версию timescaledb исползуемую в БД. Выполнить на БД источнике (в нашем случае 15)

\c zabbix; SELECT extversion FROM pg_extension where extname = 'timescaledb';

Если установленный модуль не соответствует версии в БД и выдаёт подобную ошибку

could not load library "$libdir/timescaledb-2.X.X": ERROR: could not access file "$libdir/timescaledb-2.X.X": No such file or directory In database: zabbix

То необходимо подключиться на psql -X zabbix обновить на последнюю имеющуюся версию:

ALTER EXTENSION timescaledb UPDATE;

Рестартовать старый инстанс postgres. Подключиться к БД и проверить версию.

psql zabbix

\dx