# "Compress" a string by printing it as a bitstring without the left-most bit of each byte CREATE OR REPLACE FUNCTION sevenbits(str) as ( select string_agg(format('{}', ascii(s)::BITSTRING)[-7:], '') from (select unnest(regexp_extract_all(str, '.')) as s) ); # Undo sevenbits() CREATE OR REPLACE FUNCTION from_sevenbits(str) as ( select string_agg(chr(s::BIT::INT), '') from (select unnest(regexp_extract_all(str, '.......')) as s) ); select from_sevenbits(sevenbits('abracadabra'));