その他
    ホーム 技術発信 DoRuby PostgreSQLのHOT機能を活用するためのmigrateでFILLFACTOR設定してみる

    PostgreSQLのHOT機能を活用するためのmigrateでFILLFACTOR設定してみる

    この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。

    こんにちは、O2 です。

    HOT を使える環境か、確認するモジュールを前回公開してみましたが

    今回は、migrate 時に、 FILLFACTORを設定してみましょう。

    たとえば、以下の様してみると、users テーブルのFILLFACTORを90%に設定することができるよ。

    class PostgresHot < ActiveRecord::Migration

      require ‘dbcheck’

      def self.up
        if DBCHECK.enable_hot
          ActiveRecord::Base.connection.execute(‘ALTER TABLE users SET (FILLFACTOR=90);’)
        end
      end

      def self.down
        if DBCHECK.enable_hot
          ActiveRecord::Base.connection.execute(‘ALTER TABLE users SET (FILLFACTOR=100);’)
        end
      end
    end

    なぜ、 enable_hotでチェックするかというと、

    実は、共有のテストサーバ-には、postgreSQL が、8.3 以下が入っていたりするんです。(^^;;