Чтобы подготовить базу данных Postgres для обновления или переноса, выполните ее очистку.
Большие объекты в таблице pg_largeobject, в которой хранятся наборы для ведения журналов и телеметрии, а также объекты приложений могут замедлить работу или приостановить процесс обновления или переноса. Прежде чем пытаться обновить или перенести базу данных Postgres, можно подготовить ее, выполнив очистку с помощью команды vacuum.
Примечание: Очистка базы данных не может быть выполнена, если запущены службы.
Процедура
- Для начала выполните резервное копирование устройства: создайте дамп базы данных Postgres на странице «Кластер» в VAMI или создайте резервную копию или моментальный снимок главного виртуального устройства.
- В vRA VAMI переключите метод репликации с синхронного на асинхронный.
- В качестве пользователя Postgres на главном устройстве vRA (su - postrgres) с помощью команды vacuum очистите базу данных, удалив записи больших объектов.
su - postgres -c "/opt/vmware/vpostgres/current/bin/vacuumlo -v -p 5432 vcac"
su - postgres -c "/opt/vmware/vpostgres/current/bin/vacuumdb -f -p 5432 -t pg_largeobject -t pg_largeobject_metadata vcac"
- Чтобы освободить пространство базы данных, используйте команды vacuum full.
psql -d vcac
vacuum full
vacuum analyze