Alarme journal table partioning with postgres

I will have a some very large alarm journal tables in PosgreSQL (alarm_events and alarm_event_data with some associated data)

I plan to use postgres db (version 15) partitioning feature.

Does anybody has some feedback on alarms journal tables database partitionning ?

Perhaps something like that could do the job ?

alarm_events : PARTITION BY RANGE (eventtime)
alarm_event_data : PARTITION BY HASH (id)

CREATE TABLE alarm_events_xxx_x PARTITION OF alarm_events 
    FOR VALUES FROM (...) TO (...);
...
CREATE TABLE alarm_event_data _0 PARTITION OF alarm_event_data FOR VALUES WITH (MODULUS 10,REMAINDER 0)
CREATE TABLE alarm_event_data _0 PARTITION OF alarm_event_data FOR VALUES WITH (MODULUS 10,REMAINDER 1)
...

:thinking: I don't known what's the best way to partition alarm_event_data table in order to keep good query response time.

1 Like