powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Потоковая репликация
25 сообщений из 42, страница 1 из 2
Потоковая репликация
    #38564701
laanet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Коллеги. Настроил потоковую репликацию. Перестала правильно работать. Происходит потеря записей в таблице. В первом случае починить удалось. Один из файлов был нулевым. Скопировал с боевой - заработало. И вот сейчас опять сломалась. Логи доставляются. Как бы видимых ошибок нет. А за 16 число, то что удалось определить это нет двух записей. Конфликтов нет по ключу. Может настройки параметров не верны? Носитель не битый. Файлы во вложении.

Мастер — 32 ядра 64 Г памяти
Слейв — 24 ядра 32 Г памяти.

ОС debian. Спасибо.
...
Рейтинг: 0 / 0
Потоковая репликация
    #38564707
laanet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Потоковая репликация
    #38564852
Lonepsycho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
laanet,

какая у вас версия PostgreSQL? помню недавно исправляли баг который имел схожые симптомы.
...
Рейтинг: 0 / 0
Потоковая репликация
    #38565008
laanet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
"PostgreSQL 9.3.2 on x86_64-unknown-linux-gnu, compiled by gcc (Debian 4.7.2-5) 4.7.2, 64-bit"
...
Рейтинг: 0 / 0
Потоковая репликация
    #38565441
daevy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
laanetСкопировал с боевой - заработало.
что значит "скопировал" ? Вы взяли файлик из каталога БД первого сервера и скопировали его в каталог БД второго сервера? Уточните этот момент.
...
Рейтинг: 0 / 0
Потоковая репликация
    #38565443
daevy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
laanetПерестала правильно работать.
А как должна правильно работать? Как вы проверяете эту самую "правильность"?

laanetПроисходит потеря записей в таблице.
а строки случаем через некоторое время не появляются? может это просто лаг репликации?
...
Рейтинг: 0 / 0
Потоковая репликация
    #38565499
laanet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброе утро. На мастере делаем pg_start_backup. На слейве БД останавливаем. Копируем файлы с мастера на слейв. Потом на мастере pg_stop_backup. Стартуем слейв. Логи донакатываются с мастера на слейв. А записи не появляются. Более поздние данные доходят. К примеру делаю create database на мастере. Она появляется и на слейве. А также данные в таблицах появляются. Спасибо.
...
Рейтинг: 0 / 0
Потоковая репликация
    #38565516
daevy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да с копирование все ок)))
попробуйте периодически попроверять лаг запросом "select now() - pg_last_xact_replay_timestamp()" выполняя его на слейве, он будет показывать отставание слейва от мастера в секундах (значение не должно быть отрицательным))).
...
Рейтинг: 0 / 0
Потоковая репликация
    #38565633
Гость_0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
laanet, расскажите как именно Вы копируете файлы с мастера на слейв, какой командой? Почему Вы не используете pg_basebackup?
...
Рейтинг: 0 / 0
Потоковая репликация
    #38566057
laanet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Горячее физическое резервное копирование. БД получается один в один. Копирую по SCP.
...
Рейтинг: 0 / 0
Потоковая репликация
    #38566072
laanet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
select now() - pg_last_xact_replay_timestamp(). Так и есть. Значение меняется. И имеет вид "00:00:07.053331"
...
Рейтинг: 0 / 0
Потоковая репликация
    #38566087
daevy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
laanetselect now() - pg_last_xact_replay_timestamp(). Так и есть. Значение меняется. И имеет вид "00:00:07.053331"
ну вот это означает что текущее состояние мастера будет достигнуто слейвом через 7 секунд. Здесь вам нужно решить насколько приемлем для вас текущий лаг. Например лаг в 1-2 секунды может быть вполне приемлем, а может и нет. Увеличение лага говорит о проблемах (увеличение нагрузки на сеть, диски, cpu, etc) и в общем случае это плохо.
...
Рейтинг: 0 / 0
Потоковая репликация
    #38566164
laanet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да. 7 сек это приемлемо.
...
Рейтинг: 0 / 0
Потоковая репликация
    #38566219
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
laanetГорячее физическое резервное копирование. БД получается один в один. Копирую по SCP.Расскажите пожалуйста как именно Вы копируете файлы с мастера на слейв, какой командой? Например: rsync [дальше что тут написано у Вас?]
И почему Вы не используете pg_basebackup?
...
Рейтинг: 0 / 0
Потоковая репликация
    #38566244
daevy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ЁшИ почему Вы не используете pg_basebackup?

почему вы так настойчиво его рекомендуете? в обоих случаях получится один и тот же результат - stand-by.
согласен, что pg_basebackup конечно же хорош (требует включенного max_wal_senders и правил в pg_hba, в отличие от rsync:)), но вот например у rsync например есть встроенная возможность регулировать поток (--bwlimit). регулировку конечно можно прикрутить и к pg_basebackup через trottle или pv, но это уже "не то" )))
...
Рейтинг: 0 / 0
Потоковая репликация
    #38566524
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
daevy, ну потому что есть люди которые делают например так:
scp data/base/16387/* slave:data/base/16387/
и думают что получили консистентную копию, а pg_basebackup скопирует всё сам и как нужно, просто чтоб уменьшить вероятность ошибки и советую pg_basebackup.
...
Рейтинг: 0 / 0
Потоковая репликация
    #38566586
Фотография Misha Tyurin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
laanet,

авторПотом на мастере pg_stop_backup. Стартуем слейв. Логи донакатываются с мастера на слейв.

а тут можно подробнее
...
Рейтинг: 0 / 0
Потоковая репликация
    #38566650
Фотография Misha Tyurin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
еще вопрос. как давно вы на 932 ? апгрейдились ли на эту версию, елси да, то с какой версии и как?
...
Рейтинг: 0 / 0
Потоковая репликация
    #38566700
Фотография Misha Tyurin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну и !!!

план запроса, где "пропадают" туплы
...
Рейтинг: 0 / 0
Потоковая репликация
    #38567118
laanet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В октябре перешли. с 9.2.4

EXPLAIN select *
from transactions tx
inner join deal_contractor dc on(tx.deal_id = dc.deal_id)
inner join payer pa on(tx.payer_id = pa.id)
left join collations co on(co.tx_id = tx.id)
where
status = 'success' and
dc.contractor_id = 32 and
--co.synced_at_bank is not null and
merchant_additional::json->>'auth_code' = '536408' and
pa.card_masked = trim(trailing overlay('402727......8015' placing '******' from 7 for 6))

QUERY PLAN
Nested Loop Left Join (cost=9.61..78.53 rows=1 width=803)
-> Nested Loop (cost=9.18..70.12 rows=1 width=781)
-> Nested Loop (cost=0.56..57.47 rows=1 width=705)
-> Index Scan using payer_card_masked_idx on payer pa (cost=0.00..8.02 rows=1 width=102)
Index Cond: ((card_masked)::text = '402727******8015'::text)
-> Index Scan using tx_payer_id_status_idx on transactions tx (cost=0.56..49.45 rows=1 width=603)
Index Cond: ((payer_id = pa.id) AND ((status)::text = 'success'::text))
Filter: (((merchant_additional)::json ->> 'auth_code'::text) = '536408'::text)
-> Bitmap Heap Scan on deal_contractor dc (cost=8.62..12.63 rows=1 width=76)
Recheck Cond: ((deal_id = tx.deal_id) AND (contractor_id = 32))
-> BitmapAnd (cost=8.62..8.62 rows=1 width=0)
-> Bitmap Index Scan on deal_contractor_deal_id (cost=0.00..4.03 rows=5 width=0)
Index Cond: (deal_id = tx.deal_id)
-> Bitmap Index Scan on deal_contractor_contractor_id (cost=0.00..4.33 rows=7 width=0)
Index Cond: (contractor_id = 32)
-> Index Scan using collations_pkey on collations co (cost=0.43..8.40 rows=1 width=22)
Index Cond: (tx_id = tx.id)
...
Рейтинг: 0 / 0
Потоковая репликация
    #38567665
Фотография Misha Tyurin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
laanet,

попробуйте отловить таблицу, где запись "пропадает". далее, попробуйте эти записи получать индексканом и сексканом. далее, если проблема при индексе - делайте реиндекс. если проблема не в индексе, или если реиндекс не помог, - делайте вакуум таблицы VACUUM с vacuum_freeze_table_age = 0.

и ваще нужно всей базе VACUUM с vacuum_freeze_table_age = 0.
http://www.postgresql.org/docs/9.2/static/release-9-2-6.html
авторE.1.2. Changes
Fix VACUUM's tests to see whether it can update relfrozenxid (Andres Freund)

и зря вы перешли на 932 (2 - рано еще), надо было на 926

--

всё,что проделали, потом можете написать в хакерс.
...
Рейтинг: 0 / 0
Потоковая репликация
    #38568112
Sergei.Agalakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот вопрос к Мише Турину тогда. Я начинаю новый проект, и думал сразу делать на 9.3.2. Пока заработает пройдет как минимум полгода. Стоит ли все же изначально делать на 9.2.6, а уж потом думать о миграции?
...
Рейтинг: 0 / 0
Потоковая репликация
    #38568141
Фотография Misha Tyurin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergei.Agalakov,

933. Только что вышли новые релизы.

Пока выйдете на нагрузку - допатчат уже и 94 скорее всего
...
Рейтинг: 0 / 0
Потоковая репликация
    #38568221
Sergei.Agalakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо. Буду тогда продолжать с 9.3.
...
Рейтинг: 0 / 0
Потоковая репликация
    #38568973
laanet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо. Плюнул на все и поставил repmgr репликацию. Попробую ее. В тесте показывает хорошую работу.
...
Рейтинг: 0 / 0
25 сообщений из 42, страница 1 из 2
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Потоковая репликация
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]