Saying that REPLACE is non-destructive is a bit weird. Overwriting data is destructive, by definition -- and even if ARCHIVE is append-only underneath, it seems this use of REPLACE is very much a "logical overwrite", as there doesn't seem to be any kind of time travel view of the old state.
Also, you might be interested in Parquet, perhaps as seen through Delta Lake https://delta.io/ or Postgres Foreign Data Wrappers like https://github.com/adjust/parquet_fdw -- Delta Lake's simple "LSM of Parquet files in an object store" design is pretty sweet.
It’s an excellent alternative to use a WORM drive when you’re trying to preserve everything (say, a list of financial transaction).
I’ve looked for something like this in Postgres (which I love!), but sadly it doesn’t seem supported.
https://dev.mysql.com/doc/refman/8.0/en/archive-storage-engi...