В документации написано:
The usual goal of routine vacuuming is to do standard VACUUMs often
enough to avoid needing VACUUM FULL. The autovacuum daemon attempts to
work this way, and in fact will never issue VACUUM FULL.
Cron задействовать не пробовали?
20.10.2014 11:11:36, Dmitry Podkovyrkin:
Здравствуйте.
Подскажите пожалуйста, как настроить autovacuum для postgresql.
Есть одна таблица с часто меняющимися записями, то есть не update, а
insert, delete.
Например при полутора миллионах записей:
name | oid | size_mb | count
---+---+-+-
test | 18384 | 92 | 1.59718e+06
test_pkey | 18387 | 63 | 1.59718e+06*
*
После этого удаляем 90% записей, размер тот же.
name | oid | size_mb | count
---+---+-+
test | 18384 | 92 | 161024
test_pkey | 18387 | 63 | 161024
Если сделать vacuum full, то размер уменьшается, но это нужно делать
вручную. Как автоматизировать?
Таблица дана для примера, реальная разрастается на многие сотни Мб и всё
растёт.
Текущие настройки autovacuum:
#--
# AUTOVACUUM PARAMETERS
#--
autovacuum = on # Enable autovacuum subprocess?
'on'
# requires track_counts to also
be on.
#log_autovacuum_min_duration = -1 # -1 disables, 0 logs all
actions and
# their durations, 0 logs only
# actions running at least this
number
# of milliseconds.
autovacuum_max_workers = 2 # max number of autovacuum
subprocesses
# (change requires restart)
autovacuum_naptime = 10min # time between autovacuum runs
autovacuum_vacuum_threshold = 20# min number of row updates before
# vacuum
autovacuum_analyze_threshold = 10 # min number of row updates before
# analyze
#autovacuum_vacuum_scale_factor = 0.1 # fraction of table size before
vacuum
#autovacuum_analyze_scale_factor = 0.1 # fraction of table size before
analyze
#autovacuum_freeze_max_age = 2 # maximum XID age before forced
vacuum
# (change requires restart)
#autovacuum_vacuum_cost_delay = 20ms# default vacuum cost delay for
# autovacuum, in milliseconds;
# -1 means use vacuum_cost_delay
#autovacuum_vacuum_cost_limit = -1 # default vacuum cost limit for
# autovacuum, -1 means use
# vacuum_cost_limit
--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/54477133.2070...@gmail.com