Create time-space partitions in separate schema
What does this MR do?
With this change, we create partitions in the newly created partitions_dynamic
schema. This is to keep them separate from the public
schema to avoid clutter but one step further, we'll be ignoring objects in partitions_dynamic
from db/structure.sql
and implement automatic partition management as outlined in #220321 (comment 355551291).
We call this "dynamic partitions" because their lifecycle is being managed from the application in a dynamic fashion. This is applicable to time-space partitioning but perhaps also in general for range-based partitioning (think ids).
This is in contrast to "static partitions" which are going to be present in the application schema in structure.sql
and only managed through migrations. For example, this will be the case for HASH
based partitioning because all partitions are created once and we don't have to dynamically create partitions later.
Issue: #220321 (closed)