Lo scopo del OR -- come sospetti -- è gestire il caso in cui ci sono pareggi nei punteggi. L'idea è di creare un ordinamento stabile includendo l'id , quindi questo ottiene tutto dopo (score, id) .
Presumibilmente, i valori usati per score e id sono gli ultimi valori visti (probabilmente nella pagina precedente, ma questa è speculazione).
Un ordinamento "stabile" è quello che restituisce le righe nello stesso ordine ogni volta che viene applicato. Perché le tabelle SQL rappresentano non ordinate set, i pareggi implicano un instabile ordinare. Compreso l'id lo rende stabile (supponendo che id è unico.
Postgres in realtà supporta una sintassi più semplice:
where (score, id) > (11266, 4482)
Nota che ho anche rimosso le virgolette singole. I valori sembrano numeri, quindi dovrebbero essere trattati come numeri e non come stringhe.