So I upgraded my PostgreSQL database (around 1.2TB in size) from version 17 to 18 on ZFS on Linux yesterday.
Thanks to OpenZFS' block cloning feature, pg_upgrade can use reflinks, speeding up the process massively.
I wrote about this on the PostgreSQL users mailing list in case this might be interesting to someone, and one of the PG devs answered with additional insights about ZFS reflinks, their syscalls and some additonal tooling tricks with PG on CoW filesystems.
Gotta love OSS!