Osäker på vad ditt problem är exakt eller hur det "inte fungerar", på grund av brist på detaljer i din fråga. Men minst två faktorer kan påverka sorteringen på ett sådant sätt att du får olika resultat i MySQL och PostgreSQL.
Den första är sortering . Särskilt om du spelar med 9.1 beta. Senast jag installerade MySQL (vilket var ett tag sedan, så de kanske har fixat detta sedan), var det att sortera saker som latin-1/svenska som standard, kontra utf-8/engelska för PostgreSQL.
Den andra är null. MySQL placerar alltid dessa sist om minnet fungerar. Däremot placerar PostgreSQL dem konsekvent i slutet av btree-index, och placerar dem därmed sist när man beställer asc och först när man beställer desc. Du kan ändra detta beteende genom att beställa att använda nulls först/nulls sist .
I just ditt fall är min gissning att du vill order by rating desc nulls last
, i motsats till standardbeteendet som kommer att placera nollor först.