Создание реплик чтения и управление ими в Базе данных Azure для PostgreSQL с отдельным сервером с помощью портала Azure.

Область применения: отдельный сервер Базы данных Azure для PostgreSQL

Внимание

База данных Azure для PostgreSQL — одиночный сервер находится на пути выхода на пенсию. Настоятельно рекомендуется выполнить обновление до База данных Azure для PostgreSQL — гибкий сервер. Дополнительные сведения о миграции на База данных Azure для PostgreSQL — гибкий сервер см. в статье "Что происходит с одним сервером База данных Azure для PostgreSQL?".

В этой статье описано, как создавать реплики чтения и управлять ими в службе "База данных Azure для PostgreSQL" с помощью портала Azure. Дополнительные сведения о репликах чтения см. в этой статье.

Необходимые компоненты

Главным сервером должен быть сервер Базы данных Azure для PostgreSQL.

Поддержка репликации Azure

Получение сведений репликами чтения и логическим декодированием зависит от журнала с упреждающей записью (WAL) Postgres. Для этих двух функций требуются разные уровни ведения журнала от Postgres. Логическому декодированию нужен более высокий уровень ведения журнала, чем репликам чтения.

Чтобы правильно настроить уровень ведения журнала, используйте параметр поддержки репликации Azure. Параметр поддержки репликации Azure имеет три варианта значений:

  • Выкл. — в WAL записывается минимум информации. Этот вариант недоступен на большинстве серверов Базы данных Azure для PostgreSQL.
  • Реплика — более подробное протоколирование, чем в режиме Выкл. Это минимальный уровень ведения журнала, необходимый для работы реплик чтения. Этот вариант используется по умолчанию на большинстве серверов.
  • Логический — более подробное протоколирование, чем в режиме Реплика. Это минимальный уровень ведения журнала для работы логического декодирования. Реплики чтения тоже работают с этим вариантом.

Примечание.

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

Подготовка главного сервера

  1. В портал Azure выберите существующий сервер База данных Azure для PostgreSQL для использования в качестве основного.

  2. В меню сервера выберите Репликация. Если для поддержки репликации Azure задана как минимум Реплика, можно создавать реплики чтения.

  3. Если для поддержки репликации Azure не задана как минимум Реплика, задайте ее. Выберите Сохранить.

    База данных Azure для PostgreSQL —репликация — выбор и сохранение реплики

  4. Перезапустите сервер, чтобы применить изменение, выбрав Да.

    База данных Azure для PostgreSQL —репликация — подтверждение перезапуска

  5. После завершения операции будут получены два уведомления портала Azure. Одно уведомление служит для обновления параметра сервера. Сразу же следует другое уведомление о перезапуске сервера.

    Уведомления о выполнении

  6. Обновите страницу портала Azure, чтобы обновить панель инструментов репликации. После этого можно создавать реплики чтения для данного сервера.

Создание реплики чтения

Чтобы создать реплику чтения, выполните следующие действия:

  1. Выберите имеющийся сервер службы "База данных Azure для PostgreSQL", который будет использоваться в качестве главного.

  2. На боковой панели сервера в разделе Параметры выберите Репликация.

  3. Выберите Добавить реплику.

    Добавление реплики

  4. Введите имя реплики чтения.

    Присвоение имени реплике

  5. Выберите расположение для реплики. Расположение по умолчанию такое же, как и у главного сервера.

    Выбор расположения

    Примечание.

    Дополнительные сведения о том, в каких регионах можно создать реплику, см. в статье об основных понятиях реплики чтения.

  6. Нажмите кнопку ОК, чтобы подтвердить создание реплики.

Созданную реплику чтения можно просмотреть в окне Репликация:

Просмотр новой реплики в окне

Внимание

Ознакомьтесь с разделом рекомендаций в обзоре реплики чтения.

Прежде чем обновить значение параметра у главного сервера, измените значение параметра у реплики на такое же или более высокого уровня. Это действие помогает реплика следить за изменениями, внесенными в основную.

Остановить репликацию

Вы можете остановить репликацию между главным сервером и репликой чтения.

Внимание

Если репликация на главном сервере и реплике чтения остановлена, то отменить это действие невозможно. Реплика чтения становится отдельным сервером, который поддерживает операции чтения и записи. Это сервер нельзя снова преобразовать в реплику.

Чтобы остановить репликацию между главным сервером и репликой чтения на портале Azure, выполните следующие действия:

  1. На портале Azure выберите главный сервер Базы данных Azure для PostgreSQL.

  2. В меню сервера в разделе Параметры выберите Репликация.

  3. Выберите сервер-реплику, на котором нужно остановить репликацию.

    Выбор реплики

  4. Щелкните Остановить репликацию.

    Команда

  5. Нажмите кнопку ОК, чтобы подтвердить остановку репликации.

    Подтверждение остановки репликации

Удаление главного сервера

Чтобы удалить главный сервер, выполните те же действия, что и для отдельного сервера службы "База данных Azure для PostgreSQL".

Внимание

При удалении главного сервера будет остановлена репликация на все реплики чтения. Реплики чтения становятся автономными серверами, которые начинают поддерживать операции чтения и записи.

Чтобы удалить сервер на портале Azure, сделайте следующе:

  1. На портале Azure выберите главный сервер Базы данных Azure для PostgreSQL.

  2. Откройте страницу Обзор сервера. Выберите команду Удалить.

    Удаление главного сервера на странице

  3. Введите имя главного сервера, который нужно удалить. Выберите Удалить, чтобы подтвердить удаление главного сервера.

    Подтверждение удаления главного сервера

Удаление реплики

Чтобы удалить реплику чтения, выполните те же действия, что и для удаления главного сервера.

  • На портале Azure откройте страницу Обзор реплики чтения. Выберите команду Удалить.

    Удаление реплики на странице

Кроме того, реплику можно удалить из окна Репликация, выполнив следующие действия:

  1. На портале Azure выберите главный сервер Базы данных Azure для PostgreSQL.

  2. В меню сервера в разделе Параметры выберите Репликация.

  3. Выберите реплику чтения, которую нужно удалить.

    Выбор реплики, которую нужно удалить.

  4. Щелкните Удалить реплику.

    Выбор команды удаления реплики

  5. Введите имя реплики, которую нужно удалить. Нажмите кнопку Удалить, чтобы подтвердить удаление реплики.

    Подтверждение удаления реплики

Мониторинг реплики

Выполнять мониторинг реплик чтения можно на основе двух метрик.

Метрика Max Lag Across Replicas (Максимальная задержка между репликами)

Метрика Max Lag Across Replicas (Максимальная задержка между репликами) показывает задержку между главным сервером и репликой с наибольшей задержкой в байтах.

  1. На портале Azure выберите главный сервер Базы данных Azure для PostgreSQL.

  2. Выберите Метрики. В окне Метрики выберите Max Lag Across Replicas (Максимальная задержка между репликами).

    Отслеживание максимальной задержки между репликами

  3. Для параметра агрегирования установите значение Макс.

Метрика Replica Lag (Задержка реплики)

Метрика Replica Lag (Задержка реплики) показывает время с момента последнего воспроизведения транзакций по реплике. Если на первичной основе нет транзакций, метрика отражает это время задержки.

  1. На портале Azure выберите реплику чтения службы "База данных Azure для PostgreSQL".

  2. Выберите Метрики. В окне Метрики выберите Replica Lag (Задержка реплики).

    Отслеживание задержки реплики

  3. Для параметра агрегирования установите значение Макс.

Следующие шаги