Você deve ser capaz de fazer algo como
Select * from observations where <old> group by sensortype, stationid, extract(year_month, measure_date), extract(day_hour, measure_date);
group_by
irá recolher os registros em cada grupo em um. Você pode selecionar isso em uma nova tabela, se desejar. Se você precisar excluir todos os registros antigos redundantes, basta selecionar os números de dados usando a consulta acima e, em seguida, excluir todos os registros
NOT IN(<those ids>)
.