Это делается довольно легко (выведет все уникальные User-Agent из лога):
cat access.log | awk -F'"' '{print $6}' | sort | uniq
Если лог имеет другой формат — заменить $6 на другой порядковый номер столбца.
Узнаём timestamp от интересуещей даты
SELECT
extract( 'epoch' from '2012-02-01'::timestamp without time zone )::integer
(это будет 1325455200
)
Используем generate_series()
SELECT
*
FROM
(
SELECT
date_trunc(
'day',
to_timestamp(
generate_series( 1325455200, 1333691315, 80000 )
)
)::date AS d
) AS s
GROUP BY
s.d
ORDER BY
s.d ASC
В результате получим что-то такое:
2012-01-02
2012-01-03
2012-01-04
2012-01-05
...