Как уменьшить рост базы данных PostgreSQL автоматически

Если база данных Staffcop слишком быстро растет, настройте более агрессивные параметры автовакуума. Автовакуум — встроенный процесс PostgreSQL, который удаляет «мертвые» строки и освобождает место для повторного использования. Чем чаще он запускается, тем медленнее растет файл базы данных.

Примечание

В Staffcop версии 4.4 и выше эти настройки добавляются автоматически. Выполнять инструкцию нужно только для более ранних версий.

Совет

Чтобы подобрать оптимальные значения под вашу конфигурацию сервера и нагрузку, используйте калькулятор конфигурации PostgreSQL. Если на сервере БД работают Staffcop и другие сервисы, учитывайте потребляемые ими ресурсы.

Настройка автовакуума

  1. Откройте консоль Linux на сервере Staffcop.

  2. Определите установленную версию PostgreSQL:

ls /etc/postgresql/
  1. Откройте файл настроек PostgreSQL для редактирования. Вместо <версия> подставьте номер версии из предыдущего шага:

sudo nano /etc/postgresql/<версия>/main/postgresql.conf
  1. Добавьте в конец файла следующие строки:

    autovacuum = on                          # включить процесс автовакуума
    log_autovacuum_min_duration = 0          # записывать в журнал все операции автовакуума
    autovacuum_max_workers = 5               # максимальное число параллельных процессов автовакуума
    autovacuum_naptime = 1min                # интервал между запусками автовакуума
    autovacuum_vacuum_threshold = 300        # минимальное число измененных строк до очистки
    autovacuum_analyze_threshold = 200       # минимальное число измененных строк до анализа
    autovacuum_vacuum_scale_factor = 0.01    # доля измененных строк таблицы, после которой запускается очистка
    autovacuum_analyze_scale_factor = 0.005  # доля измененных строк таблицы, после которой запускается анализ
    
  2. Сохраните файл: нажмите Ctrl+X, затем Y и Enter.

  3. Перезапустите PostgreSQL:

sudo service postgresql restart
  1. Убедитесь, что служба работает:

sudo service postgresql status

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

Последнее обновление: 09.10.26