towerops/priv/repo/migrations/20260404000003_tune_oban_jobs_autovacuum.exs

30 lines
829 B
Elixir

defmodule Towerops.Repo.Migrations.TuneObanJobsAutovacuum do
use Ecto.Migration
# oban_jobs has extreme churn (1.6B inserts, 5B updates, 1.6B deletes).
# Default autovacuum scale factors are too conservative for a table this busy,
# causing bloat and table growth. These settings trigger vacuum/analyze much
# more aggressively.
def up do
execute """
ALTER TABLE oban_jobs SET (
autovacuum_vacuum_scale_factor = 0.01,
autovacuum_vacuum_threshold = 100,
autovacuum_analyze_scale_factor = 0.005,
autovacuum_vacuum_cost_delay = 0
)
"""
end
def down do
execute """
ALTER TABLE oban_jobs RESET (
autovacuum_vacuum_scale_factor,
autovacuum_vacuum_threshold,
autovacuum_analyze_scale_factor,
autovacuum_vacuum_cost_delay
)
"""
end
end