Nejsem postgres člověk, ale ... zkusil bych to
Movie.connection.execute "select setseed(0.5)"
Movie.where(...).order('random()').page(params[:page]).per_page(15)
S ohledem na Array#shuffle
nebere semeno, ale používá Kernel.rand
takže jej můžete osévat pomocí Kernel.srand