powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как определить отставание слейва от мастера при репликации
14 сообщений из 14, страница 1 из 1
Как определить отставание слейва от мастера при репликации
    #39552739
pmb17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
Есть мастер, есть слейв, между ними настроена репликация. Можно как-то по данным из pg_stat_replications определить на сколько слейв отстает от мастера по времени?
Можно ли по номера транзакций из pg_stat_replications узнать время, когда они были зафиксированы на мастере?
...
Рейтинг: 0 / 0
Как определить отставание слейва от мастера при репликации
    #39552753
queezy relax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как определить отставание слейва от мастера при репликации
    #39552804
pmb17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, не заметил )

У меня на слейве pg_last_xact_replay_timestamp() ничего не выводит:
Код: sql
1.
2.
postgres=# select pg_last_xact_replay_timestamp();
 pg_last_xact_replay_timestamp 



при этом судя по выводу ps процесс восстановления WAL файлов идет.

Код: sql
1.
2.
3.
4.
5.
6.
postgres 28936 28934  0 11:45 ?        00:00:06 postgres: 9.6/slave: startup process   recovering 000000010000004100000094
postgres 28941 28934  0 11:45 ?        00:00:00 postgres: 9.6/slave: checkpointer process   
postgres 28942 28934  0 11:45 ?        00:00:00 postgres: 9.6/slave: writer process   
postgres 28990 28934  0 11:45 ?        00:00:00 postgres: 9.6/slave: stats collector process   
postgres 28991 28934  0 11:45 ?        00:00:08 postgres: 9.6/slave: wal receiver process   streaming 41/94260000
root     30856 26842  0 12:10 pts/5    00:00:00 grep slave
...
Рейтинг: 0 / 0
Как определить отставание слейва от мастера при репликации
    #39552844
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pmb17,

А у вас на мастере пишущие транзакции есть? Так как это именно время проигрывания последней ПИШУЩЕЙ транзакции с мастера, и если мастер ничего не делает - то и показывать нечего.
...
Рейтинг: 0 / 0
Как определить отставание слейва от мастера при репликации
    #39552852
pmb17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да есть, сервер рабочий.
...
Рейтинг: 0 / 0
Как определить отставание слейва от мастера при репликации
    #39552983
pmb17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вообщем не совсем адекватный алгоритм работы этой функции.
Перезапустил слейв, и примерно в течении часа pg_last_xact_replay_timestamp() ничего не возвращал.
Потом вернул дату и время, но в течении для эта дата и время очень медленно менялись. И если пользоваться выражением:
select now() - pg_last_xact_replay_timestamp() то разрыв только увеличивается, хотя на мастере размер pg_xlog начал уменьшаться.
...
Рейтинг: 0 / 0
Как определить отставание слейва от мастера при репликации
    #39553047
Фотография vyegorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pmb17,

Функция работает адекватно. Другой вопрос — что у вас с репликацией происходит. И почему?..
...
Рейтинг: 0 / 0
Как определить отставание слейва от мастера при репликации
    #39553296
pmb17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Слейв отстал от мастера на 3 дня, если судить по датам WAL мастера в каталоге pg_xlog.
Размер pg_xlog стал в два раза больше чем размер базы данных.
Вчера начали разбираться в причине - оказалось не хватает скорости VPN канала между серверами. Скорость увеличили, за вчерашний день слейв догнал мастера.

Описываемое поведение pg_last_xact_replay_timestamp() было вчера, когда увеличили пропускную способность VPN соединения.

Есть еще вопрос по теме репликации. На мастере периодически выполняется реиндексация. Если я правильно понимаю, во время работы реиндексации все изменения фиксируются в WAL и потом уходят на слейв. Но по факту эта операция не изменяет самих данных в БД. Можно что-то сделать чтобы результат реиндексации не попадал в данные для реплицирования?
...
Рейтинг: 0 / 0
Как определить отставание слейва от мастера при репликации
    #39553304
Lonepsycho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pmb17,

судя по именам каталогов, у вас не 10. тогда можете использовать hash индексы. они до 10-тки не wal'ятся. правда, какой толк тогда от реплики, не понятно.
...
Рейтинг: 0 / 0
Как определить отставание слейва от мастера при репликации
    #39553353
Фотография vyegorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pmb17Есть еще вопрос по теме репликации. На мастере периодически выполняется реиндексация. Если я правильно понимаю, во время работы реиндексации все изменения фиксируются в WAL и потом уходят на слейв. Но по факту эта операция не изменяет самих данных в БД. Можно что-то сделать чтобы результат реиндексации не попадал в данные для реплицирования?

Нельзя. Все варианты с отключением WAL-ов на мастере (а-ля UNLOGGED) сделают объекты недоступными на реплике.
...
Рейтинг: 0 / 0
Как определить отставание слейва от мастера при репликации
    #39553520
pmb17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Lonepsychopmb17,
судя по именам каталогов, у вас не 10. тогда можете использовать hash индексы. они до 10-тки не wal'ятся. правда, какой толк тогда от реплики, не понятно.
у нас работой с БД управляет приложение, индексы изменить не сможем.
Смысл - нужна точная копия БД, возможно без индексов.
Кажется в 10 сделали выборочную репликацию таблиц, возможно это то что нам нужно.
...
Рейтинг: 0 / 0
Как определить отставание слейва от мастера при репликации
    #39553548
Lonepsycho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pmb17,

"возможно без" это уже не "точная копия". как варианты, можете посмотреть pglogical или slony .
...
Рейтинг: 0 / 0
Как определить отставание слейва от мастера при репликации
    #39553621
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pmb17Смысл - нужна точная копия БД, возможно без индексов.


Вы уж решите или точная копия или без индексов :). Это противоположные требования.

PS: периодический reindex идея изрядно неудачная лучше разобраться надо ли это и зачем.
...
Рейтинг: 0 / 0
Как определить отставание слейва от мастера при репликации
    #39553752
pmb17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Maxim BogukPS: периодический reindex идея изрядно неудачная лучше разобраться надо ли это и зачем.

Разбираться наверное с реиндексированием будем но позже. А что неудачного в идее периодического reindex?
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как определить отставание слейва от мастера при репликации
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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