Heroku の dataclips 機能を使用して SQL クエリを実行しました。それはうまく機能します - 句の一部で「ORDER BY ...」が指定されているため、得られる結果は正しい順序になっています。
Heroku からデータベースのコピーを取得しました。次に、ActiveRecord::Base.connection.execute "" を実行します。
取得したデータは正しいのですが、PGResult オブジェクトのデータは完全にランダムに並べられています。つまり、「order by」句は完全に無視されています。
なぜそれが起こっているのか、とにかくそれを防ぐ方法があるのか 疑問に思っています。