Tengo un servidor con PostgreSQL 8.4 que se reinicia todas las noches a la 01:00 (no pregunte) y necesita obtener una lista de usuarios conectados (es decir, sus marcas de tiempo son u.login > u.logout
) :Seleccione las marcas de tiempo de hoy (desde medianoche) solo
SELECT u.login, u.id, u.first_name
FROM pref_users u
WHERE u.login > u.logout and
u.login > now() - interval '24 hour'
ORDER BY u.login;
login | id | first_name
----------------------------+----------------+-------------
2012-03-14 09:27:33.41645 | OK171511218029 | Alice
2012-03-14 09:51:46.387244 | OK448670789462 | Bob
2012-03-14 09:52:36.738625 | OK5088512947 | Sergej
Pero comparando u.login > now()-interval '24 hour'
también ofrece a los usuarios antes de la última 1:00, lo cual es malo, esp. en las mañanas.
¿Hay alguna manera eficiente de obtener los inicios de sesión desde la última 01:00 sin hacer acrobacias con to_char()
?
Hihi, me encanta el "no preguntes" :) – Mattis