10

Ubuntu で PostgreSQL 9.2 を実行しています。自動バキューム プロセスがサーバー上で実行されています。

データベースには負荷が高く、毎日数千回の追加と数百回の削除が行われていますが、自動バキュームが起動していないようです。

ログには真空に関連するものは何もありません。

やっているps -ef | grep -i vacuum

生成:postgres 1406 1130 0 Oct13 00:00:14 postgres: autovacuum launcher process

クエリを実行SELECT last_autovacuum , last_autoanalyze FROM pg_stat_user_tables; すると、最後の autovacuum 列にレコードが生成されず、suto_analyze 列に 2 つのエントリが生成されます。

postgresql.conf の関連セクションは次のとおりです。

#------------------------------------------------------------------------------
# AUTOVACUUM PARAMETERS
#------------------------------------------------------------------------------

autovacuum = on         # Enable autovacuum subprocess?  'on'
                    # requires track_counts to also be on.
log_autovacuum_min_duration = 250   # -1 disables, 0 logs all actions and
                    # their durations, > 0 logs only
                    # actions running at least this number
                    # of milliseconds.
autovacuum_max_workers = 3      # max number of autovacuum subprocesses
                    # (change requires restart)
#autovacuum_naptime = 1min      # time between autovacuum runs
autovacuum_vacuum_threshold = 128   # min number of row updates before
                    # vacuum
autovacuum_analyze_threshold = 128  # min number of row updates before
                    # analyze
#autovacuum_vacuum_scale_factor = 0.2   # 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

何かご意見は?

4

1 に答える 1