Si è rivelato essere un problema di indice. Il comportamento NULLS della query non era coerente con l'indice.
CREATE INDEX message_created_at_idx on message (created_at DESC NULLS LAST);
... ORDER BY message.created_at DESC; -- defaults to NULLS FIRST when DESC
soluzioni
Se specifichi NULLS nell'indice o nella query, assicurati che siano coerenti tra loro.
cioè:ASC NULLS LAST
è coerente con ASC NULLS LAST
o DESC NULLS FIRST
.
ULTIMI NULL
CREATE INDEX message_created_at_idx on message (created_at DESC NULLS LAST);
... ORDER BY messsage.created_at DESC NULLS LAST;
PRIMA NULLA
CREATE INDEX message_created_at_idx on message (created_at DESC); -- defaults to NULLS FIRST when DESC
... ORDER BY messsage.created_at DESC -- defaults to NULLS FIRST when DESC;
NON NULLO
Se la tua colonna NON è NULL, non preoccuparti di NULLS.
CREATE INDEX message_created_at_idx on message (created_at DESC);
... ORDER BY messsage.created_at DESC;