Não sou uma pessoa postgres, mas ... eu tentaria
Movie.connection.execute "select setseed(0.5)"
Movie.where(...).order('random()').page(params[:page]).per_page(15)
Com relação a
Array#shuffle
não levando uma semente, ele usa Kernel.rand
para que você possa semeá-lo usando Kernel.srand