I have some tables which have an extremely high amount of update
activity on them. I have changed autovacuum parameters (cost delay and
limit), and whereas before they would never be vacuumed and bloat they are
running fine. However, as the platform scales, I am afraid I will reach
the same situation. As a result, I have decided to partition the table and add
to each record a partition id, which can be used to route it to the correct
partition. Presently, all of the records reside on what will ultimately
become the parent partition. What would be the best way of moving the data to the
pertinent partitions? I was thinking of copying the data to another table and then
performing a insert into partitionedtableparent select * from temporary table,
and then performing a delete from only partitionedtableparent. Does this sound like a reasonable way of doing this? Is
there a more efficient way of doing this? |