Форум программистов, компьютерный форум, киберфорум
PostgreSQL
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 07.12.2023
Сообщений: 1
1

Последовательное восстановление бэкапов WAL

07.12.2023, 09:47. Показов 655. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Есть рабочий сервер debian 10 + postgresql 9.6, на нем настроена архивация через pg_basebackup и архивацию wal (wal_level = archive). Есть тестовый сервер, на нем я восстанавливаю бэкап до определенной точки через указание recovery_target_time в recovery.conf.
Допустим, я восстановил базу на 1 число, все восстановилось нормально. Затем я хочу накатить журналы до 2-ого числа. Указываю новый recovery_target_time в recovery.conf, при запуске получаю сообщения вида (архив журналов сжат zstd):

Bash
1
zstd: can't stat /mnt/archive/xlog/0000000200007B0D00000038.zst : No such file or directory -- ignored
Судя по цифре 2 в наименовании файла, сервер пытается восстановить новую временную линию, возникшую после восстановления бэкапа.
Я указываю явно первую временную линию через параметр recovery_target_timeline. В этом случае получаю циклически сообщения:

Bash
1
2
3
2023-12-07 12:16:52.811 +07 [14650] СООБЩЕНИЕ:  файл журнала "0000000100007B0D00000038" восстановлен из архива
2023-12-07 12:16:52.820 +07 [14650] СООБЩЕНИЕ:  по смещению 7B0D/38000028 запрошено продолжение записи
2023-12-07 12:16:53.709 +07 [14666] postgres@postgres ВАЖНО:  система баз данных запускается
Подскажите, как накатить на восстановленную базу новую порцию журналов, или это невозможно?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.12.2023, 09:47
Ответы с готовыми решениями:

SQLite Wal mode
Приветствую вас и всех с наступающими праздниками. Друзья помогите разобраться с работай это хитрой...

Как сделать, чтобы удалялись wal и shm файлы при закрытии соединения с БД?
всем привет, не могу понять, как сделать так, чтобы удалялись файлы журнала без закрытия самой...

Хранилище бэкапов
Здравствуйте. Какой жесткий диск лучше использовать для бэкапов: обычный или внешний? Или особой...

Настройка бэкапов
Доброго времени суток форумчанам. Есть миссия, реализация которой пока под небольшой завесой....

1
1251 / 967 / 382
Регистрация: 02.09.2012
Сообщений: 2,989
11.12.2023, 22:48 2
(9.6 - как давно это было...)
При восстановлении бакапа сервер автоматически переводится на новую линию времени. Это by-design со времен старых версий.
The ability to restore the database to a previous point in time creates some complexities that are akin to science-fiction stories about time travel and parallel universes. For example, in the original history of the database, suppose you dropped a critical table at 5:15PM on Tuesday evening, but didn't realize your mistake until Wednesday noon. Unfazed, you get out your backup, restore to the point-in-time 5:14PM Tuesday evening, and are up and running. In this history of the database universe, you never dropped the table. But suppose you later realize this wasn't such a great idea, and would like to return to sometime Wednesday morning in the original history. You won't be able to if, while your database was up-and-running, it overwrote some of the WAL segment files that led up to the time you now wish you could get back to. Thus, to avoid this, you need to distinguish the series of WAL records generated after you've done a point-in-time recovery from those that were generated in the original database history.

To deal with this problem, PostgreSQL has a notion of timelines. Whenever an archive recovery completes, a new timeline is created to identify the series of WAL records generated after that recovery.
https://www.postgresql.org/doc... iving.html

Соответственно не получится накатить. Придется делать новое восстановление и новую recovery_taget_time
0
11.12.2023, 22:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.12.2023, 22:48
Помогаю со студенческими работами здесь

Архивация бэкапов
нужен батник который архивировал бы .log в папочку backups c датой в имени архива и сохранял при...

Копирование бэкапов 1с
Доброго дня! Друзья, нужен совет. Есть сервер 1с, на нем папка backup, которая периодически...

Проверка бэкапов
приветствую. нужно запилить скрипт, который будет проверять бэкапы, в некоторых локальных папках и...

Автоматизированная сортировка бэкапов
Ситуация такая есть сервер, каждый день он делает бэкап в папку, нужно чтобы через 7 дней батник...

Создание бэкапов в postgresql
Ниже представлен скрипт для создания бэкапов в виде дампов пользовательских БД, БД template1 в...

Батник для бэкапов
Доброго времени суток народ!! Никак не могу написать батник. Суть батника заключается в следующем:...

Воскрешение системы без бэкапов
Здравствуйте. История такая: собирал ПК знакомому. Был древнючий атлон с 7-кой на винте в 500 ГБ....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru