Open2
Postgres × バキューム 覚書

VACUUMとは
データベースの不要領域の改修とデータベースの解析行う(ドキュメントより)
コマンド
VACUUM [options] [table_name];
options
options | 排他ロック | 処理時間 | メモ |
---|---|---|---|
なし | 不要 | 普 | 削除フラグのついている領域を回収し、再利用可能とする。 |
FULL | 必要 | 遅 | 不要領域を完全に回収する。実行時はディスク容量に余裕を持たせる。 |
不要領域が溜まると・・・?
DBには残っていない不要なデータによりディスク使用量を圧迫します。
フルバキュームはデータ量に比例して実行時間も長いので、いつもヒヤヒヤ。

FULL VACUUMするときに確認するコマンド
いっつも忘れてまうので備忘録。
SELECT
relname,
n_live_tup,
n_dead_tup,
CASE n_dead_tup WHEN 0 THEN 0 ELSE round(n_dead_tup*100/(n_live_tup+n_dead_tup) ,2) END AS ratio
FROM
pg_stat_user_tables;
relname
:テーブル名
n_live_tup
:生きているタプル(行)
n_dead_tup
:削除フラグがついているタプル(行)
ratio
:n_dead_tupの比率
▼ 参考