...
I haven't tried this myself because I rarely had the need to run a pruned node (did it once on a virtual machine where storage space was limited because the host system didn't have enough itself).
From documentation and what has been said about pruned nodes in this forum (I might not have read everything about it) this is my understanding how it works:
Full node switch to pruned:
- no new IBD will happen
- block storage will be pruned to desired limit discarding oldest history, but required data for loaded wallets histories will be kept as needed
Pruned node switch to full/non-pruned:
- a new IBD will be started to fetch the whole blockchain
Pruned node switch to smaller pruned node:
- should be the same as with "Full node to pruned"
Pruned node switch to larger pruned node limits:
- (not sure) likely no new IBD will happen
- Core allows block storage data to grow until new larger limits are reached
- pruned node size grows slowly to new higher limits with new blocks pouring in
- to my best knowledge (could be wrong) no older blockchain history will be downloaded to extend the oldest history data to new higher limits
The storage size requirement for the UTXO set, the chainstate directory, is always the same regardless if full or pruned node and needs currently around ~11GiB (my full node shows currently 10.697GiB space consumption to be more accurate).
I don't see a reason why you can't switch back and forth, whether this makes sense is on another page. I prefer to run a full node because the IBD has to be done anyway and is time and especially I/O demanding. I don't see a good reason to stress my SSD storage with multiple IBDs for no good reasons.