Un moyen simple est :
select ('x'||lpad(the_hex_value,16,'0'))::bit(64)::bigint;
Le remplissage à gauche avec 0 est nécessaire car le bit le plus à gauche sera toujours interprété comme le bit de signe. Gardez également à l'esprit que bigint
est signé, postgres n'a pas de types non signés intégrés.