PG и autovacuum
Здравствуйте.
Подскажите пожалуйста, как настроить 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 = 200000000 # 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
--
Regards
Dmitry Podkovyrkin
mobile: +7 922 20 56 756
email: dmitry@rutelecom.company
skype: dmitryrw
Reply to: