There has been a patch to extend the COPY code with pluggable APIs, adding callbacks at start, end, and for each row processed: https://commitfest.postgresql.org/49/4681/.
I'd guess that this may fit your purpose to add a custom format without having to fork upstream.
I'd guess that this may fit your purpose to add a custom format without having to fork upstream.