postgresql group datetime by 3 hour intervals code example
Example: postgres group by 10 minute intervals
SELECT COUNT(*) cnt,
to_timestamp(floor((extract('epoch' from timestamp_column) / 600 )) * 600)
AT TIME ZONE 'UTC' as interval_alias
FROM TABLE_NAME GROUP BY interval_alias