30 lines
829 B
Elixir
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
|