BI Consult Desktop Logo BI Consult Mobile Logo
  • Russian BI Исследование российских bi
  • Перейти на Fine BI
  • Контакты
  • +7 812 334-08-01
    +7 499 608-13-06
  • Отправить сообщение
  • Главная
  • Продукты Эксперт-BI
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Сельское хозяйство
    • Энергетика
    • FMCG
    • Девелоперы
    • Маркетплейсы
    • Пищевая промышленность
    • Фармацевтика
    • Построение Data Platform
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и FP&A
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • IBP
    • ИТ (CIO)
    • Закупки
  • Платформы
    • Системы бизнес-анализа (BI)
    • Интегрированное бизнес-планирование (IBP)
    • Хранилища данных (DWH / Lakehouse)
    • Каталоги данных (Data Catalog)
    • Системы ETL и ELT
    • AI / Исскуственный интеллект
    • Шина данных (ESB)
    • Система управления мастер-данными (MDM)
    • Семантический слой
  • Услуги
    • Переход на отечественные BI и DWH системы
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений и DWH
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Курсы
    • Учебный курс Информационная грамотность (Data Literacy)
    • Учебный курс для бизнес-аналитиков
    • Учебный курс для системных аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Greenplum
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt (Data Build Tool)
  • Компания
    • Руководство
    • Новости
    • Клиенты
    • Карьера
    • Скачать
    • Контакты

BI

  • FineBI
  • FineReport
  • FineDataLink
  • FineChatBI (FineAI)
  • Коннекторы данных из 1С в BI
  • Airflow / Nifi
  • Visiology
  • PIX BI
  • Modus BI
  • Yandex.DataLens
  • Open-source BI: Superset/Metabase
  • Luxms BI
  • AW BI + Alpha BI
  • FlyBI + Форсайт. Аналитическая Платформа
  • Loginom
  • Триафлай
  • AI / Исскуственный интеллект
  • Optimacros
  • Навигатор BI
  • Семантический слой

СУБД

  • Arenadata
  • ClickHouse
  • Greenplum
  • Postgres Professional
  • TData

Другое

  • Построение Data Platform
    • Аналитическое хранилище данных
    • Data Lake и Data Engineering
    • Подробнее про Data Lake
    • Внедрение Lakehouse
      • Apache Doris
      • StarRocks
      • Trino
    • Миграция витрин из пропиетарных DWH на новый стек
    • Учебный курс "Современная архитектура хранилища данных"
Главная » Курсы по системам бизнес-анализа и методологии » Учебный курс по PostgreSQL » Как устроен PostgreSQL » Восстановление базы данных в PostgreSQL

Восстановление базы данных в PostgreSQL

В PostgreSQL реализовано восстановление на основе журнала redo. Если сервер базы данных падает, PostgreSQL может восстановить кластер базы данных путем последовательного воспроизведения записей XLOG в файлах сегмента WAL из точки REDO.

Ранее мы уже несколько раз говорили о восстановлении баз данных. В данном разделе я предлагаю поговорить о двух вещах, связанных с восстановлением, которые еще не были объяснены.

Прежде всего, давайте поговирм о том, КАК PostgreSQL запускает процесс восстановления. Когда PostgreSQL запускает процесс восстановления, он сначала считывает файл pg_control.

 (1) При запуске PostgreSQL считывает все элементы в файле pg_control. Если элемент состояния - 'in production', PostgreSQL переходит в режим восстановления, так как это означает, что база данных не была так, как надо. Если же состояние элемента 'shut down', PostgreSQL переходит в обычный режим запуска;

 

(2) PostgreSQL считывает последнюю запись контрольной точки, расположение которой записано в файле pg_control, из соответствующего файла сегмента WAL. Затем он получает точку REDO из этой записи. Если последняя запись контрольной точки недействительна, PostgreSQL считывает предыдущую. Если обе записи нечитаемы, он прекращает восстановление самостоятельно. (Обратите внимание, что предыдущая контрольная точка не хранится в PostgreSQL 11 и более поздних версиях);

 

(3) Соответствующие менеджеры ресурсов считывают и воспроизводят записи XLOG последовательно, начиная с точки REDO до конца последнего сегмента WAL. При воспроизведении записи XLOG, если она является резервным блоком, она перезаписывается на соответствующей странице таблицы независимо от ее LSN. В противном случае запись XLOG (нерезервный блок) воспроизводится только в том случае, если LSN записи больше, чем 'pd_lsn' соответствующей страницы.

 

Второй аспект касается сравнения LSN: почему следует сравнивать LSN нерезервного блока и pd_lsn соответствующей страницы. Смотрите рисунки 111 и 112.

(1) PostgreSQL вставляет кортеж в TABLE_A и записывает XLOG-запись в LSN_1;.

 

(2) Процесс background-writer записывает страницу TABLE_A в хранилище. В этот момент pd_lsn этой страницы равен LSN_1.

 

(3) PostgreSQL вставляет новый кортеж в TABLE_A и записывает запись XLOG в LSN_2. Обратите внимание на то, что измененная страница пока еще не записана в хранилище.

 

Выполните выключение в режиме immediate, а затем запустите базу данных.

(1) PostgreSQL загружает первую запись XLOG и страницу TABLE_A, но не воспроизводит их, поскольку LSN записи (LSN_1) не больше LSN страницы (также LSN_1). На самом деле, очевидно, что в данном случае в воспроизведении нет никакой необходимости;

 

(2) Далее PostgreSQL воспроизводит вторую запись XLOG, поскольку LSN этой записи (LSN_2) больше, чем текущий LSN страницы TABLE_A (LSN_1).

 

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

С другой стороны, поскольку операция повторного выполнения резервного блока является идемпотентной, резервные блоки могут быть воспроизведены склько угодно раз независимо от их LSN.

 

 

Узнать стоимость решенияЗапросить видео презентацию

← Предыдущая статья
Выполнение контрольной точки в PostgreSQL
Следующая статья →
Управление файлами сегментов WAL в PostgreSQL

Решения

Анализировать ФинансыУвеличивайте ПродажиОптимальный Склад и ЛогистикаМаркетинговые Метрики

Клиенты
  • "Уральский банк реконструкции и развития" входит в топ-25 крупнейших банков России и список значимых кредитных организаций на рынке платежных услуг по версии ЦБ РФ.

  • ПАО «Банк Уралсиб» (Публичное акционерное общество «Банк Уралсиб») — российский коммерческий банк. В 2020 году входил в топ-20 банков РФ по размеру активов (рэнкинг рейтингового агентства Эксперт РА), в 2021 году — в топ-25 крупнейших банков страны по расчётам агрегатора Банки.ру

  • ЭГИС - международная фармацевтическая компания, основанная в 1907 году в Венгрии. Компания имеет представительства более чем в 60 странах мира, в том числе в России. Компания ЭГИС является одним из ведущих производителей дженерических лекарственных средств в Центральной и Восточной Европе. Её деятельность охватывает все звенья производственно-сбытовой фармацевтической цепочки.

  • Розничный и интернет-магазин 12 Storeez один из лидеров на рынке женской одежды. С географией рынка не только на территории России, своя продукция представлена еще и в таких странах как Казахстан и Дубай.

  • Решения
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • E-Commerce
    • Энергетика
    • Фармацевтика
  • Услуги
    • Переход на отечественные BI и DWH
    • Консалтинг
    • Пилотный проект
    • Обучение и сертификация
    • Бесплатное обучение
    • Техническая поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • CI/CD для DWH
    • Аудит BI приложений
    • Выделенная команда
    • Настойка и поддержка баз данных
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Платформы
    • FineBI
    • FineReport
    • FineDataLink
    • Коннекторы данных из 1С в BI
    • Airflow + NiFi
    • Visiology
    • Luxms BI
    • Modus BI
    • PIX BI
    • Arenadata
    • ClickHouse
    • Greenplum
    • Postgres Professional
    • Open-source BI: Superset/Metabase
    • Loginom
    • Yandex.DataLens
    • AI / Исскуственный интеллект
    • Optimacros
    • Шины данных
  • Курсы
    • Учебный курс Информационная грамотность
    • Учебный курс для бизнес-аналитиков
    • Учебный курс для системных аналитиков
    • Учебный курс по Data Governance
    • Учебный курс Как стать CDO
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс по Fine BI
    • Учебный курс по FineReport
    • Учебный курс по DWH
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс по PostgreSQL
    • Учебный курс по Apache Airflow и NiFi
    • Учебный курс по Open-source BI
    • Учебный курс по ClickHouse
    • Учебный курс по DataLens
    • Учебный курс по Loginom
    • Учебный курс по Modus BI и ETL
    • Учебный курс по Visiology
    • Учебный курс по dbt
  • Функциональные решения
    • Создание Data Lake
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и прогнозная аналитика
    • Геоаналитика
    • Цепочки поставок (SCM)
    • AutoML
    • Process Mining
    • Сквозная аналитика
  • Компания
    • О нас
    • Руководство
    • Новости
    • Клиенты
    • Скачать
    • Контакты
    • Политика конфиденциальности
RutubeVkontakteLinkedInYouTube
ООО "Би Ай Консалт",
ИНН: 7811437757,
ОГРН: 1097847154184
199178, Россия,
Санкт-Петербург,
6-ая линия В.О., Д. 63, 4 этаж
Тел: +7 (812) 334-08-01
Тел: +7 (499) 608-13-06
E-mail: info@biconsult.ru

 

 

 

 

 

×

Пользуясь сайтом, вы соглашаетесь с использованием cookies и политикой конфиденциальности.