psql で次のクエリを実行すると、7 つの結果が返されます。
SELECT generate_series('2012-10-14', CURRENT_DATE, interval '1 day'); # 7
ただし、Rails アプリケーションでまったく同じクエリを実行すると、8 つの結果が得られます。
result = ActiveRecord::Base.connection.execute "SELECT generate_series('2012-10-14', CURRENT_DATE, interval '1 day');"
puts result.count # 8
これはタイムゾーンと関係があるようですが、何が問題なのかわかりません。私のapplication.rbには次のものがあります
config.time_zone = 'Eastern Time (US & Canada)'
これは、postgresql.conf にあるのと同じタイム ゾーン設定です。
Rails アプリケーションが結果に 1 日追加する理由がわかりません。誰でも洞察を提供できますか?
これは 1 日の終わり (午後 8 時以降) にのみ発生するように見えるため、タイム ゾーン オフセットがあると思われます。