Add the ability to add shards to existing list-based, range-based and lookup-based clusters. This can be done online because mappings are explicit and it's possible to spin up a shard without having it accept any reads or writes until the sharding map is updated.
Architecture
We should re-use our existing code and resharding pattern: add another cluster into pgdog.toml with the new config and copy data from source to destination clusters. However, since the two clusters have overlapping nodes, the nodes with data and an existing mapping should be ignored by schema and data syncs and logical replication should only be setup from nodes with data to nodes that don't have any.
Add the ability to add shards to existing list-based, range-based and lookup-based clusters. This can be done online because mappings are explicit and it's possible to spin up a shard without having it accept any reads or writes until the sharding map is updated.
Architecture
We should re-use our existing code and resharding pattern: add another cluster into
pgdog.tomlwith the new config and copy data from source to destination clusters. However, since the two clusters have overlapping nodes, the nodes with data and an existing mapping should be ignored by schema and data syncs and logical replication should only be setup from nodes with data to nodes that don't have any.