F.35. page_repair#
F.35. page_repair #
Модуль восстановления отдельной страницы с использованием данных резервного копирования.
F.35.2. Установка #
Создайте расширение page_repair на сервере Tantor SE-1C.
$ psql =# CREATE EXTENSION page_repair CREATE EXTENSION
F.35.3. Использование #
Расширение page_repair предоставляет функцию
pg_repair_page(table regclass, block_number bigint, connstr text).
Где table и block_number
это имя таблицы и номер поврежденного блока соответственно.
connstr - это строка подключения к
резервному серверу. Резервный сервер, к которому можно подключиться с помощью
connstr, должен иметь тот же системный идентификатор, что и
сервер, на котором выполняется эта функция. Эта функция может быть
выполнена на главном сервере и суперпользователем. Если нужно
восстановить другие форки, такие как карта свободного пространства, карта видимости, вы можете
использовать функцию
pg_repair_page(table regclass, block_number bigint, connstr text, forkname text)
где forkname может быть main,
fsm vm.
pg_repair_page получает блок
AccessExclusiveLock на целевое отношение и
может ожидать, пока вторичный сервер догонит основной
сервер. Эта функция не пытается восстановить страницу, которая
отмечена как грязная в общем буфере, потому что
грязная страница будет выгружена на диск и, таким образом, может
восстановить поврежденную страницу.