PostgreSQL - Sintaxis de "DISTINCT ON" y "GROUP BY"

Me di cuenta de que una consulta de la base de datos estaba devolviendo resultados inesperados a mi uso incorrecto de "DISTINCT ON" y "GROUP BY"

Espero que alguien pueda aclararme esto. La consulta real es bastante compleja, por lo que voy a hacerla más sencilla:

Tengo una tabla / consulta interna que consta de un object_id y una marca de tiempo:

CREATE TABLE test_select ( object_id INT , event_timestamp timestamp );
COPY test_select (object_id , event_timestamp) FROM stdin (DELIMITER '|');
1           | 2013-01-27 21:01:20
1           | 2012-06-28 14:36:26
1           | 2013-02-21 04:16:48
2           | 2012-06-27 19:53:05
2           | 2013-02-03 17:35:58
3           | 2012-06-14 20:17:00
3           | 2013-02-15 19:03:34
4           | 2012-06-13 13:59:47
4           | 2013-02-23 06:31:16
5           | 2012-07-03 01:45:56
5           | 2012-06-11 21:33:26
\.

Estoy tratando de seleccionar una ID distinta, ordenada / deduplicada por la marca de tiempo en el cronógrafo inverso

por lo que los resultados deben ser [4, 1, 3, 2, 5]

Creo que esto hace lo que necesito (parece que):

SELECT object_id  
FROM test_select 
GROUP BY object_id 
ORDER BY max(event_timestamp) DESC
;

Para fines de prueba / auditoría, a veces quiero incluir el campo de marca de tiempo. Parece que no puedo encontrar la forma de incluir otro campo con esa consulta.

¿Alguien puede señalar problemas evidentes en mi sql arriba, o sugerencias sobre cómo incluir la información de auditoría?

Respuestas a la pregunta(2)

Su respuesta a la pregunta