Class: Pgbus::Generators::TuneFillfactorGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Includes:
ActiveRecord::Generators::Migration, MigrationPath
Defined in:
lib/generators/pgbus/tune_fillfactor_generator.rb

Instance Method Summary collapse

Instance Method Details

#create_migration_fileObject



22
23
24
25
# File 'lib/generators/pgbus/tune_fillfactor_generator.rb', line 22

def create_migration_file
  migration_template "tune_fillfactor.rb.erb",
                     File.join(pgbus_migrate_path, "tune_pgbus_fillfactor.rb")
end

#display_post_installObject



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/generators/pgbus/tune_fillfactor_generator.rb', line 27

def display_post_install
  say ""
  say "Pgbus fillfactor tuning migration created!", :green
  say ""
  say "This migration sets fillfactor=#{Pgbus::TableMaintenance::FILLFACTOR} on all existing"
  say "PGMQ queue tables. This reserves #{100 - Pgbus::TableMaintenance::FILLFACTOR}% of each page to"
  say "reduce page density during PGMQ's heavy read UPDATE churn."
  say ""
  say "New queues created at runtime will automatically receive"
  say "this setting."
  say ""
  say "Next steps:"
  say "  1. Run: rails db:migrate#{":#{options[:database]}" if separate_database?}"
  say "  2. Restart pgbus: bin/pgbus start"
  say ""
end