Добавить в корзинуПозвонить
Найти в Дзене
Postgres DBA

После импорта DUMP нужно выполнять VACUUM

Карта видимости (visibility map) в PostgreSQL (и Postgres Pro) создаётся и обновляется автоматически в процессе выполнения команд VACUUM, а не ANALYZE. После восстановления дампа таблица изначально не содержит карты видимости. Она начинает формироваться при первом запуске VACUUM (включая VACUUM FULL или VACUUM с флагом FULL) на этой таблице. В процессе VACUUM: Команда ANALYZE не влияет на карту видимости — она только собирает статистику по распределению значений в столбцах для оптимизатора запросов. Таким образом, после заливки дампа карта видимости создаётся после первого запуска VACUUM, а не ANALYZE. Источник: [Postgres Pro Documentation — Updating the Visibility Map]

Карта видимости (visibility map) в PostgreSQL (и Postgres Pro) создаётся и обновляется автоматически в процессе выполнения команд VACUUM, а не ANALYZE.

После восстановления дампа таблица изначально не содержит карты видимости. Она начинает формироваться при первом запуске VACUUM (включая VACUUM FULL или VACUUM с флагом FULL) на этой таблице. В процессе VACUUM:

  • Определяются страницы, содержащие только видимые кортежи (т.е. кортежи, которые не устарели и не заблокированы).
  • Для таких страниц устанавливаются соответствующие биты в карте видимости.
  • Карта видимости сохраняется на диске и используется в последующих операциях для оптимизации индексных сканирований (index-only scans).

Команда ANALYZE не влияет на карту видимости — она только собирает статистику по распределению значений в столбцах для оптимизатора запросов.

Таким образом, после заливки дампа карта видимости создаётся после первого запуска VACUUM, а не ANALYZE.

Источник: [Postgres Pro Documentation — Updating the Visibility Map]