|
0 / 0 / 0
Регистрация: 01.12.2014
Сообщений: 118
|
|||||||||||
pg_probackup и физическая репликация27.07.2024, 18:40. Показов 1681. Ответов 12
Метки postgresql (Все метки)
Здравствуйте!
Есть два кластера СУБД Postgres PRO Ent 11.7. Первый кластер db1 – прод, на котором локально настроен локальный бэкап pg_probackup на другой раздел, на db1 так же находится WAL-архив с помощью pg_receivewal. Db2 – пустой кластер, на который необходимо в удаленном режиме восстановить бэкап с db1, а затем воспользовавшись WAL-архивом с db1 «догнать» db2 до физической репликации. Восстановить полный и инкрементальный бэкап на db2 получается, но вот с выкачиванием WAL-сегментов проблемы. Я так понимаю, надо сформировать строку restore-command с archive-get, но как это правильно сделать? В моем случае remote-host и archive-host будут одинаковые? Или в этой ситуации вообще remote-host не нужен? Если вручную запускать archive-get получаю ошибку:
В каком направлении копать?
0
|
|||||||||||
| 27.07.2024, 18:40 | |
|
Ответы с готовыми решениями:
12
физическая Физическая задача Физическая задача 2 |
|
107 / 68 / 29
Регистрация: 22.04.2022
Сообщений: 233
|
|
| 28.07.2024, 07:20 | |
|
--wal-method=stream
--create-slot --slot=имя_слота
1
|
|
|
0 / 0 / 0
Регистрация: 01.12.2014
Сообщений: 118
|
|
| 28.07.2024, 09:16 [ТС] | |
|
fte65, а слот зачем?
0
|
|
|
107 / 68 / 29
Регистрация: 22.04.2022
Сообщений: 233
|
|
| 28.07.2024, 11:56 | |
|
Вы сам написали в топике физическая репликация - она только через физический слот репликации
Добавлено через 19 минут И для понимания, бэкап + инкреминтал != репликация - это две разные штуки, бэкап - это возможность восстановить БД (инстанс) с нуля до определённого момента времени и WAL здесь не причём, репликация - это горячий резерв, позволяющий переключится на него единомоментно, а дальше разбираться с проблемами ...
0
|
|
|
0 / 0 / 0
Регистрация: 01.12.2014
Сообщений: 118
|
|||
| 28.07.2024, 12:24 [ТС] | |||
|
0
|
|||
|
107 / 68 / 29
Регистрация: 22.04.2022
Сообщений: 233
|
|
| 28.07.2024, 18:08 | |
|
--slot=имя_слота
Этот параметр может применяться только вместе с -X stream. ..... Если этот ключ не указан и сервер поддерживает временные слоты репликации (они появились в версии 10), для трансляции WAL автоматически используется временный слот репликации. --wal-method=метод Включает в резервную копию все необходимые файлы журнала предзаписи (файлы WAL). В том числе включаются все файлы журнала, сгенерированные в процессе создания резервной копии. Любой метод, кроме none, позволяет запустить сервер с восстановленным каталогом, не используя архив WAL; таким образом будет получена полностью самодостаточная резервная копия. Поддерживаются следующие методы получения журналов предзаписи: n none Не включать журналы предзаписи в резервную копию. f fetch Файлы журнала предзаписи собираются в конце процесса копирования. Таким образом необходимо установить достаточно большое значение параметра wal_keep_size, чтобы избежать преждевременного удаления нужных данных журнала. В случае переработки этих данных до завершения процесса копирования возникнет ошибка, а копия будет непригодной к использованию. Когда используется формат tar, файлы журнала предзаписи включаются в архив base.tar. s stream Передавать журнал предзаписи в процессе создания резервной копии. При выборе этого метода открывается второе соединение к серверу, через которое будет передаваться журнал предзаписи параллельно с созданием копии. Таким образом, этот метод требует использования не одного, а двух соединений репликации, но если клиент будет успевать получать данные журнала предзаписи, на исходном сервере не потребуется сохранять дополнительные журналы. Когда используется формат tar, файлы журнала предзаписи сохраняются в отдельном архиве с именем pg_wal.tar (если версия сервера ниже 10, файл будет называться pg_xlog.tar). Это значение по умолчанию.
0
|
|
|
0 / 0 / 0
Регистрация: 01.12.2014
Сообщений: 118
|
|
| 28.07.2024, 20:53 [ТС] | |
|
fte65, спасибо. Только вопрос в том, что можно ли воспользоваться существующим WAL-архивом, и если да, то какие ключи прописывать в restore-command?
Вы приводите ключи для команды backup скорее всего, а интересует для archive-get
0
|
|
|
107 / 68 / 29
Регистрация: 22.04.2022
Сообщений: 233
|
||
| 28.07.2024, 22:30 | ||
|
Добавлено через 9 минут Видимо нужно углубится в изучение pg_probackup
1
|
||
|
0 / 0 / 0
Регистрация: 01.12.2014
Сообщений: 118
|
|
| 29.07.2024, 19:19 [ТС] | |
|
0
|
|
|
1267 / 980 / 385
Регистрация: 02.09.2012
Сообщений: 3,027
|
||||
| 01.08.2024, 17:22 | ||||
Сообщение было отмечено bsd9 как решение
Решение__не предназначена__ для запуска вручную со значениями %f и %p. Эти псведозначения подставляет postgresql, когда запускает заданную команду, заданную через restore_command. Сам pg_probackup ничего не знает ни про %f, ни про %p. Тогда сервер начнет использовать restore_command, ну и по логам смотреть, что он действительно запускает и выполняет (поставить log_min_messages=INFO)
1
|
||||
|
0 / 0 / 0
Регистрация: 01.12.2014
Сообщений: 118
|
||
| 02.08.2024, 17:54 [ТС] | ||
|
grgdvo, спасибо буду пробовать.
0
|
||
|
0 / 0 / 0
Регистрация: 01.12.2014
Сообщений: 118
|
||||||||||||||||
| 04.08.2024, 18:52 [ТС] | ||||||||||||||||
|
grgdvo, здравствуйте. Ваша рекомендация очень помогла, спасибо. Действительно, нет необходимости указывать и --archive-host и --archive-user. В связке с archive-get достаточно --remote-host и --remote-user.
Сделал так, создал пользователя backup_user и на db1, и на db2, потом делаем под backup_user на db1:
У меня наверное не совсем тривиальная задача, мне необходимо делать бэкапы и держать WAL-архив на локально на сервере db1, но периодически восстанавливать их на db2. Проинициализировать каталог резервных копий под пользователем backup_user я не могу - потеряю возможность делать локальные резервные копии, так как он не сможет прочитать каталог pgdata. А если оставить под postgres, то backup_user не сможет WAL выкачать, потому что они ему не принадлежат. Не понимаю пока, как в такой ситуации правильно выставить права на каталоги резервных копий? Добавлено через 21 минуту Плюс еще у всех файлов WAL права 600, что исключает добавление в группы.
0
|
||||||||||||||||
|
1267 / 980 / 385
Регистрация: 02.09.2012
Сообщений: 3,027
|
|
| 12.08.2024, 04:13 | |
|
По хорошему надо, чтобы backup_user был владельцем (или имел права на запись) директории резервных копий pg_probackup.
Рассматривайте pg_probackup + backup_user как "сервер" резервных копий. На db1 локально запускаете от backup_user На db2 удаленно запускаете также от backup_user. По идее так будет работать. По-моему именно эта схема и рекомендовано к эксплуатации в документации И еще посмотрите, нет ли каких-то настроек по глубине хранения WAL, чтобы не было "случайного" удаления WAL-сегментов. По схеме у вас получается PITR (Point-In-Time-Recovery) на db2 с db1. Наверно к этой схеме и стремится по документации и рекомендациям.
0
|
|
| 12.08.2024, 04:13 | |
|
Помогаю со студенческими работами здесь
13
Физическая задача Физическая трассировка физическая по формуле Физическая задача 3 физическая модель Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2.
Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом.
В. . .
|
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
|
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
|
|
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут
Суть:
- Группа наркоманов из 10 человек.
- Только один инфицирован ВИЧ.
- Колются одной иглой.
- Колются раз в день.
- Колются последовательно через. . .
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|