Контрольно-пропускні пункти трапляються занадто часто під час pg_restore


15

Під PostgreSQL 9.2.2 (біт Windows 32) у мене є pg_restoreкоманда, яка систематично призводить до попереджень журналу про частоту контрольної точки, наприклад:

LOG:  checkpoints are occurring too frequently (17 seconds apart)
HINT:  Consider increasing the configuration parameter "checkpoint_segments".

База даних має розмір приблизно 3,3 Гб із 112 таблицями / 160 переглядами та відновлюється приблизно за 14 хвилин.

Чи нормально це траплятися під час pg_restore?

Відповіді:


17

Не рідкість під час відновлення цілої БД, оскільки це надзвичайно величезна операція. Якщо ви бачите це під час звичайної роботи, подумайте про checkpoint_segmentsпостійне підняття налаштування так само, як натякає повідомлення про помилку.

Ви можете зіткнутися з проблемою встановити checkpoint_segmentsвище перед відновленням, а потім знову її опустити. Це навіть те, що пропонує посібник (включаючи пояснення) :

Тимчасове збільшення checkpoint_segmentsзмінної конфігурації також може прискорити великі завантаження даних. Це відбувається тому, що завантаження великої кількості даних у PostgreSQL призведе до того, що контрольні точки виникають частіше, ніж звичайна частота контрольної точки (вказана checkpoint_timeoutзмінною конфігурації). Щоразу, коли виникає контрольна точка, усі брудні сторінки потрібно видалити на диск. При checkpoint_segmentsтимчасовому збільшенні під час масових навантажень даних кількість необхідних контрольних пунктів може бути зменшена.

Відповідна відповідь з більш детальною інформацією:

Постгрес 9.5

Новий реліз має розумніший підхід. Цитуючи примітки до бета-версії :

Замініть параметр конфігурації checkpoint_segmentsна min_wal_size і max_wal_size(Heikki Linnakangas)

Це дозволяє виділити велику кількість файлів WAL, не зберігаючи їх, якщо вони не потрібні. Таким чином, за замовчуванням max_wal_size було збільшено до 1GB.

Убік: кількість переглядів ледь є релевантною, вони не містять жодних даних, лише "рецепт", тобто: запит та деякі атрибути представлення даних. Що стосується питання, важливим є лише загальний розмір файлу резервної копії.


Після встановлення контрольних_сегментів на 30 більше таких повідомлень не відображається в журналі. Спасибі.
Sébastien Clément
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.