Non una persona postgres ma... ci proverei
Movie.connection.execute "select setseed(0.5)"
Movie.where(...).order('random()').page(params[:page]).per_page(15)
Per quanto riguarda Array#shuffle
non prendendo un seme, utilizza Kernel.rand
quindi puoi eseguire il seeding usando Kernel.srand