For large log tables it might make sense to transparently partition them (speeds up lookups and cleanup)
The recall_enable() function could then then get an additional parameter specifying the number of partitions you want (for the given logInterval). If the partition count is set to 1 (default), partitioning won't be enabled for that log table.
The trigger function has to dynamically create new partitions when needed (and could at the same time easily drop old ones, making manual cleanup() calls practically obsolete)
Special care has to be taken to decide on good partition start times as well as a good naming scheme for each of the partitioned tables.
For large log tables it might make sense to transparently partition them (speeds up lookups and cleanup)
The
recall_enable()function could then then get an additional parameter specifying the number of partitions you want (for the given logInterval). If the partition count is set to 1 (default), partitioning won't be enabled for that log table.The trigger function has to dynamically create new partitions when needed (and could at the same time easily drop old ones, making manual
cleanup()calls practically obsolete)Special care has to be taken to decide on good partition start times as well as a good naming scheme for each of the partitioned tables.