Un modo semplice è:
select ('x'||lpad(the_hex_value,16,'0'))::bit(64)::bigint;
Il riempimento a sinistra con 0 è necessario perché il bit più a sinistra verrà sempre interpretato come bit del segno. Tieni inoltre presente che bigint
è firmato, postgres non ha tipi non firmati incorporati.