Uma maneira fácil é:
select ('x'||lpad(the_hex_value,16,'0'))::bit(64)::bigint;
O preenchimento esquerdo com 0 é necessário porque o bit mais à esquerda sempre será interpretado como o bit de sinal. Lembre-se também de que
bigint
é assinado, o postgres não possui tipos não assinados integrados.