digital-garden/dev/database/postgresql/Autovacuum.md

32 lines
2.4 KiB
Markdown
Raw Permalink Normal View History

2024-11-08 23:37:40 +03:00
---
aliases:
tags:
- maturity/🌱
date: 2024-11-05
---
## Тезисы
- Autovacuum — это автоматический процесс в PostgreSQL, поддерживающий производительность базы данных.
- Основные задачи: предотвращение раздутия таблиц, освобождение неактуальных строк, обновление статистики.
***
Autovacuum — это встроенный процесс в [[../../../meta/zero/00 PostgreSQL|PostgreSQL]], автоматически выполняющий задачи очистки и обновления данных в базе. Его цель — минимизировать проблему “раздутия” ([[Раздутие таблиц|bloat]]) таблиц, возникающую при удалении или обновлении строк. Когда строка становится неактуальной, она остается в физической структуре таблицы и занимает место, пока Autovacuum не удалит ее, освобождая ресурсы.
Autovacuum выполняет три ключевые задачи:
1. **Удаление неактуальных строк**: после обновлений и удалений строки не удаляются физически, а остаются, что приводит к избыточному использованию памяти. Autovacuum очищает такие строки.
2. **Обновление статистики**: PostgreSQL использует статистику для оптимизации выполнения запросов. Autovacuum обновляет статистику, что помогает планировщику запросов выбирать оптимальные пути
Проблемы:
- [[../Долгая транзакция|Долгая транзакция]]
***
## Мета информация
**Область**:: [[../../../meta/zero/00 PostgreSQL|00 PostgreSQL]]
**Родитель**::
**Источник**::
**Создана**:: [[2024-11-05]]
**Автор**::
### Дополнительные материалы
-
### Дочерние заметки
<!-- QueryToSerialize: LIST FROM [[]] WHERE contains(Родитель, this.file.link) or contains(parents, this.file.link) -->