powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / нативная репликация - виды
14 сообщений из 14, страница 1 из 1
нативная репликация - виды
    #38649870
carter123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Начинаю разбираться с постгрес, но в упор не пойму, хоть и настроил и работает. Есть два вида нативной репликации:
1) потоковая - в упор не пойму как это все работает, при потоковой данные пишутся в xlog? а потом считываю на слейв?
2) файловая - пишется все транзакции на мастере в xlog и далее вручную копируется на слейв и дальше слейв читает xlog и применяет изменения?... тогда собственно какое великое отличие?
...
Рейтинг: 0 / 0
нативная репликация - виды
    #38649967
daevy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
carter123Добрый день!
Начинаю разбираться с постгрес, но в упор не пойму, хоть и настроил и работает. Есть два вида нативной репликации:
1) потоковая - в упор не пойму как это все работает, при потоковой данные пишутся в xlog? а потом считываю на слейв?
2) файловая - пишется все транзакции на мастере в xlog и далее вручную копируется на слейв и дальше слейв читает xlog и применяет изменения?... тогда собственно какое великое отличие?

при потоковой лаг почти минимален. при файловой, слейв отстает на 1 сегмент xlog, т.е. мастер произвел запись 14Мб в xlog сегмент, и пока недопишет оставшиеся 2 мб, то слейв не получит этот сегмент.

вобще эти способы реализуют одновременно где второй способ страхует первый, на случай долгой потери связи...
p.s. тут где то в этом форуме скидывали линк на книгу PostgreSQL Replication (PACKT.2013) от Z.Boszormenyi H.J.Schonig. почитайте, довольно легко написано.
...
Рейтинг: 0 / 0
нативная репликация - виды
    #38649996
carter123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
daevy,

Спасибо!
1) А как настраивается файловая репликация? я должен вручную переправлять xlog на slave? а что я должен прописвать на слейве в конфигах(без потоковой)?
2) При потоковой репликации мастер же всё равно все транзакции пишет в xlog и slave оттуда считывает или как происходит потоковая репликаиця?
...
Рейтинг: 0 / 0
нативная репликация - виды
    #38650172
daevy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
carter1231) А как настраивается файловая репликация? я должен вручную переправлять xlog на slave? а что я должен прописвать на слейве в конфигах(без потоковой)?

master postgresql.conf:
wal_level = archive (или hot_standby)
archive_mode = on
archive_command = 'scp %p postgres@standby:/archivedir/%f'

slave recovery.conf
restore_command = 'cp /archivedir/%f "%p"'

Этого будет достаточно для репликации через архивы. После перезапуска, мастер будет копировать архивы на слейв по ssh. А слейв будет копировать уже локально. Конфиги не ограничены этими командами, так что тут как фантазия разыграется.

carter1232) При потоковой репликации мастер же всё равно все транзакции пишет в xlog и slave оттуда считывает или как происходит потоковая репликаиця?
Загляните в ps aux (top -u postgres), у мастера есть wal sender процесс, у слейва - wal receiver. Мастер толкает все изменения на слейв через sender, а слейв принимает через receiver.
Также полезно посмотреть в pg_stat_replication на мастере.
...
Рейтинг: 0 / 0
нативная репликация - виды
    #38650189
daevy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
нашел таки...
http://www.sql.ru/forum/1074936/ebook-postgresql-replication

неполенитесь прочтите, там всего 200 страниц, зато многие вопросы сразу отпадут.
...
Рейтинг: 0 / 0
нативная репликация - виды
    #38650318
/\/\/\/\/\/\
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
daevy,

В этой книге нет ничего такого, чего нет в официальной документации.
Если честно, то книга сильно разочаровала.

Официальная документация как всегда на том же сайте. Пункт репликации с подробными примерами выделен особо.
...
Рейтинг: 0 / 0
нативная репликация - виды
    #38650476
carter123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
daevy,

Спасибо большое! Я читал много мануалов, просто хотел структурировать свои знания!
при потоковой разве в xlog ничего не пишется? а если я оставнолю реплику? как slave догонит мастер?
...
Рейтинг: 0 / 0
нативная репликация - виды
    #38650479
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carter123daevy,

Спасибо большое! Я читал много мануалов, просто хотел структурировать свои знания!
при потоковой разве в xlog ничего не пишется? а если я оставнолю реплику? как slave догонит мастер?

в xlog пишется все обновления базы вне зависимости от наличия или отсутствия реплики (там есть детали но на вашем уровне они не важны совершенно)
...
Рейтинг: 0 / 0
нативная репликация - виды
    #38650494
/\/\/\/\/\/\
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
carter123,

Более того, слейв после остановки сможет догнать мастер только в случае, если на мастере хранится достаточное количество WAL файлов.

If you use streaming replication without file-based continuous archiving, you have to set wal_keep_segments in the master to a value high enough to ensure that old WAL segments are not recycled too early, while the standby might still need them to catch up. If the standby falls behind too much, it needs to be reinitialized from a new base backup. If you set up a WAL archive that's accessible from the standby, wal_keep_segments is not required as the standby can always use the archive to catch up.
...
Рейтинг: 0 / 0
нативная репликация - виды
    #38650505
carter123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
/\/\/\/\/\/\,

а WAL логи находятся в pg_xlog ? я просто пробую так сделать, оставноил репликацию на slaveб создаю на мастере что нибудь, и удаляю из папки(pg_xlog) все файлы и на мастере и на слейве)
2) запускаю репликациию) и все измнеения на слейве появляются =)
...
Рейтинг: 0 / 0
нативная репликация - виды
    #38650508
daevy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
carter123
и удаляю из папки(pg_xlog) все файлы и на мастере и на слейве)


а вот этого никогда делать ненужно. никогда
...
Рейтинг: 0 / 0
нативная репликация - виды
    #38650518
/\/\/\/\/\/\
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
carter123,
WAL логи находятся в pg_xlog
Да.

Пожалуйста, повторите ситуацию. Но только убедитесь, что образовалось несколько WAL файлов (выполните действие которое меняет очень много данных и/или специальной командой принудительно скиньте данные в лог - pg_switch_xlog() ). О результатах сообщите.

Подозреваю, что Вы выполнили немного действий (менее чем на 16MB - это размер WAL файла по умолчанию), поэтому они могли остаться в еще не скинутом на диск буфере. Оттуда их и достала потоковая репликация.
...
Рейтинг: 0 / 0
нативная репликация - виды
    #38650569
carter123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
daevy,
да у меня тест сервер =) чего бы не попробовать
да Вы правы! мастер сломался!
восстановил пока что
...
Рейтинг: 0 / 0
нативная репликация - виды
    #38650572
carter123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
/\/\/\/\/\/\,

Да! именно Вы правы, всё же пишутся в xlog транзакции, и далее slave читает из xlog =)
Спасибо всем, буду еще копаться и ломать тест =))
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / нативная репликация - виды
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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