Навигация
|
Как настроить потоковую репликацию PostgreSQL 12 или 13
Пробовалось успешно на FreeBSD версии 12 и CentOS 8
Одним из решений является доставка журнала с упреждающей записью (WAL) Позволяет реализовать резервный сервер с использованием файловой доставки журналов или потоковой репликации
Мастер передает записи WAL на резервный по мере их создания, не дожидаясь заполнения файла WAL
Т.е. данные записываются на резервные серверы после того, как транзакция была зафиксирована на основном сервере Это значит, что существует небольшая задержка между фиксацией транзакции на мастере и видимыми изменениями slave Один из недостатков асинхронного подхода В случае сбоя мастера любые незафиксированные транзакции не могут быть реплицированы Это может привести к потере данных
Мы будем использовать слоты репликации для резервного сервера в качестве решения: Внимание:
Master сервер бд: 10.20.20.9
Примечание:
В этом случае мы будем использовать *, что означает все SQL-команда ALTER SYSTEM SET - это мощная функция для изменения параметров конфигурации сервера напрямую Конфигурации сохраняются в файле postgresql.conf.auto, расположенном в корне папки данных ($PGDATA) Cчитываются в дополнение к тем, которые хранятся в postgresql.conf Конфигурации в первом имеют приоритет над конфигурациями в более поздних и других связанных файлах
В следующей команде флаг
Нужно, чтобы разрешить запросы от резервного сервера к главному.
6. Далее необходимо сделать базовую резервную копию главного сервера с резервного сервера На slave: Нужно остановить службу postgresql на резервном сервере Переключиться на учетную запись пользователя postgres Сделать резервную копию каталога данных, затем его зачистить
В следующей команде параметры: -h - указывает хост, который является главным сервером.
В новом каталоге на slave создается standby.signal, и настройки подключения добавляются к postgresql.auto.conf Slave будет работать в режиме "горячего резервирования", если:
12. После успешного установления соединения между главным и резервным сервером Вы увидите процесс-получатель WAL на резервном сервере со статусом потоковой передачи Вы можете проверить это с помощью представления pg_stat_wal_receiver И соответствующий процесс отправителя WAL на master сервере с состоянием потоковой передачи И sync_state async, вы можете проверить это представление pg_stat_replication В следующем разделе мы продемонстрируем, как дополнительно включить синхронную репликацию 13. Теперь проверьте, нормально ли работает репликация Создав тестовую базу данных на главном сервере и проверьте, существует ли она на резервном сервере
14. Синхронная репликация дает возможность зафиксировать транзакцию в master и slave одновременно Подтверждает успешность транзакции, когда все изменения в транзакции были перенесены на все сервера Чтобы включить синхронную репликацию:
Он должен показать состояние потоковой передачи и sync_state of sync
Мы показали, как настроить потоковую репликацию базы данных PostgreSQL 12 master-standby Мы также рассмотрели, как включить синхронную репликацию в кластере базы данных PostgreSQL Существует множество вариантов использования репликации Вы всегда можете выбрать решение, которое соответствует вашей ИТ-среде или требованиям приложения Дополнительные сведения см. В разделе "Резервные серверы доставки журналов" документации PostgreSQL 12 Удачи! Комментарии пользователей Эту новость ещё не комментировалиНаписать комментарий Анонимам нельзя оставоять комментарии, зарегистрируйтесь! |
Контакты Группа ВК | Код обмена баннерами | Видео к IT статьям на YoutubeВидео на другие темы Смотреть | |||
Мои друзья: | © Snakeproject.ru создан в 2013 году.При копировании материала с сайта - оставьте ссылку.Весь материал на сайте носит ознакомительный характер,за его использование другими людьми, автор ответственности не несет. |
||||
Поддержать автора и проект
|