|
Потоковая репликация и восстановление данных.
|
|||
---|---|---|---|
#18+
PG11-PG12. Никак до конца не могу разобраться для начала с подписчиком. 1. pg_dump_all-копия всех БД. 2.Восстановление не выходит пока не удалены подписки. 3. После удаления подписок восстановление проходит успешно, руками активируются подписки на тот же слот, но почему то поток данных идет повторно весь, а не дельта как я ожидал(при этом естественно идут ошибки на дублирование данных по pk). ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2019, 19:14 |
|
Потоковая репликация и восстановление данных.
|
|||
---|---|---|---|
#18+
Совсем ошибся. Репликация логическая. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 07:44 |
|
Потоковая репликация и восстановление данных.
|
|||
---|---|---|---|
#18+
https://postgrespro.ru/docs/postgresql/10/sql-createsubscription CREATE SUBSCRIPTION — создать подписку Синтаксис CREATE SUBSCRIPTION имя_подписки CONNECTION 'строка_подключения' PUBLICATION имя_публикации [, ...] [ WITH ( параметр_подписки [= значение] [, ... ] ) ] WITH ( параметр_подписки [= значение] [, ... ] ) В этом предложении могут задаваться следующие необязательные параметры подписки: copy_data (boolean) Определяет, должны ли копироваться существующие данные в публикациях, на которые оформляется подписка, сразу после начала репликации. Значение по умолчанию — true. CREATE SUBSCRIPTION имя_подписки CONNECTION 'строка_подключения' PUBLICATION имя_публикации [, ...] WITH (copy_data = false) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2019, 14:55 |
|
Потоковая репликация и восстановление данных.
|
|||
---|---|---|---|
#18+
nedba, Конечно я знаю про copy_data. НО. В этом случае при восстановлении бэкапа с данными на 08ч. и запуске подписчика в 12ч, я не получу данные за 4ч с 08 до 12. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2019, 23:23 |
|
Потоковая репликация и восстановление данных.
|
|||
---|---|---|---|
#18+
Trogloditnedba, Конечно я знаю про copy_data. НО. В этом случае при восстановлении бэкапа с данными на 08ч. и запуске подписчика в 12ч, я не получу данные за 4ч с 08 до 12. То что вы хотите - в postgresql не бывает. Там нет варианта сверки и дельта копирования для логической репликации. Поэтому и копируется через copy_data=true а не как вы хотели сделать. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2019, 23:37 |
|
Потоковая репликация и восстановление данных.
|
|||
---|---|---|---|
#18+
Maxim Boguk, При copy_data=true, подписка ругается на дубли в таблице, которые были на момент бэкапа и дальше не идет. Все усложняется тем, что в эту таблицу приемник льется из многих источников(publisher'ов), затем в триггере эти данные будут уже обработаны и вставлены в другие таблицы. Повторная загрузка (а данные будут за несколько лет) на порядок замедлят механизм восстановления после сбоя, даже если очистить таблицу-приемник после восстановления. Я нашел пример решения в статье по PG10 , но у них слишком усложненная инфраструктура. Для себя я отметил, что есть возможность перед восстановлением подписки сдвинуть указатель в wal в определенное место и с него начать репликацию. Но я не уверен, что правильно понял. Суть простая. Я пытаюсь понять как в случае логической репликации при сбое, восстановить работоспособность и продолжить работу. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2019, 08:52 |
|
Потоковая репликация и восстановление данных.
|
|||
---|---|---|---|
#18+
Maxim Boguk, В логической репликации при, например, сбоях в сети, после нормализации работы данные на приемнике приходят лишь те, которые он не получил, т.е. я так понимаю на приемнике хранится указатель wal'а или этот указатель хранится на publisher'е? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2019, 08:57 |
|
|
start [/forum/topic.php?fid=53&fpage=36&tid=1995033]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
36ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 139ms |
0 / 0 |