Manejo de paginación con órdenes de clasificación cambiantes

Estoy creando un servicio web RESTful (en Golang) que extrae un conjunto de filas de la base de datos y lo devuelve a un cliente (aplicación de teléfono inteligente o aplicación web). El servicio debe poder proporcionar paginación. El único problema es que estos datos se ordenan en una columna "calculada" que cambia regularmente (por ejemplo, el número de "pulgares arriba" o "pulgares abajo" que tiene un contenido en un sitio web), por lo quelas filas pueden saltar los números de página entre la solicitud de un cliente.

He visto algunas características de PostgreSQL que podría utilizar para ayudarme a resolver este problema, pero nada parece ser una muy buena solución.

Vistas materializadas: para mantener datos "obsoletos" que solo se actualizan de vez en cuando. Esto realmente no resuelve el problema, ya que los datos seguirían saltando si el usuario está buscando en los datos cuando se actualiza la Vista Materializada.Cursores: creados para cada sesión de cliente y mantenidos entre solicitudes. Parece que sería una pesadilla si hay muchas sesiones simultáneas a la vez (que habrá).

¿Alguien tiene alguna sugerencia sobre cómo manejar esto, ya sea del lado del cliente o del lado de la base de datos? ¿Hay algo que realmente pueda hacer, o un problema como este normalmente solo se soluciona por los clientes que consumen los datos?

Editar: Debo mencionar que la aplicación para teléfonos inteligentes permite a los usuarios ver más datos a través del "desplazamiento infinito", por lo que realiza un seguimiento de su propia lista de datos del lado del cliente.

Respuestas a la pregunta(2)

Su respuesta a la pregunta