--- now since the lookup table is update, a noop update would get new shards for ids and rebalance them accordingly.test=# update t set id = id ;UPDATE 25
You probably avoid the complications by doing the above, but the amount of bloat you are causing seems excessive.
I’d suggest an approach where you use the table data to build DDL in a form that does adhere to the limitations described in the documentation instead of building you system upon a lie that your immutable function is actually a stable one.
David J.