Matthew Byrne <mjw(dot)byrne(at)gmail(dot)com> writes:
> Would a more feasible approach be to introduce new types (say, TEXT2 and
> JSONB2 - or something better-sounding) which are the same as the old ones
> but add for support \u0000 and UTF 0? This would isolate nul-containing
> byte arrays to the implementations of those types and keep backward
> compatibility by leaving TEXT and JSONB alone.
The problem is not inside those datatypes; either text or jsonb could
trivially store \0 bytes. The problem is passing such values through
APIs that don't support it. Changing those APIs would affect *all*
datatypes.
regards, tom lane