On a typical COW filesystem, is the database WAL redundant (in theory)? EDIT: I was incorrectly assuming that all COW filesystems have a WAL. IT seems that BTRFS doesn't, so this question essentially applies only to ZFS.

Typical COW filesystems, like ZFS, have their own form of WAL (ZIL, in the case of ZFS).

On a non-COW filesystem, the DB WAL makes sense for both performance (because it's sequential) and integrity reasons (because of the lack of write integrity guarantees); on a COW filesystem, those roles are fulfilled by the FS (WAL).

Because of this, doesn't storing DB data on a COW filesystem make the DB WAL redundant?
No, because the WAL is also used for restoring from backups -- for example, in case of user error. In combination with a prior full backup, it allows restoring to any point in time -- presumably prior to when the user did something bad.