PostgreSQLのautovacuumを特定テーブルでOffにする

目的

特定時間にサイトパフォーマンスが落ちてしまう事を防止したい

実際にはサイトレスポンスが異様に遅い事がありログを見たところ
autovacuumが実施されていたケースが多いかと思います。

環境

EC2インスタンスより pgbenchを実行
RDS PostgreSQL

設定項目
DBインスタンス pgsql-test.xxxxx.ap-northeast-1.rds.amazonaws.com
DB testdb
ユーザ pguser

こちらのエントリでは、下記を実施します。
1. autovacuum が実施される状態を作る (pgbench)
2. vacuum 及び autovacuum が実施された最終時刻を確認
3. 特定テーブルの autovacuum を抑制

autovacuumを停止した後は必ずメンテナンススクリプト等で都合の良い時間帯で vacuumを実施するようにしましょう

準備

実施

auto_vacuum設定を何も変更せずに実行し autovacuumが走っている事を確認

vacuum設定の変更

pg_benchを何回実行しても autovacuumが走らない事を確認

投稿者プロフィール

takashi
Japan AWS Ambassadors 2023, 2024
開発会社での ASP型WEBサービス企画 / 開発 / サーバ運用 を経て
2010年よりスカイアーチネットワークスに在籍しております

機械化/効率化/システム構築を軸に人に喜んで頂ける物作りが大好きです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Time limit is exhausted. Please reload CAPTCHA.

ABOUTこの記事をかいた人

Japan AWS Ambassadors 2023, 2024 開発会社での ASP型WEBサービス企画 / 開発 / サーバ運用 を経て 2010年よりスカイアーチネットワークスに在籍しております 機械化/効率化/システム構築を軸に人に喜んで頂ける物作りが大好きです。