Re: PG и autovacuum

2014-10-22 Пенетрантность Nikolay Kachanov
В документации написано:
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



PG и autovacuum

2014-10-20 Пенетрантность 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


--
Regards
Dmitry Podkovyrkin
mobile: +7 922 20 56 756
email: dmitry@rutelecom.company
skype: dmitryrw


--
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/5444B5A8.6030705@rutelecom.company